#author("2024-07-25T13:08:47+08:00","default:Admin","Admin")
#author("2024-07-25T13:09:19+08:00","default:Admin","Admin")
[[Android]]

&color(red){※前提条件:本情報はAndroid Studio 2024.1.1を基づいて説明してる};

#contents

* 常用路径 [#ee9c698d]

通过Context.getExternalFilesDir ()方法可以获取到 SDCard/Android/data/你的应用的包名/files/ 目录,一般放一些长时间保存的数据 
通过Context.getExternalCacheDir ()方法可以获取到 SDCard/Android/data/你的应用包名/cache/目录,一般存放临时缓存数据.

如果使用上面的方法,当你的应用在被用户卸载后,SDCard/Android/data/你的应用的包名/ 这个目录下的所有文件都会被删除,不会留下垃圾信息。

#codeprettify{{
 
Environment.getDataDirectory() = /data
	
Environment.getDownloadCacheDirectory() = /cache
	 
Environment.getExternalStorageDirectory() = /storage/emulated/0
	 
Environment.getExternalStoragePublicDirectory(“test”) =/storage/emulated/0/test
	 
Environment.getRootDirectory() = /system
	 
getPackageCodePath() = /data/app/包名-1/base.apk
	 
getPackageResourcePath() = /data/app/包名-1/base.apk
	 
getCacheDir() =/data/user/0/包名/cache

getDataDir():/data/user/0/包名  (API 24 新增)
	 
getDatabasePath(“test”) = /data/user/0/包名/databases/test
	 
getDir(“test”, Context.MODE_PRIVATE)=/data/user/0/包名/app_test
	 
getExternalCacheDir() =/storage/emulated/0/Android/data/包名/cache
	 
getExternalFilesDir(“test”)=  /storage/emulated/0/Android/data/包名/files/test
	 
getExternalFilesDir(null) =/storage/emulated/0/Android/data/包名/files
	 
getFilesDir() = /data/user/0/包名/files
 
}}

* /data/data,/data/user/0 [#ac798acd]

实际是挂载在/data/user/0上,/data/data软连接到前者,所以路径才有了以上的差异,不同手机显示不同,但是实际上都指向同个路径

#hr();
コメント:
#comment_kcaptcha

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS