android获取各种路径的方法

android获取各种系统路径的方法

获取路径的途径:  Context获取 和 Environment获取
  • 通过Context获取的
Tables Are
Context.getPackageResourcePath() 获取该程序的安装包路径 : /data/app/com.jhk.androidstudy-2/base.apk
Context.getPackageName() 用于获取APP的所在包目录 : com.jhk.androidstudy
Context.getPackageCodePath() 用来获得当前应用程序对应的 apk 文件的路径 : /data/app/com.jhk.androidstudy-2/base.apk
Context.getDatabasePath() 返回通过Context.openOrCreateDatabase 创建的数据库文件
Context.getFilesDir().getPath() 用于获取APP的files目录 /data/data//files
Context.getCacheDir().getPath() 用于获取APP的cache目录 /data/data//cache目录
Context.getExternalCacheDir().getPath() 用于获取APP的在SD卡中的cache目录/mnt/sdcard/Android/data//cache
Context.getObbDir().getPath() 用于获取APP SDK中的obb目录 /mnt/sdcard/Android/obb/

- 通过Environment获取的

Tables Are
Environment.getDataDirectory().getPath() 获得根目录/data (内部存储路径)
Environment.getDownloadCacheDirectory().getPath() 获得缓存目录/cache
Environment.getExternalStorageDirectory().getPath() 获得SD卡目录/mnt/sdcard(获取的是手机外置sd卡的路径)
Environment.getRootDirectory().getPath() 获得系统目录/system

- 三种路径:
1. /data/data/package_name/ 该目录是只对应用可见的,而且如果手机没有root,用adb也是看不了这个目录,该目录用来存储和应用周期相关的文件,会随着应用的卸载一起删除掉
- /data/data/com.android.framework/shared_prefs/ 用来存储SharedPreference
- /data/data/com.android.framework/databases/ 用来存储数据库DB,相关函数还有getDatabasePath()
- /data/data/com.android.framework/app_webview 和 /data/data/package_name/xxxwebviewcachexxx 用来存储应用内置webview所产生的cache和cookies等,该目录由于android版本不同名字和位置也可能不同
- /data/data/com.android.framework/lib 用来存储该应用的.so静态库文件
- /data/data/com.android.framework/cache 该目录可以使用函数getCacheDir()获取
- data/data/com.android.framework/files 该目录可以使用函数getFilesDir()获取,openFileInput()和openFileOutput()函数也是在该目录下操作文件,fileList()函数是用来列出该files目录下的所有文件,deleteFile(String name)用来删除该files目录下的文件
- /data/data/com.android.framework/ 这个目录下面当然也能够创建子集的目录,使用的方法就是getDir(String name, int mode),参数中的name就是需要在该目录下创建的子目录名字,你如果能够打开应用的该目录,一般会在该目录下看到很多子目录
- getPackageCodePath() = /data/app/com.android.framework-1.apk
- getPackageResourcePath() = /data/app/com.android.framework-1.apk
2.

你可能感兴趣的:(学习笔记)