SharedPreferences是Android中最容易理解的数据存储技术,实际上SharedPreferences处理的就是一个key-value(键值对)SharedPreferences常用来存储一些轻量级的数据。
获取SharedPreferences的两种方式:
1 调用Context对象的getSharedPreferences()方法
2 调用Activity对象的getPreferences()方法
两种方式的区别:
调用Context对象的getSharedPreferences()方法获得的SharedPreferences对象可以被同一应用程序下的其他组件共享.
调用Activity对象的getPreferences()方法获得的SharedPreferences对象只能在该Activity中使用.
保存List对象
public static void saveListToSharedPreferences(Context mContext,
List<String> list) {
SharedPreferences spf = mContext.getSharedPreferences("List",
Context.MODE_PRIVATE);
Editor editor = spf.edit();
//保存list大小
editor.putInt("size", list.size());
for (int i = 0; i < list.size(); i++) {
if (!list.get(i).equals("")) {
//保存list的每一个String
editor.putString("list" + i, list.get(i));
}
}
editor.commit();
}
取出list
public static List<String> getListFromSharedPreferences(Context mContext) {
List<String> list = new ArrayList<String>();
SharedPreferences spf = mContext.getSharedPreferences("List",
Context.MODE_PRIVATE);
int size = spf.getInt("size", 0);
if (size == 0) {
list = null;
} else {
for (int i = 0; i < size; i++) {
String string = spf.getString("list" + i, null);
list.add(string);
}
}
return list;
}