Android APP 数据存放目录 |
您所在的位置:网站首页 › 安卓应用的文件存在哪里最安全 › Android APP 数据存放目录 |
Android的每个应用程序,都有自己的可控的目录。 在Setting/Application info里面,可以看到每个应用程序,都有Clear data和Clear cache选项。 具体这些目录在哪里呢? 用adb连接上设备。如果是连接真实设备,需要有设备的root权限。 cd data/data 在这个目录下,可以看到每个应用程序都有自己的目录,目录名就是应用程序在AndroidManifest.xml文件中定义的包。 在每个目录下,一般有这么几个子目录: databases : 存放数据库 cache : 存放缓存数据 files : 存放应用程序自己控制的文件 lib : 存放使用的包
每个应用程序的代码,对自己的目录是有绝对的控制权限的。 这几个目录可以在Activity中这么取得: Context cont = this.getApplicationContext(); Log.d("TemppjActivity", "cont.getCacheDir() = " + cont.getCacheDir()); Log.d("TemppjActivity", "cont.getDatabasePath("temp") = " + cont.getDatabasePath("temp")); Log.d("TemppjActivity", "cont.getFilesDir() = " + cont.getFilesDir()); 其中数据库路径是需要传入数据库名称的,返回值如下: 08-26 08:04:01.049: DEBUG/TemppjActivity(330): cont.getCacheDir() = /data/data/com.study/cache 08-26 08:04:01.049: DEBUG/TemppjActivity(330): cont.getDatabasePath("temp") =/data/data/com.study/databases/temp 08-26 08:04:01.099: DEBUG/TemppjActivity(330): cont.getFilesDir() = /data/data/com.study/files 另外,可以取得自身的apk的路径。 Log.d("TemppjActivity", "cont.getPackageCodePath() = " + cont.getPackageCodePath()); Log.d("TemppjActivity", "cont.getPackageResourcePath() = " + cont.getPackageResourcePath()); 结果: 08-26 08:04:01.099: DEBUG/TemppjActivity(330): cont.getPackageCodePath() = /data/app/com.study-1.apk 08-26 08:04:01.099: DEBUG/TemppjActivity(330): cont.getPackageResourcePath() = /data/app/com.study-1.apk
转载自:http://blog.csdn.net/yihui823/article/details/6722456 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |