您的位置:首页 > 其它

如何往外置sd卡中写入数据

2014-10-17 10:31 246 查看
============问题描述============

在学习android开发 看了老罗的视频

结果是如果用Environment.getExternalStorageDirectory()获取sd卡路径存入文件后文件都是写入到的自带的内置内存卡中,

然后输入这个路径后得到的是/storage/sdcard0

就想咨询一下 难道Environment.getExternalStorageDirectory()获取外置内存卡的路径而是内置内存卡路径?

如果如此的话那如何往外置内存卡中写入文件?

做测试用的机器是三星的平板


============解决方案1============


调用方法:

Dev_MountInfo dev = Dev_MountInfo.getInstance();

DevInfo info = dev.getInternalInfo();// Internal SD Card Informations

info = dev.getExternalInfo();// External SD Card Informations

PATH.ROOT_SDCARD_PATH = info.getPath();

PATH.ROOT_INSIDE_PATH = Environment.getExternalStorageDirectory()

.getAbsolutePath();


============解决方案2============

原生的android系统,Environment.getExternalStorageDirectory()获取的是外部的sd卡,三星的应该都内置一个sd卡,程序默认读到的都是内置的,外置的sd卡的话,应该是三星另外做了个接口出来的,可以反射查看下Environment类下的接口方法就知道了

============解决方案3============

引用 6 楼 klordy_123 的回复:
问题最新进度: 按照同学提的意见 因为开发的特殊性 所以直接用了绝对路径

可是在绝对路径生成的file中, 无法生成第二层文件夹 即比如先在外置内存卡中已经生成了A这个文件夹,但是在A的文件夹之下无法生成子文件夹 这是为什么? 感觉像是无法对A这个文件夹之下进行任何写入操作一样 这是为什么?


文件夹没有时要自己创建的

============解决方案4============

印象中Android默认的外置内存卡的路径是“/storage/sdcard0”(“/mnt/sdcard”也可以) 可能三星把路径改了,可是获得外置内存卡路径的方法还是用Google原生的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: