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/cache08-26 08:04:01.049: DEBUG/TemppjActivity(330): cont.getDatabasePath("temp") =/data/data/com.study/databases/temp08-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

android 程序数据目录,Android APP 数据存放目录相关推荐

  1. 《Android 应用案例开发大全(第二版)》——1.5节第一个Android程序——Hello Android...

    本节书摘来自异步社区<Android 应用案例开发大全(第二版)>一书中的第1章,第1.5节第一个Android程序--Hello Android ,作者 吴亚峰 , 于复兴 , 杜化美, ...

  2. 【Android 逆向】Android 系统文件分析 ( /system/ 系统命令和系统应用数据目录 | /system/app/ 系统应用目录 | sys Linux 系统内核文件目录 )

    文章目录 一.system 系统命令和系统应用数据目录 1./system/app/ 系统应用目录 2./system/framework/ 框架目录 3./system/font/ 字体目录 二.s ...

  3. android 程序等待时间,Android开发学习之路--性能优化之常用工具

    Android性能优化相关的开发工具有很多很多种,这里对如下六个工具做个简单的使用介绍,主要有Android开发者选项,分析具体耗时的Trace view,布局复杂度工具Hierarchy View, ...

  4. android 程序运行,Android如何保持程序一直运行

    在正常情况下,Android系统会让程序和服务进入休眠状态以节约电量使用.然而在开发Android程序时,有时候在程序运行的时候,不能让系统休眠,否则有一些运行会停止,因此我们需要设置禁止休眠. An ...

  5. android 程序颜色,android – 以编程方式设置scrim颜色

    我正在尝试以编程方式设置AppBarLayout的主要颜色. XML布局是 AndroidStudio的Scrolling示例: android:fitsSystemWindows="tru ...

  6. MAC系统利用charles抓取微信小程序和手机APP数据包(http和https数据包)

    本文中使用的是mac上的抓包工具charles进行抓包,手机是华为荣耀8 下载并安装Charles for Mac Charles for Mac(HTTP信息抓包工具) V4.2.5 苹果电脑版 要 ...

  7. android程序名称,Android应用程序名称带上标

    您需要使用ISO-8859-1 / UTF-8字符来完成插入(在您的情况下)上标3. 清单 HTML ISO-8859-1 Reference个实体. 例如在AndroidManifest.xml中 ...

  8. Android 不Root查看App /data/data/目录文件

    条件: 首先必须是Android Debug签名的应用才可以 adb shell run-as 应用包名 cd /data/data/应用包名

  9. android 程序分身,Android应用分身检测

    最近app在推广过程中发现有大量的用户使用小号来领取邀请奖励,而小号的操作往往是利用多开软件开启应用分身来登录.为此,我需要区分出本体和克隆体. 当今市面上流行的分身主要有三类 1.修改Framewo ...

最新文章

  1. mysql 5.6 uf8mb4_MySQL5.7升级到8.0过程详解
  2. MVP在Android平台上的应用
  3. 利用Python中的numpy.ndarray.reshape()对阵列形状进行调整
  4. 膨胀的计算机仿真,制冷空调中的计算机仿真与控制
  5. Android深入浅出系列之实例应用—手机页面之间的跳转
  6. 【硬盘整理】使用UltimateDefrag将常用文件放置在磁盘最外圈
  7. get event by http request via CL_HTMLB_MANAGER
  8. c#中常用集合类和集合接口之集合类系列
  9. [Codeforces673A]Bear and Game(水题,思路)
  10. java删除表操作,JDBC删除表实例
  11. mysql中regexp_substr_oracle REGEXP_SUBSTR函数
  12. MySQL判断中文字符的方法(转)
  13. string 与stringbuilder的区别
  14. winhex搜索中的偏移问题?请高手指点
  15. 非连续内存区缺页异常处理
  16. Python 正则表达式详解(建议收藏!)
  17. deglitch 技术_fdc2214中文资料-技术参考.pdf
  18. 2.1数据库-MySQL
  19. IDEA SVN拉下来的项目import project 没反应 解决方案
  20. Word-VBA:删除选择区域的项目符号

热门文章

  1. 数控技能大赛计算机程序员,广西选手获第九届全国数控技能大赛数控程序员赛项一等奖...
  2. 学术小白:如何区分SCI、EI
  3. 你拍一我拍一上学得学计算机,儿歌《你拍一,我拍一》
  4. python安装第三方库的方法
  5. pycharm——python调用dubbo接口返回句柄无效(Connection dropped:socket connection error:句柄无效)
  6. php短信功能实现原理,基于信息熵原理分词的php实现
  7. 淘系技术虚拟AI技术创新未来,斩获IJCAI2021 Video Competition Award
  8. python的dict
  9. 服务器双系统怎么安装教程视频教程,微pe双系统怎么安装教程
  10. ImageJ自动批量多通道图片无损分离为单色荧光图