Android SD卡创建文件和文件夹失败

原文:Android SD卡创建文件和文件夹失败

功能需要,尝试在本地sd卡上创建文件和文件夹的时候,报错,程序崩溃。

一般情况下,是忘记给予sd卡的读写权限。但是这里面权限已经给了,还是报错。

在网上搜索关于这方面的问题,发现有网友给出解答:

4.4之后,不能随便在sd卡上面创建文件或者文件夹了,

只能在Android/data/你的包名/,

这个路径下创建或者修改,当然,Android/data/你的包名/,这个路径你也是创建不了的,

调用下this.getExternalFilesDir(null)系统会默认给你创建,

然后就可以在Android/data/你的包名/下作读写操作了。

这里面的4.4之后不一定都存在这个问题。说法有点片面。

不过假如app需要分发到应用市场的话,还是需要考虑这方面的。

下面是获取文件路径的几种方式:

        System.out.println(Environment.getExternalStorageDirectory().getPath());
        System.out.println(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES));
        System.out.println(getExternalCacheDir().toString()); //这个地方不会报错了
        System.out.println(getExternalFilesDir(null).toString());  //这个地方不会报错了

  

后面两个才是需要的。

时间: 2024-08-08 03:48:25

Android SD卡创建文件和文件夹失败的相关文章

SD卡中常见的文件夹名称及其作用

SD卡中常见的文件夹名称及其作用如下: 系统数据类--系统文件存储相关文件夹 1..android_secure:官方app2sd的产物,存储了相关的软件使用认证验证,删除之后SD卡中的软件将无法使用. 2.Android:存放重要的程序数据,比如google:map的地图缓存,误删掉后地图还需重新下载. 3.backups:包含重要的备份文件,比如联系人导出到SD卡会导入到此文件夹. 4.bugtogo:系统出现问题的时候会形成一些报告文件,存放在此文件夹. 5.data:缓存数据文件夹,与A

Android 之 使用File类在SD卡中读取数据文件

Android 之 使用File类在SD卡中读取数据文件 一.File 类读写文件 :  如果需要在程序中使用sdcard进行数据的存储,那么需要在AndroidMainfset.xml文件中 进行权限的配置:  <!-- 在sd中创建和删除文件的权限 --> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> <!-- 向SD卡中的写入权限 --&

Android SD卡上文件操作及记录日志操作实例分析

本文实例讲述了Android SD卡上文件操作及记录日志操作的方法.分享给大家供大家参考,具体如下: // SD卡是否存在 private boolean checkSDCardStatus() { boolean SDCardStatus = false; String sDStateString = android.os.Environment.getExternalStorageState(); if (sDStateString.equals(android.os.Environment

Qt SD卡 文件系统挂载、文件预览

/********************************************************************************** * Qt SD卡 文件系统挂载.文件预览 * 声明: * 1. 验证挂载SD卡: * 2. QTreeView显示文件系统文件: * 3. UI线程.普通线程通信,以及理解其工作分配: * 4. static const的使用: * 5. QString与const char *的转换: * * 2015-10-20 晴 深圳 南

通过ADB向android SD卡传送文件

1. 创建SD卡并挂载到模拟器 运 行cmd,并cd至android-sdk\tools\目录下.输入如下命令则可创建并挂载SD卡到模拟器上.mksdcard的参数中SD卡的大小单 位可以为K或者M(必须为大写),他会在tools目录创建一个文件叫sdcard.img.通过在emulator后添加-sdcard即可挂载SD卡 并启动模拟器. mksdcard 256M sdcard.img emulator -avd 2.2 -sdcard sdcard.img 2. 操作单个文件 通过adb

Android数据库SD卡创建和图片存取操作

Android数据库中的创建,图片的存.取操作如下: 数据库类: import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.util.Log; /** * 此类继承了SQLiteOpenHelper抽象类,是一个辅助器类,需要 一个构造函数和重写两个方法. * */ pu

三星I9100/I9100G如何从Micro SD卡中传输MP3文件至手机?

按照如下所述步骤可从一个存储卡中传输MP3文件到手机内存: 将micro SD存储卡插入至存储卡槽. 1.在待机屏幕中,点击[应用程序]. 2.选择[我的文件]. 3.选择外置micro SD卡中文件存储的指定文件夹. 4.选择存储音乐的文件夹. 5.按[菜单键]. 6.选择[更多]→[复制]. 7.选中所需传输的音乐文件 8.点击[复制] 9.选定话机内存上存储音乐文件的指定位置,选择[粘贴到此]. 警示: 在数据访问或被传输的过程中,不要将SD卡从手机中取出或关闭手机. 注意: 插入式mic

android XMl 解析神奇xstream 五: 把复杂对象转换成 xml ,并写入SD卡中的xml文件

前言:对xstream不理解的请看: android XMl 解析神奇xstream 一: 解析android项目中 asset 文件夹 下的 aa.xml 文件 android XMl 解析神奇xstream 二: 把对象转换成xml android XMl 解析神奇xstream 三: 把复杂对象转换成 xml android XMl 解析神奇xstream 四: 将复杂的xml文件解析为对象   1.建立JavaBeen package com.android10; public clas

【ANDROID游戏开发十三】(保存游戏数据 [下文])详解SQLITE存储方式,并把SQLITE的数据库文件存储在SD卡中!!!

本站文章均为 李华明Himi 原创,转载务必在明显处注明:  转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/android-game/329.html ----------------------- 『很多童鞋说我的代码运行后,点击home或者back后会程序异常,如果你也这样遇到过,那么你肯定没有仔细读完Himi的博文,第十九篇Himi专门写了关于这些错误的原因和解决方法,这里我在博客都补充说明下,省的童鞋们总疑惑这一块:请点击下面联系进入阅读: