Android系統的數據存儲第三種方式是External Storage,便是外部存儲。android
外部存儲一般存儲的是公共的數據,存儲位置是在擴展卡或SD卡上,存儲目錄:/mnt/sdcard/Android/data/包名/cache,注:測試使用的是系統自帶的模擬器。算法
外部存儲不是必須的,同時存儲在擴展卡上的數據是不安全的,由於全部的程序均可以訪問擴展卡上的數據,對數據進行讀寫操做。緩存
1.使用外部存儲須要添加相應的全選,如READ_EXTERNAL_STORAGE 或者 WRITE_EXTERANL_STORAGE,必須的。安全
eg:測試
2.必需要判斷擴展卡是否掛載,由於擴展卡對於android系統來講不是必須的,它是外置的。spa
本身寫的一個判斷例子:3d
官方文檔的判斷例子:blog
這裏:getExternalStorageState()返回了一個字符串常量,用來描述擴展卡的狀態。圖片
3.判斷擴展卡的空間是否夠用(可選)文檔
4.保存圖片到擴展卡(可選)
5.保存圖片到擴展卡(可選)
6.從擴展卡讀取圖片(可選)
7.清空擴展卡
8.獲取文件的name
注意:爲了是文件的名稱具備惟一性,這裏能夠使用MD5算法將一個name字符串對應一個惟一的字符串。
9.關於外部存儲的緩存
context.getExternalCacheDir()
eg:
打開File Explore 查看:
該文件是在/mnt/sdcard/Android/data/com.tostrary.SharedPreferences/cache/目錄下
導出文件查看:
10.外部存儲經常使用方法
getExternalStoragePublicDirectory()
getExternalFilesDir()
getExternalFilesDirs()
getExternalCacheDirs()
未完,待續。