今天学习FileProvider,里面就涉及到了内部存储,外部存储。就去查了一下,这里整理一下。

内部存储:

主要涉及到的方法:context.getCacheDir()和context.getFilesDir()

context.getCacheDir() 获取到的路径是: /data/data/包名/cache。在此路径下,如果在系统即将耗尽存储,它会在不进行警告的情况下删除您的缓存文件。最好的办法是给你的应用缓存设置一个最大值,当达到这个值时你应该去删除部分缓存文件以便能再次利用这部分空间(我查了很多的资料没有查到,大概是通过判断文件的大小,当达到这个值时通过file.delete来一个个的删除文件)。

context.getFilesDir()获取到的路径是:/data/data/包名/files。这个目录下保存应用程序的数据,通过 openFileOutput(String, int) 创建的文件都保存在这个文件目录下。
注意:在res/xml/filepaths.xml中的标签<files-path path="images/*" name="myimages"/>, files-path就是指代的路径:/data/data/包名/files,其中path属性就是files的下一级,即:/data/data/包名/files/images/,那么name属性的值myimages和uri的值content://com.example.myapp.fileprovider/myimages/default_image.jpg中的myimages是一个。

外部存储:

主要涉及到的方法:Environment.getExternalStorageDirectory()、context.getExternalFilesDir(dir)和context.getExternalCacheDir()

Environment.getExternalStorageDirectory()获取到的路径是: /storage/emulated/0。这是SD卡根路径,6.0后写入需要用户授权。在此路径下的文件是app独立文件,是完全开放的,对于其他应用程序或者用户都可以访问,当你的应用被卸载的时候这部分文件也不会被删除

context.getExternalFilesDir(dir)获取到的路径是: /storage/emulated/0/Android/data/包名/files/dir。在此路径下的文件是app专属文件这类文件应该是随着app删除而一起删除的。

context.getExternalCacheDir()获取的路径是:/storage/emulated/0/Android/data/包名/cache ,这个路径被Android系统认定为应用程序的缓存路径,当程序被卸载的时候,这里的数据也会一起被清除掉,这样就不会出现删除程序之后手机上还有很多残留数据的问题。

除了这五个主要的方法还有一些方法如下:
Environment.getDataDirectory():/data 用户数据目录。

Environment.getDownloadCacheDirectory(): /cache 下载缓存内容目录。

Environment.getRootDirectory(): /system 系统主目录

Environment.getExternalStoragePublicDirectory(String s): /storage/emulated/0/s一些共享文件应该被放置在该目录中

getPackageCodePath(): /data/app/com.demo.myapp-1.apk。 Android 安装包的完整路径,这个包是一个zip的压缩文件,它包括应用程序的代码和assets文件。

getPackageResourcePath(): /data/app/com.demo.myapp-1.apk。ndroid 安装包的完整路径,这个包是一个ZIP的要锁文件,它包括应用程序的私有资源。

getDatabasePath(String s): /data/data/com.demo.myapp/databases/s 保存通过
Context.openOrCreateDatabase 创建的数据库文件。

getDir(String s, Context.MODE_PRIVATE) : /data/data/com.my.app/app_s这是一个可以存放你自己应用程序自定义的文件,你可以通过该方法返回的File实例来创建或者访问这个目录,注意该目录下的文件只有你自己的程序可以访问。

android的各种文件目录相关推荐

  1. Android应用开发——文件目录

    Android 存储位置及 API 一.内部存储 应用安装后都会在Android 根目录生成 /data/data/packagename,当前应用读取不需要读写权限 注意: 有些开发者可能看到过应用 ...

  2. android 模拟器目录,Android 获取APP 文件目录 模拟器检测

    1. 获取app 目录 context.getFilesDir() Android 6.0的分身应用为了能与原应用区分开来,会更改手机的UserId,默认手机的UserId为0. 获取到的App应用位 ...

  3. android 手机缓存文件目录

    Android文件系统管理- /storage/emulated/0/Android/data/{packgename} /mnt/sdcard/Android/data/com.zhongxin.l ...

  4. 华为手机文件夹android,安卓手机文件目录详解

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 \system\media 铃声音乐文件夹,除了常规的铃声外还有一些系统提示事件音 \system\media\audio \system\media\a ...

  5. android音频文件存放目录,Android系统声音文件目录

    1 系统自带声音文件存放的位置和内容. 1.1 总目录:/system/media/audio 1.2 闹钟:/system/media/audio/alarms 1.3 短信通知:/system/m ...

  6. android 声音资源,Android系统声音文件目录

    1 系统自带声音文件存放的位置和内容. 1.1 总目录:/system/media/audio 1.2 闹钟:/system/media/audio/alarms 1.3 短信通知:/system/m ...

  7. 操作SD卡,获取文件目录及文件工具类Android,listView

    操作SD卡,获取文件目录及文件工具类Android 1.获取文件目录及文件工具类: DirectoryInfo  FileScan 1.1 DirectoryInfo: package com.gls ...

  8. Android应用开发-快速入门

    内容摘要 了解Android 操作系统 搭建Android 开发工具 使用Android 模拟器 案例-电话拨号器/短信发送器 掌握点击事件的四种实现方式 掌握Android 常见布局 了解Andro ...

  9. Android平台根目录文件

    > 系统分区 # adb shell # mount rootfs / rootfs ro 0 0 tmpfs /dev tmpfs rw,mode=755 0 0 devpts /dev/pt ...

最新文章

  1. Python 标准库之 datetime
  2. iOS从零开始学习直播之2.采集
  3. 【Android 事件分发】ItemTouchHelper 事件分发源码分析 ( 绑定 RecyclerView )
  4. NOIP信息奥赛--1995“同创杯”初中复赛题题解(五)
  5. 怎么把excel文件转成dta_Word怎么转成PDF文件?首选就是这个转换方法!
  6. 关于Retinex图像增强算法的一些新学习。
  7. mac 删除php56 安装php72,mac php56升级php70
  8. MySQL sql_model问题研究
  9. GraphicsMagick+im4java图片处理
  10. java随机生成车牌_JDBC:随机生成车牌号,批量插入数据库
  11. 免费生成十字绣字体_十字绣鞋垫图案 手工鞋垫历史长
  12. LINUX中注销其他已登陆帐户
  13. 通过设置代理解决AndroidStudio无法下载gradle问题
  14. Easy Recovery帮你解决数据丢失的苦恼
  15. C4D模型工具—提取样条
  16. 常用希腊字母与英文字母对照表;希腊字母中文发音
  17. 极客时间 MySQL 字段
  18. win10系统如何telnet服务器,win10专业版官网系统如何开启telnet服务的办法
  19. 红米Android11更新时间,这些是不支持ANDROID 11更新的小米和红米手机
  20. MySQL-获取每个部门在职员工的最高薪水

热门文章

  1. PHP socket:执行报错PHP Fatal error: Call to undefined function socket_create()
  2. 日常填坑 ——linux服务器,mongodb吃内存,导致服务器缓慢
  3. [Hexo] 溜了溜了
  4. 无线联网门锁为美好生活上好锁
  5. VLAD和MultiVLAD
  6. Xorg设置显示器最佳分辨率的方法
  7. no persistent classes found for query class: from xxxx解决办法
  8. 数据分析(3): 漏斗观察法
  9. VS2013安装及破解教程
  10. 使用《高德导航》,和林志玲郭德纲亲密“互动”