『壹』 android數據存儲之File總結
在使用File存儲App數據時,我們需要了解Android系統的存儲系統。Android的存儲分為內部存儲和外部存儲。
由於Android系統的廠商比較多,對於外部存儲目錄的定義有所不同,可能在根目錄下的mnt,sdcard和storage下。以storage為例,打開emulated/0目錄,外部存儲目錄就出現了。雖然可以通過多種路徑打開外部存儲文件,但是最終他們的路徑是相同的:
mnt:
storage:
sdcard:
外部存儲目錄下包含兩大類:公有目錄和私有目錄
私有目錄:
對比下來External有以下幾點優點:
缺點:
內部存儲與外部存儲許可權申請對比如下:
首先我們要獲取外部存儲目標文件的路徑:
然後確定自己需要創建的文件名,結合上面的到的路徑,創建一個File對象:
Android系統默認數據清理的路徑是,內部存儲目錄中相應的cache文件夾中的文件和外部存儲中相應的cache文件夾中的文件。
你的app的internal storage 目錄是以你的app的包名作為標識存放在Android文件系統的特定目錄下[data/data/com.example.xx]。 從技術上講,如果你設置文件為可讀的,那麼其他app就可以讀取你的internal文件。然而,其他app需要知道你的包名與文件名。若是你沒有設置為可讀或者可寫,其他app是沒有辦法讀寫的。因此只要你使用MODE_PRIVATE ,那麼這些文件就不可能被其他app所訪問。
另外記住一點,內部存儲在你的APP卸載的時候,會一塊被刪除,因此,我們可以在cache目錄裡面放置我們的圖片緩存,而且cache與files的差別在於,如果手機的內部存儲空間不夠了,會自行選擇cache目錄進行刪除,因此,不要把重要的文件放在cache文件裡面,可以放置在files裡面,因為這個文件只有在APP被卸載的時候才會被刪除。還有要注意的一點是,如果應用程序是更新操作,內部存儲不會被刪除,區別於被用戶手動卸載。
不管你是使用 () 來存儲可以共享的文件,還是使用 getExternalFilesDir() 來儲存那些對於你的app來說是私有的文件,有一點很重要,那就是你要使用那些類似DIRECTORY_PICTURES 的API的常量。那些目錄類型參數可以確保那些文件被系統正確的對待。例如,那些以DIRECTORY_RINGTONES 類型保存的文件就會被系統的media scanner認為是ringtone而不是音樂。
在開發中,不建議往內部存儲中寫太多的數據,畢竟空間有限。外部存儲在使用的時候最好能夠將文件存放在私有目錄下,這樣有利於系統維護,也避免用戶的反感。
徹底理解android中的內部存儲與外部存儲
Android存儲挖坑記
緩存文件可以放在哪裡?它們各自的特點是什麼
『貳』 安卓操作系統的盤符格式是什麼FAT32還是NTFS
你的問法有問題,操作系統的盤符格式專業術語叫做「文件系統」,安卓用的是linux文件系統ext,ext2,ext3,但是余如安卓不支持NTFS文件系統,解納亂決方法如下:
1、首先打開我的電腦,找到當前系統的分區類型,查看磁碟信息。
『叄』 安卓系統的手機支持讀取什麼格式的內存,除fat32外。
安卓系統支持的文件系統格式,除FAT32外,還有FAT,也就是FAT16。不支持常見的NTFS。但FAT16支持最大分區2GB,最大文件2GB,已經基本上淘汰了,所以還是要使用FAT32。
最常見的文件系統的特點和限制如下:
FAT32:這個一般是針對小硬碟的,比如40G。優點是兼容性最好,蘋果、手機都能讀,缺點是單個文件不能大於4GB。
NTFS:這個是目前在PC機上使用最廣泛的格式,單個文件超過4G毫無問題。缺點是讀寫頻繁,不適合在U盤等快閃記憶體檔使用。移動硬碟推薦用這個。
EXFAT:這個是微軟為解決FAT32的缺點特別推出的,快閃記憶體檔專用。既沒有NTFS的壽命短的缺點,也能放大文件。快閃記憶體檔首選。但這種格式的最大缺點是兼容性最差,很多智能設備甚至操作系統都不能識別,SP3以前版本的XP也不能識別。