最近在安卓的开发中,对系统提供的几个文件保存的路径探索了一下。

下面是我自己的demo中对不同的方法的路径打印出来的结果!

getCacheDir:/data/data/com.example.sinatext/cache
getFilesDir:/data/data/com.example.sinatext/files
 
getExternalCacheDir:/storage/sdcard0/Android/data/com.example.sinatext/cache

getExternalFilesDir:/storage/sdcard0/Android/data/com.example.sinatext/files/text


getDatabasePath:/data/data/com.example.sinatext/databases/text
getDir:/data/data/com.example.sinatext/app_modeDir
 
getPackageResourcePath:/data/app/com.example.sinatext-2.apk
Environment.getDataDirectory():/data
Environment.getExternalStorageState():mounted
Environment.getDownloadCacheDirectory():/cache
 
Environment.getExternalStorageDirectory():/storage/sdcard0

Environment.getRootDirectory():/system

前面是方法名,后面是对应的路径。

由上面可以看出来,

getCacheDir和getFilesDir是放在/data/data/packagename下的,所以这个目录中的内容必须是root的手机在文件操作系统中才能看到。当然如果在应用程序中清空数据或者卸载应用,那么这两个目录下的文件也将会被清空的。

getExternalCacheDir和getExternalFilesDir是存放在/storage/sdcard0/Android/data/packagename下面的,这个是放在外置存储卡的,这个目录下的内容 可以使用文件浏览系统查看到,但是如果清空数据或者卸载应用,俩个目录下的文件也将被清空。

或者也可以理解为带external这样的是存储在外置sd卡的(ps:external是外部的意思嘛),而直接使用getFilesDir这种是放在/data/data下面的。

但是不管上面的是放在外置存储sd卡的还是放在/data/data下的,如果应用清空数据或者应用卸载掉,都会被清除掉的,所以如果想要保存一些内容到手机,但是应用卸载掉不被删除的话就不能用上面的方法,要自己在Environment.getExternalStorageDirectory()目录下(也可以是其他的目录下)创建自己项目文件夹。把想要保存的内容放在里面。

更多相关文章

  1. Kivy A to Z -- Android(安卓)apk的生成过程
  2. Flutter-APP打包流程
  3. Android(安卓)SDK Manager下载和更新失败方法详解
  4. android tabHost布局之一 继承TabActivity并以activity布局
  5. JNI中的本地方法添加调试信息
  6. OpenCV Android开发环境搭建
  7. Android——实现【搜索框】与点击搜索事件监听 —— SearchView
  8. 安卓学习第一天
  9. Android(安卓)Studio 安装教程以及gradle配置

随机推荐

  1. Android关于LinearLayout和RelativeLayou
  2. Android的介绍
  3. Android(安卓)仿抖音视频播放列表和评论
  4. 创建Android工程
  5. 百度招聘Android客服端(1)
  6. android控件布局
  7. 在Android上玩google-breakpad(崩溃日志收
  8. Android(安卓)出现 OutOfMemoryError 的
  9. android ConfigChanges
  10. android Service Activity三种交互方式(付