android 目錄結構 和 文件存儲

在這裏插入圖片描述
系統目錄結構:

  • /system 系統目錄,例如系統軟件,字體,媒體,屬性等基本信息

  • /data/data 目錄,,這裏包含了app的數據、文件、數據庫等信息,並且以包名的形式來區分各個應用。既然提到這個目錄,我就補充一下。在這個目錄下,找到自己項目的包名,然後出現以下的目錄結構:
    -在這裏插入圖片描述
    /data/data/package-name/database 下存放着項目的數據庫文件(.db文件)。
    /data/data/package-name/database 下存放着項目的以SharedPrefrence形式保存的文件(.xml文件)

  • /data/app/目錄 用戶安裝的app或者是升級的app文件

  • /data/system/目錄 這裏存放着手機各項的系統信息。

  • /data/misc/目錄 這裏存放着大部分的WIFI、VPN信息。

  • /cache 此目錄存放着是臨時緩存的文件。

  • /etc 目錄 這裏存放了系統中幾乎所有的配置文件。

/sdcard/storage/self/primary 的一個符號鏈接
/storage/self/primary/mnt/usr/0/primary 的一個符號鏈接
/storage/emulated/0/mnt/usr/0/primary 的一個分區

參考博客:https://blog.csdn.net/qq_39074954/article/details/97613088

getCacheDir()、getFilesDir()、getExternalFilesDir()、getExternalCacheDir()

Cache和Files 二個目錄分別對應 設置->應用->應用詳情裏面的”清除數據“與”清除緩存“選項

getxxxDir():對應/data/data/package-name/xxx
getExternalxxxDir():對應/sdcard/Android/data/package-name/xxx

下面以Package-name爲:com.learn.test開始講解

內部存儲:

Environment.getDataDirectory():      /data
Context.getCacheDir():               /data/data/com.learn.test/cache
Context.getFilesDir():               /data/data/com.learn.test/files
Context.getFileStreamPath(""):       /data/data/com.learn.test/files
Context.getFileStreamPath("test"):   /data/data/com.learn.test/files/test

外部存儲

Environment.getExternalStorageDirectory():	/sdcard
Context.getExternalCacheDir():				/sdcard/Android/data/com.learn.test/cache
Context.getExternalFilesDir(""):			/sdcard/Android/data/com.learn.test/files
Context.getExternalFilesDir("test"):		/sdcard/Android/data/com.learn.test/files/test

以上文件的內容會隨着我們卸載應用而自動刪除。如果我們在外部存儲上新建任何文件夾,則需要手動清理,系統並不會因爲卸載而刪除。
公共存儲目錄

Environment.getExternalStorageDirectory():            	/sdcard
Environment.getExternalStoragePublicDirectory(""):      /sdcard
Environment.getExternalStoragePublicDirectory("test"): 	/sdcard/est

博客參考:https://blog.csdn.net/Kelaker/article/details/80471352

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章