android的各种文件目录
来源:互联网 发布:网络设计是什么级别 编辑:程序博客网 时间:2024/05/22 03:52
今天学习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的各种文件目录
- Android使用的各种目录
- 【android】android获取各种目录的方法
- IOS中各种文件的目录路径
- 目录下各种文件
- Android判断SD卡状态及获取各种文件目录
- Android得到各种目录
- android的各种*.img 文件
- android的各种*.img 文件
- android的各种*.img 文件
- android的各种*.img 文件
- android 的各种文件类
- android的文件、目录操作
- Android app的文件目录
- IOS中获取各种文件的目录路径的方法
- IOS中获取各种文件的目录路径的方法
- IOS中获取各种文件的目录路径的方法
- IOS中获取各种文件的目录路径的方法
- storm基本概念
- “智能问诊”项目——数据获取(2)
- HashMap工作原理
- Server Tomcat v7.0 Server at localhost is not responding. Do you want to terminate this server?. Cli
- STM32 GPIO使用超强总结
- android的各种文件目录
- Python 函数
- 计算机程序的思维逻辑 (12)
- 9个常用iptables配置实例
- 基于tensorflow的增强学习
- 堆栈与队列的区别
- linux sed命令
- oracleday01(基本语法 口令管理)
- java中如何去掉\,/字符