关于文件存储
android系統是基于linux的,所以他的文件結構是類似的。
Android支持在SD卡上的應用私有目錄,在Froyo版本后,通過getExternalFilesDir()可以獲得具體路徑。該路徑依賴與應用的包名,如果你包為hello.file那么SD開上的應用私有目錄為\mnt\sdcard\Android\data\hello.file\files\.如果希望存儲在SD卡上的公共目錄下,可以通過getExternalStoragePublicDirectory()公共目錄的具體路徑視需要存儲的文件類型而定。
SD上的應用需要的緩存較大,也可以在SD卡上建立緩存目錄,在Froyo版本后,通過getExternalCacheDir()可以獲取應用在SD卡上的緩存路徑。在使用SD卡目錄時,需注意SD卡是否掛載,可通過Environment.getExternalStorageState()方法進行判斷,如果返回值為Envirnment.MEDIA_MOUNTED表示SD卡處于掛載狀態,可以放心使用。
?
一、存貯模式有
1.Context.MODE_PRIVATE:私有覆蓋模式 ? ? - ?rw- ?rw- ?---
只能被當前應用訪問,并且如果寫入,則覆蓋;
2.Context.MODE_APPEND:私有追加模式 ? ?? - ? rw- ?rw- ?---
只能被當前應用訪問,并且如果寫入,則追加;
3.Context,MODE_WORLD_READABLE:公有只讀模式 ? ? ?- ?rw- ?rw- ? r--
可以被其他應用讀取;
4.Context.MODE_WORLD_WRITEABLE:公有可寫模式 ? ? - rw- ? rw- ?-w-
可以被其他應用寫入,但不能讀取;
?
二、?SharedPreferences 存儲?
該數據存放在\data\data\包.名\shared_prefs文件夾下,文件擴展名為.xml。
數據以這種形式存儲: ?
<map><boolean name="firstFlag" value="true" /></map>?
三、getExternalFilesDir()與getExternalStorageDirectory()區別
getExternalFilesDir()獲取應用程序下的存儲目錄,/data/data/your_package/,隨著應用的卸載存儲的文件被刪除
getExternalStorageDirectory()獲取sd卡根目錄,跟應用的是否卸載無關。
?
轉載于:https://www.cnblogs.com/weidingqiang/p/5019462.html
總結
- 上一篇: Android编译系统入门(二)
- 下一篇: HashSet中是如何判断元素是否重复的