以下是本人开发Android过程中涉及数据储存的处理:
- 配置型数据:SharedPreferences,比如记录用户的行为配置(记住密码、背景、字体等等)
- 复杂关系型数据:SQLite
- 多媒体文件、大型文本等:File,常存储于SD卡,可以根据具体需求存放在/data/data下
遵循:简化操作、多次复用、把更多尽力用在业务处理。
推荐:SharedPreferences 和 File可以根据自己的需求封装成自己的工具类,SQLite可利用成熟的ORM框架,强烈推荐greenDAO或者是ORMLite。
下面是我自己的一些工具类,仅供参考。
SharedStore,封装了SharedPreferences的基本操作
package com.example.yummy.tools;
import android.content.Context;
import android.content.SharedPreferences;
/**
* Created by yummy on 2015/9/28.
* 数据存储在/data/data/<packagename>/shared_preds目录下
* 设计思路:
* 1. SharedPreferences底层为单例模式
* 2. 读写特定文件所需的Editor对象和SharedPreferences对象两者间有绑定关系
*/
public class SharedStore {
/**
* @param context 当前上下文
* @param fileName 存储文件名
* @param Mode 一般为Context.MODE_PRIVATE
* @return SharedPreferences对象
*/
public static SharedPreferences getSharedPreferences(Context context,String fileName,int Mode) {
return context.getSharedPreferences(fileName,Context.MODE_PRIVATE);
}
/**
* @param context 当前上下文
* @param fileName 存储文件名
* @param Mode 一般为Context.MODE_PRIVATE
* @return SharedPreferences.Editor对象
*/
public static SharedPreferences.Editor getEditor(Context context,String fileName,int Mode){
return getSharedPreferences(context,fileName,Mode).edit();
}
}
package com.example.yummy.tools;
import android.content.Context;
import android.os.Environment;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.Fil