阅读更多

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 获取通讯模块制式类型
  2. Unity同步加载Android里的StreamingAssets里的文件
  3. Ubuntu 下开发 Android(安卓)环境变量设置
  4. android读取联系人信息(学习版)
  5. android 网络图片与网页读取
  6. Android(安卓)File 数据存储
  7. Android(安卓)Log Analysis
  8. android 图片压缩
  9. Android(安卓)Log Analysis bugreport

随机推荐

  1. 深入了解Mysql逻辑架构
  2. MySQL null的一些易错点
  3. MySQL SHOW STATUS语句的使用
  4. MySQL查询缓存的小知识
  5. Mysql技术内幕之InnoDB锁的深入讲解
  6. MySQL 主从同步,事务回滚的实现原理
  7. MySQL 有关MHA搭建与切换的几个错误log汇
  8. MySQL数据归档小工具mysql_archiver详解
  9. 详解MySQL 数据分组
  10. 详解mysql 组合查询