国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android 存儲路徑選擇方法

2019-10-21 21:43:23
字體:
來源:轉載
供稿:網友

Android能用來存儲的地方有兩個,一個是手機內置的存儲空間,一個是外置的SD卡,內置的存儲空間一般比較小,所以應用的緩存建議存儲在外置的SD卡中。

在Android系統中如何獲得存儲的路徑呢?

 public static void getRootPath(Context context) {  Log.d("ExternalDirectory->", Environment.getExternalStorageDirectory().getPath());  Log.d("ExternalCacheDir->", context.getExternalCacheDir().getPath());  Log.d("CacheDir->", context.getCacheDir().getPath());  Log.d("FilesDir->", context.getFilesDir().getPath()); }

以上對應的輸出結果為

ExternalDirectory->: /storage/emulated/0 ExternalCacheDir->: /storage/emulated/0/Android/data/zhuwentao.com.pathdemo/cache CacheDir->: /data/data/zhuwentao.com.pathdemo/cache FilesDir->: /data/data/zhuwentao.com.pathdemo/files

應用的緩存建議存儲在通過getExternalCacheDir().getPath()獲取的路徑中,這里的zhuwentao.com.pathdemo會根據你的應用程序包名不同會有差別,存在這個路徑,主要有以下幾個好處

一:該路徑是在SD卡中,所以不用擔心手機內置存儲空間不足,只要SD卡夠大就行。

二:該路徑是Android系統默認的應用緩存路徑,對應手機應用設置里面應用詳情的“清除緩存”和“清除數據”按鈕。

三:當我們卸載應用時,該路徑下的數據也會被清空,這樣就避免了有些應用卸載后還有殘留數據的問題。

如果需要保存用戶下載的數據,就不建議存儲在getExternalCacheDir()中了,可以在Environment.getExternalStorageDirectory()下新建一個文件夾,用來存儲用戶下載的數據。

我們在選擇存儲路徑的時候,還要考慮到用戶的手機是否有SD卡,再進行選擇,通過以下代碼判斷用戶是否有SD卡:

 /**  * 獲取手機可存儲路徑  * @param context 上下文  * @return 手機可存儲路徑  */ public static String getRootPath(Context context) {  // 是否有SD卡  if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)    || !Environment.isExternalStorageRemovable()) {   return context.getExternalCacheDir().getPath(); // 有  } else {   return context.getCacheDir().getPath(); // 無  } }

如果有SD卡或者SD卡不可被移除的時候則獲取SD卡下的路徑,沒有則獲取應用程序緩存路徑。

有時候getExternalStorageDirectory()怎么也獲取不到外置SD卡,這是為何呢?

在Android4.0之前Environment.getExternalStorageDirectory()獲取到的是外置SD卡路徑,而在4.0之后由于很多手機的自帶內存已經很大了,不需要外置SD卡,所以Android就把內置的內存分一部分出來當作SD卡使用了,導致不同版本的Android系統獲取到的SD卡路徑會存在差異。

需要注意的是,各個手機廠商的SD卡路徑也是會存在差異的,有些手機獲取到的路徑是“/mnt/sdcard/…”,而有的獲取的是“/storage/sdcard0/…”所以絕對不能寫死SD卡的路徑。

以上這篇Android 存儲路徑選擇方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 徐汇区| 县级市| 洪雅县| 五家渠市| 泾源县| 黎城县| 和平区| 佛冈县| 阿拉尔市| 乐都县| 玛纳斯县| 嘉荫县| 大宁县| 元朗区| 深水埗区| 双桥区| 满城县| 贡觉县| 贵溪市| 阳原县| 威远县| 滦平县| 晋中市| 额济纳旗| 沂水县| 大邑县| 永嘉县| 平潭县| 廉江市| 仙桃市| 安仁县| 武汉市| 中牟县| 南京市| 车致| 长岛县| 靖西县| 凤山市| 芮城县| 南皮县| 大宁县|