Android——SdCard数据存储
2017-03-13 11:52
369 查看
SDcard存储,一般是用来存一些比较大的文件,类似图片,音频,视频等等。
QQ接收的文件一般存放tecent/filerev文件夹下,也是一种sdcard存储。
既然是访问sdcard,那么必定要涉及权限问题。
在maneifest文件中设置sdcard的读取,挂载权限。
在sdcard存储中,只需要注意两个地方:
1、权限添加
2、sdcard的状态
在使用外部存储时我们需要检测其状态,它可能被连接到计算机、丢失或者只读等。
获取sdcard的状态:Environment.getExternalStorageState()
要考虑这么个问题,如果sdcard还没挂载,对它是不能任何操作的,如果只有读的权
限,也是不能进行写入的,所以要获得的状态要匹配sdcard的状态。
我们来写入一个string。
这里sdcard的目录是mnt/sdcard/…. 同时也要抛出io异常。
QQ接收的文件一般存放tecent/filerev文件夹下,也是一种sdcard存储。
既然是访问sdcard,那么必定要涉及权限问题。
在maneifest文件中设置sdcard的读取,挂载权限。
<!-- 在SDCard中创建与删除文件权限 --> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> <!-- 往SDCard写入数据权限 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
在sdcard存储中,只需要注意两个地方:
1、权限添加
2、sdcard的状态
在使用外部存储时我们需要检测其状态,它可能被连接到计算机、丢失或者只读等。
获取sdcard的状态:Environment.getExternalStorageState()
要考虑这么个问题,如果sdcard还没挂载,对它是不能任何操作的,如果只有读的权
限,也是不能进行写入的,所以要获得的状态要匹配sdcard的状态。
我们来写入一个string。
String name="lpl"; if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED))//sdcard 可读可写 { File file=new File("mnt/sdcard/xxx.txt"); FileOutputStream fos=new FileOutputStream(file,true); fos.write(name.getBytes()); fos.flush(); FileInputStream fis=new FileInputStream(file); int len=0; byte b[] =new byte[10]; StringBuffer buffer=new StringBuffer(); while((len=fis.read(b))!=-1) { buffer.append(new String(b,0,len)); } Toast.makeText(getApplicationContext(), buffer, 0).show(); fis.close(); fos.close(); }else { Toast.makeText(getApplicationContext(), "Sdcard状态有问题", 0).show(); }
这里sdcard的目录是mnt/sdcard/…. 同时也要抛出io异常。
相关文章推荐
- Android中数据存储--采用SQLite存储数据及在SDCard中创建数据库
- Android中数据存储--采用SQLite存储数据及在SDCard中创建数据库
- android 存储网络数据到Sdcard
- 15、Android数据存储——SharedPreferences及SDCard
- [120_移动开发Android]006_android开发之数据存储之sdcard访问
- Android中数据存储--采用SQLite存储数据及在SDCard中创建数据库
- 【Android】数据存储之SDcard
- Android数据存储(2)向机身内存(Internal Storage)和SDcard(External Storage)读写数据实例
- 应用数据存储到sdcard上一定要规范,android4.4.2有新规范
- Android--数据持久化之内部存储、Sdcard存储
- Android中数据存储--采用SQLite存储数据及在SDCard中创建数据库
- Android存储数据到sdcard
- Android数据存储——SharedPreferences及SDCard
- android数据存储(二)之使用SDCard存储
- [Android 数据存储] SDcard/Android/data/ 这个目录是干什么的?
- Android的数据存储(Preference、SQLite、SDCard、File、ContentProvider)【未完,待编辑】
- Android中数据存储--采用SQLite存储数据及在SDCard中创建数据库
- Android数据存储(2)向机身内存(Internal Storage)和SDcard(External Storage)读写数据实例
- Android数据存储(2)向机身内存(Internal Storage)和SDcard(External Storage)读写数据实例
- Android数据存储:SDCard