Android--手机外部SD卡存储
来源:互联网 发布:码云的独立域名 编辑:程序博客网 时间:2024/06/09 21:20
首先需要一个如图所示的布局
这样的布局好些,就不多说了
主要涉及的知识点
数据保存的路径:路径1:/storage/sdcard/Android/data/packageName/Files
路径2:/storage/sdcard/xxx/
路径1:其它应用可以访问,应用程序卸载时删除
路径2:其它应用可以访问,应用程序卸载时不会删除
必须保证sd卡必须挂载
相关API
Environment:操作SD卡的工具类
得到sd卡的状态:Environment.getExternalStorageState()
得到sd卡的路径:Environment.getExternalStorageDirectory()
sd卡可读写的挂载状态 Environment.MEDIA_MOUNTED
context.getExternalFilesDir(null).getAbsolutePath()得到绝对路径
操作sd卡的权限android.permission.WRITE_EXTERNAL_STORAGE
主要分为两部分
一.路径1的保存和读取
先保存
public void sure1(View v) throws Exception { //判断sd卡状态,如果是挂载状态才保存,否则将进行提示 if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { //读取文件的内容以及文件名 String name = et_name.getText().toString(); String content = et_content.getText().toString(); //得到制定的outputStream //得到sd下的files路径 String filesPath = getExternalFilesDir(null).getAbsolutePath(); //组成完整的路径 String path = filesPath+"/"+name; //创建FileOutputSream FileOutputStream fos = new FileOutputStream(path); //写数据 fos.write(content.getBytes("utf-8")); fos.close(); //提示 Toast.makeText(this,"保存成功",Toast.LENGTH_SHORT).show(); } else { Toast.makeText(this,"请插入SD卡",Toast.LENGTH_SHORT).show(); } }
读取
public void read1(View v) throws Exception { if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { //得到路径 String name = et_name.getText().toString(); String filePath = getExternalFilesDir(null).getAbsolutePath(); String path = filePath+"/"+name; //创建FileInputStream FileInputStream fis = new FileInputStream(path); ByteArrayOutputStream baos = new ByteArrayOutputStream(); byte [] buffer = new byte[1024]; int len=-1; while ((len=fis.read(buffer))!=-1) { baos.write(buffer,0,len); } String content = baos.toString(); et_content.setText(content); } else { Toast.makeText(this,"请插入SD卡",Toast.LENGTH_SHORT).show(); } }
二路径2的保存和读取
保存
public void sure2(View v) throws Exception { //判断sd卡是否挂载 if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { //读取输入的文件名以及文件内容 String content= et_content.getText().toString(); String name = et_name.getText().toString(); //得到指定文件的OutputStream // 1)/storage/sdcard String sdPath = Environment.getExternalStorageDirectory().getAbsolutePath(); // 2)/storage/sdcard/fanny/(没有的话就创建) File file = new File(sdPath+"/fanny"); if (!file.exists()) { file.mkdirs();//创建文件夹 } //3)/storage/sdcard/fanny/Xxx.txt String path = sdPath+"/fanny"+name; //创建输出流 FileOutputStream fos = new FileOutputStream(path); //写数据 fos.write(content.getBytes("utf-8")); fos.close(); Toast.makeText(this,"保存成功",Toast.LENGTH_SHORT).show(); } else { Toast.makeText(this,"请插入sd卡",Toast.LENGTH_SHORT).show(); } }
读取
public void read2(View V) throws Exception { //判断sd卡是否挂载 if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { //得到输入的文件名 String name = et_name.getText().toString(); String filePath = Environment.getExternalStorageDirectory().getAbsolutePath(); String path = filePath+"/fanny"+name; //得到指定文件的FileInputStream FileInputStream fis = new FileInputStream(path); ByteArrayOutputStream baos = new ByteArrayOutputStream(); byte [] buffer = new byte[2014]; int len = -1; while ((len=fis.read(buffer))!=-1) { baos.write(buffer,0,len); } String content = baos.toString(); et_content.setText(content); } else { Toast.makeText(this,"请插入SD卡",Toast.LENGTH_LONG).show(); } }
0 0
- Android--手机外部SD卡存储
- Android外部sd卡存储
- Android 数据存储---外部存储(SD卡)
- android中如何将下载的图片保存到手机SD(外部存储)卡中
- android 存储 内部存储 外部存储 SD卡
- Android五大存储---外部存储(SD卡)
- android 6.0sd卡内部存储 & 外部存储
- Android 数据存储-------外部存储(SD卡) External Storage
- android 获取手机SD卡和手机的内部存储
- Android开发——通过SD卡外部存储数据
- Android获取手机和SD卡的存储存储信息
- 关于没有SD卡的手机在获取外部存储时的问题
- 获取Android手机中SD卡存储信息
- 内部及外部SD卡存储空间存储
- Android 漫游之路------将文件保存到内存、SD以及获取手机内部存储与外部存储空间的大小
- Android SD卡存储
- Android存储-sd卡存储
- 【Android 开发教程】保存到外部存储设备(SD卡)
- 定位(相对、绝对)、z-index
- Flask web表单
- 两种高性能I/O设计模式reactor与proactor
- Android Studio代码大小写提示
- JavaScript事件详解
- Android--手机外部SD卡存储
- easyui常用组件
- SDUT2128树结构练习——排序二叉树的中序遍历
- WEB语义化
- Java的Calendar.add(int field,int amount)
- php mysql PDO使用
- JavaScript学习
- 【Cocos2d-x游戏开发】关于map的Size 手机和PC上运行效果不同的现象
- Windows 10 系统设置系统环境变量和用户环境变量