Android数据存储作业_Externale、Internal实现思路

作业一:

准备工作:打开虚拟机,创建新的作业工程

第一步:完成布局

  1. 分析主题(黑色 DayNight.DarkActionBar)和标题(SaveInFile)
  2. 所有的string资源文件编写
  3. 整体用线性布局,里面有垂直的5行(1垂直、4水平)

uploading.4e448015.gif正在上传…重新上传取消

第二步:完成Internal存储

  1. 为button添加click事件,为其创建方法

 

  1. 获取两个EditText,并将其内容保存在string中

uploading.4e448015.gif正在上传…重新上传取消

  1. 创建对象输出流FileOutputStream
  2. 写文件并处理异常

uploading.4e448015.gif正在上传…重新上传取消

  1. 用Toast作出提示
6、如何获取文件所在的绝对路径 getFilesDir()

7、理解

uploading.4e448015.gif正在上传…重新上传取消

第二步:完成External存储

  1. 给应用一个外部存储的访问权限
  2. 校验外部存储是否可用

因为外部存储区可能不可用,所以需要通过一些方法获取外部存储区的状态,看是否等于MEDIA_MOUNTED(判断是否可写)

代码如下:

/* Checks if external storage is available for read and write */
public boolean isExternalStorageWritable() {
    String state = Environment.getExternalStorageState();
    if (Environment.MEDIA_MOUNTED.equals(state)) {
        return true;
    }
    return false;
}
 
/* Checks if external storage is available to at least read */
public boolean isExternalStorageReadable() {
    String state = Environment.getExternalStorageState();
    if (Environment.MEDIA_MOUNTED.equals(state) ||
        Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
        return true;
    }
    return false;
}
  1. 保存文件到公共目录

在External存储区保存public文件,使用getExternalStoragePublicDirectory()方法获取一个外部存储对象到目录

  1. 保存文件到外部目录区中

先为空间添加Onclick方法

先判断外部目录是否可写,

创建一个文件夹目录对象

uploading.4e448015.gif转存失败重新上传取消

返回值是file,那么创建的是一个目录吗?(查用file对象创建文件夹目录)

然后获取文件名和文件内容

根据获取到的文件名创建一个文件

创建文件的输出流,并赋予初始值

开始写入内容并处理异常

写入完后关闭流,并给予提示

  1. 读文件的时候要

先找到目录、文件名、创建读写流中的InputStream

然后根据.available()方法,判断其大小,然后创建一个Buffer Byte[]数组

开始读文件读到buffer中、读完后关流

把读到的东西放入Content中要用new String(Buffer)

作业二(共享首选项实现文件的存入)

  1. 作业的效果图如下:

uploading.4e448015.gif转存失败重新上传取消

1、了解SharedPreferences是什么

SharedPreferences是Android的一个轻量级存储工具,采用的存储结构是Key-Value的键值对方式,类似 于Java的Properties类,二者都是把Key-Value的键值对保存在配置文件中。不同的是Properties的文件内容是 Key=Value这样的形式,而SharedPreferences的存储介质是符合XML规范的配置文件。保存SharedPreferences 键值对信息的文件路径是/data/data/应用包名/shared_prefs/文件名.xml。

uploading.4e448015.gif转存失败重新上传取消

 

发布了7 篇原创文章 · 获赞 0 · 访问量 182

猜你喜欢

转载自blog.csdn.net/weixin_43771204/article/details/105626826