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()); }
相关推荐
android应用SharedPreferences_Demoandroid应用SharedPreferences_Demoandroid应用SharedPreferences_Demoandroid应用SharedPreferences_Demoandroid应用SharedPreferences_Demoandroid应用SharedPreferences_Demo...
Fit 利用 SharedPreferences 存储对象
Jetpack DataStore 是一种改进的新数据存储解决方案,允许使用协议缓冲区存储键值对或类型化对 象。 DataStore 以异步、一致的事务方式存储数据,克服了 SharedPreferences(以下统称为SP)的 一些缺点。 DataStore ...
Android SharedPreferences应用 实现本地注册登陆 功能简单易懂(实例) http://blog.csdn.net/h1028962069/article/details/9129851 文章代码
android学习SharedPreferences使用demo源代码
SharedPreferences是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息。其存储位置在/data/data/<包名>/shared_prefs目录下。SharedPreferences对象本身只能...
在Android使用SharedPreferences实现自动登录
Android系统SharedPreferences进行的封装
利用SharedPreferences设置初始密码,并修改密码。详见http://blog.csdn.net/chenfengdejuanlian/article/details/46331031
android SharedPreferences记录你的登录信息
android,SharedPreferences
NULL 博文链接:https://2528.iteye.com/blog/1048725
使用SharedPreferences保存key-value对
Android使用SharedPreferences进行数据存储,缓存ID等数据
Android SharedPreferences SP 工具类,存储临时数据用
android SharedPreferences 载入已记住的用户信息,类写的简单易懂,很清楚
Android使用SharedPreferences保存账号密码
Simple Android SharedPreferences wrapper. Repository Add this in your root build.gradle file (not your module build.gradle file): allprojects { repositories { ... maven { url ...
SharedPreferences简单数据存储使用的方法
android 使用SharedPreferences对数据存储/删除/读取/文件删除