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

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

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

更多相关文章

  1. Android开发者必备的十个工具
  2. Ubuntu下搭建Android(安卓)NDK开发环境
  3. android
  4. android 获取路径目录方法以及判断目录是否存在,创建目录
  5. What is Android?
  6. Android命令行获取WiFi列表以及参数
  7. android 获取路径目录方法以及判断目录是否存在,创建目录
  8. android 显示系统 surfaceflinger 分析
  9. Android运行机制

随机推荐

  1. Android 保存图片到图库
  2. Android TableLayout的使用
  3. Android UI 开发入门—线性布局
  4. android处理单击双击和滑动事件
  5. Android Studio 闪退卡死的问题
  6. android 加载图片并在上面画图
  7. SeekBar的使用
  8. Android事件处理(6)
  9. Android Matrix矩阵详解
  10. android studio使用espresso做自动化测试