版权声明:本文为作者原创,转载必须注明出处。
转载请注明出处:http://08643.cn/p/7b948b47e986
Android设置中中清除数据:
清理掉的数据路径:
1、内部存储:data\data\下的包名文件夹会被整个清除掉
2、外部存储:mnt\sdcard\Android\data\包名文件夹会被整个清除掉
不会被清理掉的数据路径:
外部存储:mnt\sdcard\Android\除了对于包名之外的所有文件及文件夹都不会被清掉
对于内部存储:获取data\data\包名\files ?目录下的文件流
context.openFileOutput 写
context.openFileInput 读
判断有无sdcard:
android.os.Environment.getExternalStorageState().equals(
android.os.Environment.MEDIA_MOUNTED);
android获取目录的系统方法:
一、内部存储(通过context获?。?/p>
Context.getDatabasePath()???????????????????????????????????????????????????返回通过Context.openOrCreateDatabase?创建的数据库文件
Context.getCacheDir().getPath()?:??????????????????????????????????????????用于获取APP的cache目录?/data/data//cache目录
Context.getExternalCacheDir().getPath()??:????????????????????????????用于获取APP的在SD卡中的cache目录/mnt/sdcard/Android/data//cache ?不对
应该是/storage/emulated/0/Android/data/app_package_name/cache
Context.getFilesDir().getPath()??:???????????????????????????????????????????用于获取APP的files目录?/data/data//files
Context.getObbDir().getPath():?????????????????????????????????????????????用于获取APPSDK中的obb目录?/mnt/sdcard/Android/obb/
Context.getPackageName()?:????????????????????????????????????????????????用于获取APP的所在包目录
Context.getPackageCodePath()??:?????????????????????????????????????????来获得当前应用程序对应的?apk?文件的路径
Context.getPackageResourcePath()?:????????????????????????????????????获取该程序的安装包路径
二、外部存储(Environment获?。?/p>
Environment.getDataDirectory().getPath()?:??????????????????????????获得根目录/data?内部存储路径
Environment.getDownloadCacheDirectory().getPath()??:??????获得缓存目录/cache
Environment.getExternalStorageDirectory().getPath():?????????获得SD卡目录/mnt/sdcard(获取的是手机外置sd卡的路径)
Environment.getRootDirectory().getPath()?:??????????????????????????获得系统目录/system
SD卡缓存目录
当应用需要将图片或者文件缓存到SD卡中时要去申请创建目录,有下面几种途径
我们可以通过API调用应用专属目录:
//?/storage/emulated/0/Android/data/app_package_name/files/Pictures
Content.getExternalFilesDir(Environment.DIRECTORY_PICTURES);
//?/storage/emulated/0/Android/data/app_package_name/cache
Content.getExternalCacheDir();
上面两个目录是专属于当前app的,当应用被删除时,上面目录下的文件也会清空
内存缓存目录
相对于应用的专属SD卡缓存有两个内存缓存地址:
Content.?getCacheDir();?//? /data/data/app_package_name/cache
Content.?getFilesDir();?//? /data/data/app_package_name/files