




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Android存储访问及目录Android的外部存储Android支持外部存储(case-insensitive filesystem with immutable POSIX permission classes and modes)。外部存储可以通过物理介质提供(如SD卡),也可以通过将内部存储中的一部分封装而成,设备可以有多个外部存储实例。访问外部存储的权限从Android 1.0开始,写操作受权限WRITE_EXTERNAL_STORAGE保护。从Android 4.1开始,读操作受权限READ_EXTERNAL_STORAGE保护。从Android 4.4开始,应用可以管理在它外部存储上的特定包名目录,而不用获取WRITE_EXTERNAL_STORAGE权限。比如,一个包名为com.example.foo的应用,可以自由访问外存上的Android/data/com.example.foo/目录。外部存储对数据提供的保护较少,所以系统不应该存储敏感数据在外部存储上。特别地,配置和log文件应该存储在内部存储中,这样它们可以被有效地保护。对于多用户的情况,一般每个用户都会有自己独立的外部存储,应用仅对当前用户的外部存储有访问权限。Environment API的目录getDataDirectory():用户数据目录。getDownloadCacheDirectory():下载缓存内容目录。getExternalStorageDirectory():主要的外部存储目录。但是这个目录很可能当前不能访问,比如这个目录被用户的PC挂载,或者从设备中移除,或者其他问题发生,你可以通过getExternalStorageState()来获取当前状态。还有多用户或者多外部存储的情况,此文不再讨论。为了不污染用户的根命名空间,一般不会直接使用这个外部存储的根目录。任何应用私有的文件的应该被放置在Context.getExternalFilesDir返回的目录下,在应用被卸载的时候,系统会清理的就是这个目录。另一些共享文件应该被放置在getExternalStoragePublicDirectory(String)返回的目录中。写这个路径需要WRITE_EXTERNAL_STORAGE权限,读需要READ_EXTERNAL_STORAGE权限,当然写权限默认包含了读权限。从KITKAT即Android 4.4开始,如果你的应用只是需要存储一些内部数据,可以考虑使用 :getExternalFilesDir(String)或者getExternalCacheDir(),它们不需要获取权限。getExternalStoragePublicDirectory(Stringtype)这个方法接收一个参数,表明目录所放的文件的类型,传入的参数是Environment类中的DIRECTORY_XXX静态变量,比如DIRECTORY_DCIM等。注意:传入的类型参数不能是null,返回的目录路径有可能不存在,所以必须在使用之前确认一下,比如使用File.mkdirs创建该路径。getRootDirectory()得到Android的根目录。isExternalStorageEmulated()设备的外存是否是用内存模拟的,是则返回true。(API Level 11)isExternalStorageRemovable()设备的外存是否是可以拆卸的,比如SD卡,是则返回true。(API Level 9)Context API中的目录getExternalFilesDir(Stringtype)是应用在外部存储上的目录。和Environment类的getExternalStoragePublicDirectory(Stringtype)方法类似,返回包含参数指定的特定类型文件的子目录。getExternalCacheDir()是应用的在外部存储上的缓存目录。从Android 4.4这两个方法不需要读写权限,是针对于本应用来说,如果要访问其他应用的相关目录,还是需要声明读写权限。Android 4.4之前的版本要访问的话还是要声明读写权限的,如果没有在manifest中写权限,上面两个get方法都会返回null。与上面两个方法形成对比的是下面两个方法:getFilesDir()getCacheDir()这两个方法得到的是内存上的目录。这些目录都是属于应用的,当应用被卸载的时候,里面的内容都会被移除,但是不要依赖于系统的操作。测试代码package com.mengdd.utils.android;import android.content.Context;import android.os.Environment;public class DirectoryUtils private static final String LOG_TAG = DirectoryUtils; public static void getEnvironmentDirectories() LogUtils.i(LOG_TAG, getRootDirectory(): + Environment.getRootDirectory().toString(); LogUtils.i(LOG_TAG, getDataDirectory(): + Environment.getDataDirectory().toString(); LogUtils.i(LOG_TAG, getDownloadCacheDirectory(): + Environment.getDownloadCacheDirectory().toString(); LogUtils.i(LOG_TAG, getExternalStorageDirectory(): + Environment.getExternalStorageDirectory().toString(); LogUtils.i( LOG_TAG, getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES): + Environment.getExternalStoragePublicDirectory( Environment.DIRECTORY_PICTURES).toString();/ LogUtils.i(/ LOG_TAG,/ isExternalStorageEmulated(): / + Environment.isExternalStorageEmulated();/ LogUtils.i(/ LOG_TAG,/ isExternalStorageRemovable(): / + Environment.isExternalStorageRemovable(); public static void getApplicationDirectories(Context context) LogUtils.i(LOG_TAG, context.getFilesDir(): + context.getFilesDir().toString(); LogUtils.i(LOG_TAG, context.getCacheDir(): + context.getCacheDir().toString(); / methods below will return null if the permissions denied LogUtils.i( LOG_TAG, context.getExternalFilesDir(Environment.DIRECTORY_MOVIES): + context .getExterna
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025国考保定市检验检疫岗位行测题库含答案
- 钢结构建筑施工安全管理方案
- 2025国考鸡西市民政事务岗位行测模拟题及答案
- 考点攻克人教版八年级上册物理《长度和时间的测量》专项训练试卷(含答案解析)
- YH004-生命科学试剂-MCE
- 16 制作磁悬浮笔架说课稿-2023-2024学年小学科学二年级下册青岛版(六三制2024)
- 建筑拆除工程应急预案方案
- 钢结构焊接工艺与质量管理方案
- 八年级物理下册 9.2 液体的压强说课稿(新版)新人教版
- 热力管道防腐技术方案
- 格力空调检测报告KFR-35GW(35530)FNhAk-B1(性能)
- Q-CR 783.1-2021 铁路通信网络安全技术要求 第1部分:总体技术要求
- GB/T 6406-1996超硬磨料金刚石或立方氮化硼颗粒尺寸
- GB/T 22166-2008非校准起重圆环链和吊链使用和维护
- 少先队代表大会专题教育
- 管理学研究与论文写作研究方法课件
- 血管外科出科考试题2
- tlc4000中文说明书在使用本产品前务必先仔细阅读并按照相关要
- GB 38454-2019 坠落防护 水平生命线装置
- 001中二氯乙醇残留检测报告
- ppt精选模板:热烈欢迎领导莅临指导工作PPT课件
评论
0/150
提交评论