注0:本文整理于 6 月 13 日
注1:今天 6 月 15 日,回过头来看看,整理了又能怎么样,还是记不住
- Android 文件存储知识点总结
SharedPreferences
Android SDK 支持的文件存储技术
- 使用 SharedPreferences 保存 key-value 类型的数据
- 流文件存储(使用 openFileOutput 和 openFileInput 方法,或 FileInputStream 和 FileOutputStream 对象)
- XML 半结构化存储
- 用 JSON 保存数组和对象
- 用数据库保存结构化数据
- 用第三方的面向对象数据库直接保存 Java 对象
使用 SharedPreferences 存取 key-value 类型的数据
String FILE_NAME = "fileName";
SharedPreferences mySharedPreferences = getSharedPreferences(FILE_NAME, Activity.MODE_PRIVATE);
// 写入
SharedPreferences.Editor editor = mySharedPreferences.edit();
editor.putString("name", "bill");
editor.putBoolean("employee", true);
editor.putInt("id", 1);
editor.commit();
// 读取使用 getXxx 方法获得 value, 第二个参数是 value 的默认值
String name = mySharedPreferences.getString("name", "");
boolean employee = mySharedPreferences.getBoolean("employee", false);
int id = mySharedPreferences.getInt("id", -1);
SharedPreferences 保存路径和使用文件流读取
保存路径:/data/data/packagename/shared_prefs
使用文件流读取的代码:
// 获取目录
String path = android.os.Environment.getDataDirectory()
.getAbsolutePath() + "/data/" + getPackageName() + "/shared_prefs/xxx.xml";
FileInputStream fis = new FileInputStream(path);
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(isr);
String strInfo = br.readLine();
fis.close();
SharedPreferences 将文件保存在 SD 卡上
利用 Java 反射技术改变系统内定的文件保存路径
具体代码查看Kindle 《Android 程序员面试宝典》5.1 面试例题4
SharedPreferences 保存图像数据
将图像转化成字符串即可。
具体代码查看Kindle 《Android 程序员面试宝典》5.1 面试例题4
PreferenceActivity 类实现一个设置界面
因为实际运用较少,所以这里只做了解。
PreferenceActivity 是 Activity 的子类,其预定义了一些专用组件,可以实现常用设置项。
具体可查源码
流文件
Android SDK 支持哪些获取文件输入输出流的方式
- 1 直接创建 FileInputStream 和 FileOutputStream 对象
- 2 使用 Context.openFileInput 和 Context.openFileOutput 方法可分别获取用于写文件和读文件的 OutputStream 和 InputStream 对象
Context.openFileOutput 存放数据文件的路径
/data/data/data/packagename/files 目录中
使用 ImageView 组件装载 SD 卡上的图像文件
ImageView imV = (ImageView)findViewById(R.id.Xxxxx);
ImageView.setImageDrawable(Drawable.createFromPath("/sdcard/Xxxxx.png"));
XML 存储
Android SDK 支持读取 XML 吗?
只支持采用 SAX 技术读取 XML。
SAX 引擎分析 XML 文档的过程
具体代码查看本书 5.3 节。
主要是通过 Java 代码进行解析,无关 SDK。
将 XML 文件转换成对象
主要是要通过一个具体映射类和 XML 文件进行对应
JSON 存储
描述 JSON 文档的格式
JSON 是一种轻量级数据存储和传输方式。
可以使用字符串形式保存数组和对象属性值。
数组使用中括号 “[]”, 对象使用大括号“{}”。
解析 JSON 格式文档
解析的步骤是先将文档序列化装载,然后一步一步进行解析。
Java 中有现成的类和方法可以进行使用的,所以不慌。
主要运用的是 JSONObject 和 JSONArray。其他的有时间的话可以去看看的。
网友评论