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<GoodsItem> 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<CachedGoodsItems>() {            }.getType());}

更多相关文章

  1. android 读取网络 xml 数据
  2. Android判断文件类型(视频、音频、图片等)
  3. Android读取XML文件(DOM)
  4. 【NFC】Android(安卓)NFC API Reference中英文
  5. Android读取手机联系人信息
  6. Android(安卓)获取电池基本信息代码
  7. Android: 判断网络连接状态及连接类型
  8. Android(安卓)常用mimetype类型
  9. Android(安卓)本地文件管理类

随机推荐

  1. Android(安卓)Studio 单刷《第一行代码》
  2. android ndk 开发之 在 应用程序中使用 j
  3. 搭建 Android(安卓)2.2 开发环境
  4. Android磁盘管理-系统源码分析(1)
  5. 在 Android(安卓)4.1上,分析 input -- and
  6. Android读写XML(上)
  7. Android(安卓)图形系统剖析
  8. Android(安卓)文件系统及权限修改
  9. Android属性gravity与layout_gravity的区
  10. Android(安卓)Trick 7: 把TextView中的文