android存储访问.doc

android存储访问.doc

ID:49650968

大小:128.06 KB

页数:5页

时间:2020-03-03

android存储访问.doc_第1页
android存储访问.doc_第2页
android存储访问.doc_第3页
android存储访问.doc_第4页
android存储访问.doc_第5页
资源描述:

《android存储访问.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Android存储访问及目录 Android的外部存储  Android支持外部存储(case-insensitivefilesystemwithimmutablePOSIXpermissionclassesandmodes)。  外部存储可以通过物理介质提供(如SD卡),也可以通过将内部存储中的一部分封装而成,设备可以有多个外部存储实例。 访问外部存储的权限  从Android1.0开始,写操作受权限WRITE_EXTERNAL_STORAGE保护。  从Android4.1开始,读操作受权限READ_EXTERNAL_STORAGE保护。  从Android4.4开始,应用可

2、以管理在它外部存储上的特定包名目录,而不用获取WRITE_EXTERNAL_STORAGE权限。  比如,一个包名为com.example.foo的应用,可以自由访问外存上的Android/data/com.example.foo/目录。   外部存储对数据提供的保护较少,所以系统不应该存储敏感数据在外部存储上。  特别地,配置和log文件应该存储在内部存储中,这样它们可以被有效地保护。   对于多用户的情况,一般每个用户都会有自己独立的外部存储,应用仅对当前用户的外部存储有访问权限。 EnvironmentAPI的目录  getDataDirectory():用户数据目录。  

3、getDownloadCacheDirectory():下载缓存内容目录。   getExternalStorageDirectory():主要的外部存储目录。  但是这个目录很可能当前不能访问,比如这个目录被用户的PC挂载,或者从设备中移除,或者其他问题发生,你可以通过getExternalStorageState()来获取当前状态。  还有多用户或者多外部存储的情况,此文不再讨论。   为了不污染用户的根命名空间,一般不会直接使用这个外部存储的根目录。  任何应用私有的文件的应该被放置在 Context.getExternalFilesDir返回的目录下,在应用被卸载的时候,

4、系统会清理的就是这个目录。  另一些共享文件应该被放置在 getExternalStoragePublicDirectory(String)返回的目录中。  写这个路径需要 WRITE_EXTERNAL_STORAGE权限,读需要 READ_EXTERNAL_STORAGE权限,当然写权限默认包含了读权限。   从KITKAT 即Android4.4开始,如果你的应用只是需要存储一些内部数据,可以考虑使用:  getExternalFilesDir(String)或者getExternalCacheDir(),它们不需要获取权限。   getExternalStoragePubl

5、icDirectory(String type)这个方法接收一个参数,表明目录所放的文件的类型,传入的参数是Environment类中的DIRECTORY_XXX静态变量,比如DIRECTORY_DCIM等。  注意:传入的类型参数不能是null,返回的目录路径有可能不存在,所以必须在使用之前确认一下,比如使用File.mkdirs创建该路径。   getRootDirectory()得到Android的根目录。  isExternalStorageEmulated()设备的外存是否是用内存模拟的,是则返回true。(APILevel11)  isExternalStorageR

6、emovable()设备的外存是否是可以拆卸的,比如SD卡,是则返回true。(APILevel9) ContextAPI中的目录  getExternalFilesDir(String type)是应用在外部存储上的目录。  和Environment类的getExternalStoragePublicDirectory(String type)方法类似,返回包含参数指定的特定类型文件的子目录。  getExternalCacheDir()是应用的在外部存储上的缓存目录。    从Android4.4这两个方法不需要读写权限,是针对于本应用来说,如果要访问其他应用的相关目录,还是

7、需要声明读写权限。  Android4.4之前的版本要访问的话还是要声明读写权限的,如果没有在manifest中写权限,上面两个get方法都会返回null。   与上面两个方法形成对比的是下面两个方法:  getFilesDir()   getCacheDir()  这两个方法得到的是内存上的目录。   这些目录都是属于应用的,当应用被卸载的时候,里面的内容都会被移除,但是不要依赖于系统的操作。 测试代码packagecom.mengdd.utils.android; impor

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。