开发环境:

Win XP + eclipse-jee-helios(版本号3.6) + ADT(版本10.0.1) + Android SDK(版本10);

模拟器及真机测试环境:Android2.2

在Android学习笔记之文件的保存与读取中学习了数据的保存,它是将数据直接保存到手机自带的存储空间,这些一般是比较小的文件。那么如何将较大的数据保存到SDCard中呢?

利用Android学习笔记之文件的保存与读取中创建的File项目,实现将数据保存到SDCard中。

  • File项目的目录结构如图

  • 在业务类中FileService.java中,写一个保存到SDCard的方法saveToSDCard(),代码如下

    //保存数据到SDCardpublic void saveToSDCard(String filename, String content) throws Exception{//得到文件对象,找到SDCard的路径//File file = new File("mnt/sdcard", filename);File file = new File(Environment.getExternalStorageDirectory(), filename);//得到文件输出流对象FileOutputStream outStream = new FileOutputStream(file);outStream.write(content.getBytes());outStream.close();
    }
  • 在MainActivity.java类中,调用保存saveToSDCard()方法将数据保存到SDCard,代码如下:

    try {if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {       service.saveToSDCard(filename,content);//保存数据到SDCardToast.makeText(getApplication(), R.string.success, 1).show();//保存成功}else{
    Toast.makeText(getApplication(), R.string.sdcarderror, 1).show();//保存失败
    } catch (Exception e) {Toast.makeText(getApplication(), R.string.fail, 1).show();e.printStackTrace();
    }
  • 在清单文件AndroidManifest.xml中申明往SDCard创建文件和写入数据的权限:

    <!-- 在SDCard中创建和删除文件的权限 -->
    <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
    <!-- 往SDCard中写入数据的权限 -->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
  • 将应用部署到模拟上,当点击保存时,就会在/mnt/sdcard下创建保存的文件

转载于:https://blog.51cto.com/020618/1295127

Android学习笔记之如何将数据保存到SDCard相关推荐

  1. 《第一行代码》Android学习笔记(6)数据存储

    目录 1. Why 2. 文件存储:简单文本或二进制数据 2.1 将数据存储到文件中 2.2 从文件中读取数据 3. SharedPreferences 存储 3.1数据存取: 3.2 记住密码功能 ...

  2. Android学习笔记44:JSON数据解析

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种理想的数据交换格式. 本文将主要介绍在Android ...

  3. Android学习笔记(五)——数据存储(二)SQLite和ContentProvider

    3.SQLite 类SQLiteDatebase的实例代表了一个SQLite数据库,它的方法可以执行SQL语句.数据库对于一个应用是私有的,在一个应用中,数据库名也是唯一的. SQLiteOpenHe ...

  4. Android学习笔记36:使用SQLite方式存储数据

    在Android中一共提供了5种数据存储方式,分别为: (1)Files:通过FileInputStream和FileOutputStream对文件进行操作.具体使用方法可以参阅博文<Andro ...

  5. Android学习笔记(四九):通过Content Provider访问数据

    在上次笔记中,我们编写了自己的Provider,这次笔记,我们将通过Content Provider的Uri接口对数据进行访问,重写Android学习笔记(四二)中例子.在这里我们不在充分描述相关UI ...

  6. Android学习笔记:Android基础知识点(不断更新中)

    1.Android学习笔记:OkHttp 2.Android学习笔记:更新UI的方法(UI线程和非UI线程) 3.Android学习笔记:Volley 4.Android学习笔记:Handler 5. ...

  7. Android学习笔记21:ImageView获取网络图片

    Android平台有3种网络接口可以使用,它们分别是:java.net.*(标准java接口).org.apache(Apache接口)和android.net.*(Android网络接口).本文将使 ...

  8. Android学习笔记(七):多个Activity和Intent

    根据www.mars-droid.com:Andriod开发视频教学,先跳过书本<Beginning Android 2>的几个章,我是这两个资源一起看,需要进行一下同步.先初步了解一下应 ...

  9. Pro Android学习笔记(三三):Menu(4):Alternative菜单

    什么是Alternative menu(替代菜单) 举个例子,Activity显示一个文本文件.如果用户想对文本文件进行编辑,Activity不提供编辑能力,但可由其他activity或者其他应用提供 ...

  10. 【转】 Pro Android学习笔记(二十):用户界面和控制(8):GridView和Spinner

    目录(?)[-] GridView Spinner GridView GridView是网格状布局,如图所示.在了解ListView后,很容易了解GridView.下面是例子的XML文件. <? ...

最新文章

  1. RxJava 和 RxAndroid 二(操作符的使用)
  2. 射频通路 隔直_2.4G射频双向功放电路的设计与制作
  3. linux 下php多版本安装
  4. PostgreSQL 12系统表(8)pg_indexes
  5. django runserver开启服务(开启外网访问与ipv6访问)
  6. 基于JAVA+Servlet+JSP+MYSQL的在线答疑系统
  7. MySQL忘记密码解决方案
  8. VS2012下基于Glut OpenGL GL_QUAD_STRIP示例程序:
  9. iOS地图之MapKit框架
  10. python 异步 生产者 消费者_python线程------queue、生产者和消费者模式
  11. 加工中心宏程序c语言,加工中心最实用的宏程序
  12. OllyDbg基本使用
  13. 2020华为春招面试:一面二面三面(一下午4h左右完成)已挂
  14. web远程桌面客户端_您所说的内容:桌面与基于Web的电子邮件客户端
  15. 常见前端面试题及答案-转载
  16. Java版数据结构之单向链表
  17. 面试:MySQL篇,详尽知识点总结
  18. 数据结构哈夫曼树实现26个英文字符的编码和译码
  19. plupload插件的错误SCRIPT601
  20. 微信小程序-----解决swiper默认高度150px

热门文章

  1. oracle alter database,alter database ... create datafile的原理及用途
  2. 从著名的list_head看linux内核中OO 从Unix分层内核栈以及中断处理看Linux内核的另类
  3. vs2012配置opengl提示error lnk
  4. c++sizeof求类大小 sizeof与strlen对比
  5. shell 计算代码运行时间
  6. while循环 dowhile循环 for循环(C++)
  7. 双层板在哪层覆铜_2020年中国印制电路板行业发展现状及发展趋势预测(图)...
  8. python和java还有sql区别_人人都在学编程?Python,R,Java,SQL,你究竟需要学哪一种?...
  9. python多进程_python学习笔记:多进程
  10. jquery实现截取pc图片_html+jquery实现简单图片裁剪