分类:Android技巧经验新手入门
1464人阅读 评论(0) 收藏 举报

原创文章,如有转载,请注明出处:http://blog.csdn.net/yihui823/article/details/6722456

Android的每个应用程序,都有自己的可控的目录。

在Setting/Application info里面,可以看到每个应用程序,都有Clear data和Clear cache选项。

Android应用程序的数据存放目录 路径

具体这些目录在哪里呢?

用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

更多相关文章

  1. Android一级目录介绍
  2. 如何使Android应用程序获取系统权限
  3. Android从文件目录中写入和读取图片
  4. 学习目录
  5. Android工具之Hierarchy Viewer--分析应用程序UI布局

随机推荐

  1. android 分析method profiling
  2. Android推送方案分析(MQTT/XMPP/GCM)
  3. android java 设计模式详解 Demo
  4. Android百度地图定位多处回调调用问题
  5. Android中printf和LOGE区别
  6. Android(安卓)微信支付成功后返回App没有
  7. Android应用开发以及设计思想深度剖析(5)
  8. android嵌入lua
  9. [Android]读取自身安装包信息
  10. android 系统