Android學習整理 -12-Android的存儲訪問及目錄API


Android學習整理 - 系列


本篇只針對API19及以上

訪問外部存儲的權限

  • API19開始,應用可以管路在它外部儲存的特定包名目錄,而不需要聲明讀寫權限,比如,包明為com.mimminaya.permission的應用,可以自由訪問外部儲存卡上的Android/data/com.minminaya.permission/[]目錄

外部存儲對數據提供的保護較少,所以系統不應該存儲敏感數據在外部存儲上。
特別地,配置和log文件應該存儲在內部存儲中,這樣它們可以被有效地保護。

Environment API的目錄

        //外置內存卡根,為避免污染用戶根命名控件,不推薦使用,加文件夾
        Log.e(TAG, "/storage/181C-0A4B路徑:" + Environment.getExternalStorageDirectory().toString());
        Log.e(TAG, "/storage/181C-0A4B/Download路徑:" + Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS).toString());
        
        Log.e(TAG, "/data路徑:" + Environment.getDataDirectory().toString());
        Log.e(TAG, "/cache路徑:" + Environment.getDownloadCacheDirectory().toString());
        Log.e(TAG, "/system路徑:" + Environment.getRootDirectory().toString());

Context下的目錄

這些目錄推薦存放一些內部數據,且不需要聲明權限(包名目錄下)

外置卡上的

        
        Log.e(TAG, "/storage/181C-0A4B/Android/data/com.minminaya.permission1/cache路徑:" + getExternalCacheDir());
        Log.e(TAG, "/storage/181C-0A4B/Android/data/com.minminaya.permission1/files/Download路徑:" + getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS));

任何應用私有的文件的應該被放置在 Context.getExternalFilesDir返回的目錄下,在應用被卸載的時候,系統會清理的就是這個目錄。

內存上的

        Log.e(TAG, "內存上的{包名/files}路徑:" +getFilesDir());
        Log.e(TAG, "內存上的{包名/cache}路徑:" +getCacheDir());

注意

華為手機如果在存儲里面設置默認存儲為外置卡,則內置外置內存卡目錄掛載將變換

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容