阅读更多

1. 常规操作

 

1)保存简单变量

final SharedPreferences prefs =            activity.getSharedPreferences(CACHE_NAME, 0);SharedPreferences.Editor spEditor = prefs.edit();spEditor.putString(CACHED_STR_CONSTANT_NAME, cachedStr);spEditor.apply();

 

2)读取简单变量

String cacheStr = activity.getSharedPreferences(CACHE_NAME, 0)            .getString(CACHED_STR_CONSTANT_NAME, null);

 

3)删除特定变量

final SharedPreferences prefs =        activity.getSharedPreferences(CACHE_NAME, 0);SharedPreferences.Editor spEditor = prefs.edit();spEditor.remove(CACHED_STR_CONSTANT_NAME);spEditor.apply();

 

4)清空所有变量

final SharedPreferences prefs =        activity.getSharedPreferences(CACHE_NAME, 0);SharedPreferences.Editor spEditor = prefs.edit();spEditor.clear();spEditor.apply();

 

2. 复杂类型

       可以考虑SQLite,但是如果数据量并不是很大可以考虑先转成json字符串,再存储;读取的时候再将该json串转化为对象。

 

比如要保留N个商品的信息

1)首先创建GoodsItem类:

public class GoodsItem {    String goodsName;    Float goodsPrice;    //...}

 

2)然后创建用于json解析的class,包含所有数据的字段:

public class CachedGoodsItems {    List goodsItems;    //...}

 

3)存储(此处使用Gson将对象转换为json串,cachedGoodsItems为CachedGoodsItems 类型)

Gson gson = new Gson();String cachedStr = gson.toJson(cachedGoodsItems);final SharedPreferences prefs =    activity.getSharedPreferences(CACHE_NAME, 0);SharedPreferences.Editor spEditor = prefs.edit();spEditor.putString(CACHED_STR_CONSTANT_NAME, cachedStr);spEditor.apply();

 

4)读取(此处使用Gson解析,cachedGoodsItems为CachedGoodsItems 类型)

String cacheStr = activity.getSharedPreferences(CACHE_NAME, 0)                .getString(CACHED_STR_CONSTANT_NAME, null);if (cacheStr != null) {    Gson gson = new Gson();    cachedGoodsItems = gson.fromJson(cacheStr, new TypeToken() {            }.getType());}

 

 

更多相关文章

  1. android application级别的图片缓存
  2. Android读取服务器图片
  3. Android:JPEG EXIF信息添加
  4. android读取SD卡下面所有的TXT文件名,listView显示出来。
  5. android过滤隐藏文件FileFilter
  6. Android(安卓)把Layout变成图片
  7. android中读取短信
  8. Android(安卓)判断手机的Rom类型
  9. Android(安卓)获取播放视频的相关 内容,  分辨率, 方向,作者信

随机推荐

  1. Android开发人员面试整理
  2. 原创:Android 基础 控件 之 TextVIew(一)
  3. Android BaseAdapter 例子
  4. android之PULL生成xml文档
  5. 使用HTTPclient访问豆瓣API问题
  6. Android 滚动时间选择
  7. Android OpenGL ES 画正方形
  8. android通过BitmapFactory.decodeFile获
  9. Android实现KSOAP2访问WebService
  10. Android 如何 画 柱状图 -------自定义Vi