Android 文件目录繁多,每个目录都有每个目录存在的意义,将文件存储在正确的目录,有利于文件的分类管理。
Android磁盘存储可以分为两大类,内部存储和外部存储。

内部存储

内部存储不是内存,是位于位于系统磁盘中一个独特的位置。/data/ 文件夹就是内部存储,内部存储中一般存储一些应用的数据,如apk,shareprefence、database数据,webview缓存和图片缓存等。内部存储中还有一个文件夹每个应用都只有一个,里面中数据在应用卸载之后,就会被删除。结构如:/data/data/你的应用的包名/。其次还有一个 /data/app/ 的文件夹,这里面存储着我们手机上安装的apk文件。

特点
  • 内部存储的文件和目录只能被我们的app自己所访问,别的app不能访问。
  • 内部存储中的私有目录,当用户卸载app之后,改文件目录中关于该应用的信息就会被删除。
  • 内部存储是可用的。
  • 内部存储大小有限,不适合存储大量数据。
  • 只有root的手机,才能从手机文件管理器看见,否则都是隐藏着的。
getCacheDir().getAbsolutePath();///data/data/包名/cache
常见的内部存储中有这些目录
  • /data/app/
  • /data/data/包名/shared_prefs
  • /data/data/包名/cache
  • /data/data/包名/databases
  • /data/data/包名/files

外部存储

外部存储并不是指拓展的SD卡,不管有无外接设备,每个Android手机都有外部存储。一般的mnt或者storage目录。外部存储中分两类目录,私有目录和公有目录,私有目录的数据会随着应用的卸载而删除,公有目录则不会。

特点
  • 公有目录任何程序都可以访问,私有目录自身可以访问。
  • 并不一定是可用的,因为SD卡会被挂载。
  • 外部存储中的私有目录中的数据会随着应用的卸载而删除,公有目录则不会。
公有目录

公有目录是任何程序都可以

  • DIRECTORY_MUSIC

音乐/storage/emulated/0/Music

  • DIRECTORY_PODCASTS

播客/storage/emulated/0/Podcasts

  • DIRECTORY_RINGTONES

来点铃声

  • DIRECTORY_ALARMS

闹钟/storage/emulated/0/Alarms

  • DIRECTORY_NOTIFICATIONS

通知/storage/emulated/0/Notifications

  • DIRECTORY_PICTURES

图片/storage/emulated/0/Pictures

  • DIRECTORY_MOVIES

电影/storage/emulated/0/Movies

  • DIRECTORY_DOWNLOADS

下载文件存储路径/storage/emulated/0/Download

  • DIRECTORY_DCIM

媒体文件/storage/emulated/0/DCIM

  • DIRECTORY_DOCUMENTS

文档/storage/emulated/0/Documents

我们通过Environment.getExternalStoragePublicDirectory()来获取这些目录

私有目录

外部存储中的私有目录是不会自动创建的,需要开发者自己创建,私有目录应用本身无需申请动态权限,就能直接访问。我们可以在私有目录下新建我们自己的文件夹

  • getExternalFilesDir(“files目录的子目录名称”)

获取应用私有目录files目录中的文件目录(/storage/emulated/0/Android/data/包名/files/子目录)

  • getExternalCacheDir()

获取应用cache目录(/storage/emulated/0/Android/data/包名/cache)

更多相关文章

  1. android 面试题经典
  2. 【Android(安卓)Native Code开发系列】一 前言
  3. iOS、Android、WebOS系统体系架构的比较
  4. Android面试之----Android系统架构图及简单的系统架构介绍
  5. Android(安卓)ANR (转)
  6. android - 为响应度而设计 - 开发文档翻译
  7. Android开发入门必知:应用界面组成
  8. 在Android上用PHP编写应用- PFA初探
  9. android 基础知识

随机推荐

  1. android 根据SD卡中图片路径读取并显示SD
  2. android 监听 USB 拔插广播消息
  3. Android(安卓)Activity的onCreate()函数
  4. 使用adb命令启动Android程序
  5. Android(安卓)Studio 3.4.1 下拉刷新 Swi
  6. Android(安卓)Studio常见问题处理
  7. android socket 百度地图 实时定位
  8. Android(安卓)PopupMenu-点击按钮弹出下
  9. android 监听键盘是否弹起,并根据键盘的弹
  10. Android官方入门文档[8]重叠操作栏