App檔案儲存 getFilesDir()--getExternalFilesDir()
本文出自 “阿拉燈神燈” 部落格,出處http://blog.csdn.net/nugongahou110
App專屬檔案 vs App獨立檔案
app專屬檔案就是那些只有該app才可以使用的檔案,例如專屬格式的電子書,app獨立檔案就是那些不依賴於某特定app的檔案,例如照片。
App獨立檔案
這類檔案當我們刪除應用之後,還應該保留在手機上的,例如拍照的照片,不應該隨著刪除應用而被刪除掉。對於這類檔案,Android給我們提供了特定的目錄,這些目錄都是以DIRECTORY開頭的,例如:DIRECTORY_MUSIC , DIRECTORY_PICTURES.
訪問這些資料夾有兩種方式:
1.File sdCard = Environment.getExternalStorageDirectory();
2.File directory_pictures = Environment.getExternalStoragePublicDirectory("新增公共目錄://");
獲得得路徑都為:/mnt/sdcard/
App專屬檔案
這類檔案應該是隨著app刪除而一起刪除的,它們可以被儲存在兩個地方:internal storage 和 external storage 。 internal storage就是手機自帶的一塊儲存區域,通常很小;external storage就是通常所說的SD卡,通常很大,有16GB,32GB等。
internal storage很小,所以你就應該很正確的使用它,因為SD卡有可能會被使用者卸下,換成新的,所以SD卡不是任何時間都可用的,因此我們必須將一些重要的資料庫檔案以及一些使用者配置檔案存放在internal storage中。將一些大的圖片或檔案等快取放到external storage中。
儲存在internal storage
這是你app私有的目錄,你的shared preference檔案,資料庫檔案,都儲存在這裡。目錄為data/data/< package name >/files/
訪問方法為:
File filesDir = getFilesDir();
獲得得路徑為:/data/data/< package name >/files/
儲存在external storage
這類檔案不應該存在SD卡的根目錄下,而應該存在mnt/sdcard/Android/data/< package name >/files/…這個目錄下。這類檔案應該隨著App的刪除而一起刪除。例如一種格式的電子書,只有該app才可以開啟,如果使用者刪除了該app,那麼留下來的電子書就成為了一種無法開啟的垃圾檔案,所以應該隨著該app一起刪除掉。
獲得這個路徑的方法:
File externalFilesDir = getExternalFilesDir();
獲得得路徑為:/mnt/sdcard/Android/data/< package name >/files/另:
通過Context.getExternalFilesDir()方法可以獲取到 SDCard/Android/data/{package_name}/files/ ,儲存一些長時間儲存的資料;
通過Context.getExternalCacheDir()方法可以獲取到 SDCard/Android/data/{package_name}/cache/,儲存臨時快取資料;
相關文章
- 塊儲存 檔案儲存 物件儲存物件
- 檔案儲存
- 資料儲存--檔案儲存
- CSV檔案儲存
- Flutter持久化儲存之檔案儲存Flutter持久化
- Android 檔案儲存Android
- hive檔案儲存格式Hive
- 儲存檔案到本地
- InnoDB儲存引擎檔案儲存引擎
- 06、hdfs檔案儲存
- android: 檔案儲存Android
- 儲存json檔案JSON
- 物件儲存 vs 檔案儲存 vs 塊儲存,選哪個?物件
- RAC歸檔配置方案:使用NFS共享儲存儲存歸檔檔案NFS
- IOS資料儲存之檔案沙盒儲存iOS
- 企業檔案安全儲存
- IPFS的檔案儲存模式模式
- 修改並儲存hosts檔案
- CIFS檔案的儲存————SMB
- Android中的資料儲存之檔案儲存Android
- Matlab將.mat檔案儲存為.txt檔案Matlab
- 如何將MAC的檔案儲存至NAS網路儲存?Mac
- CEPH分散式儲存搭建(物件、塊、檔案三大儲存)分散式物件
- Android 檔案儲存淺析Android
- python 儲存檔案jsonPythonJSON
- Python -讀取,儲存檔案Python
- SAPI訓練檔案儲存位置API
- store下載檔案儲存位置
- 載入和儲存properties檔案
- 檔案系統儲存與oracle資料庫儲存對比Oracle資料庫
- Springboot整合MongoDB儲存檔案、讀取檔案Spring BootMongoDB
- 資料儲存(歸檔解檔,沙河儲存)
- 使用 Docker 搭建 minio 檔案儲存Docker
- Laravel 整合 GitHub 來儲存檔案.mdLaravelGithub
- python如何分散式儲存檔案?Python分散式
- 儲存文字到一個檔案裡
- Azure Terraform(四)狀態檔案儲存ORM
- Yoink for Mac(臨時檔案儲存助手)Mac