我是靠谱客的博主 潇洒指甲油,最近开发中收集的这篇文章主要介绍Anroid获取内置外置SD卡路径以及读写测试,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

最近项目有一个新需求是要把应用的大文件下载到外置SD卡,自己研究了一下安卓如何获取内置和外置SD卡路径以及进行文件读写,以下是自己的总结。

在网上找的方法都感觉不太好,比较乱,所以自己就查了一下安卓的官方API。官方API路径是:file:///C:/Android/android-sdk-windows/docs/guide/topics/data/data-storage.html,把C:/Android/android-sdk-windows替换为你电脑上SDK的安装路径。我是用的火狐浏览器的脱机模式查看的(这里一定要选择脱机模式,否则页面会去尝试联网,但是谷歌又被墙了,所以会无法加载)。

下面我挑一些重要的步骤进行说明(图片截取自网页):

①,获取权限:

如上图所示:如果你需要读取SD卡内容,需要的权限为:READ_EXTERNAL_STORAGE,如果你需要写入数据到SD卡,需要的权限为:WRITE_EXTERNAL_STORAGE。如果你的应用读写权限都需要,那么只需要声明写的权限即可。需要注意的是,从安卓4.4系统开始,如果你的应用仅仅需要保存你应用的私有数据,那么不需要声明这两个权限。以上这种情况你可以这样来声明权限:
<manifest ...>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
                     android:maxSdkVersion="18" />
    ...
</manifest>
②,检查存储卡是否可用:

最重要的一点就是:当你需要对存储卡进行读写操作时,首先需要确认存储卡是否处于可读或者可写的状态。获取存储卡状态的方法为:Environment.getExternalStorageState()。存储卡可读的状态为:Environment.MEDIA_MOUNTED_READ_ONLY,既可读又可写的状态为:Environment.MEDIA_MOUNTED。
③:获取应用私有的存储卡路径:

从安卓4.4开始,你可以通过调用getExternalFilesDirs()来获取一个数组,这个数组里面存储了手机的内外置SD卡路径。但是建议使用ContextCompat.getExternalFilesDirs()方法,这个方法同样支持4.3及以下系统,但是在4.3及以下系统里面并不能得到外置SD卡路径,只会返回内置SD卡路径。
④,获取存储卡的公共存储路径:
当你的应用需要存储一些非私有数据(可以被其他应用操作的数据,比如下载的图片,音乐等)时,不能用应用的私有路径,应该使用公共路径,以便可以被其他应用访问。调用的方法为:Environment.getExternalStoragePublicDirectory();
------------------------------------------------------------------草稿未完--------------------------------------------------------------------------

最后

以上就是潇洒指甲油为你收集整理的Anroid获取内置外置SD卡路径以及读写测试的全部内容,希望文章能够帮你解决Anroid获取内置外置SD卡路径以及读写测试所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部