腾讯MMKV使用

implementation 'com.tencent:mmkv-static:1.2.9'
MMKV.initialize(this);//会返回MMVK存储的目录(String)

创建MMKV,可以通过 defaultMMKV() 来创建,这个是全局默认的;也可以通过 mmkvWithID() 对应自己业务来创建

 MMKV mmkv = MMKV.defaultMMKV();MMKV mmkv2 = MMKV.mmkvWithID("mmapID");//写入Intmmkv.encode("keyName1", 123);//写入Stringmmkv.encode("keyName2", "Text");//写入Booleanmmkv.encode("keyName3", false);//写入Longmmkv.encode("keyName4", 22.56f);LgqLogPlus.d("mmkv===== "+mmkv.decodeInt("keyName1",22));LgqLogPlus.d("mmkv==keyName3=== "+mmkv.decodeFloat("keyName4"));

方法一

保存
List<IndustryListEntity> indutryEntityList = new ArrayList<>();//行业id 名称 还有很多
indutryEntityList.addAll(FastJsonUtils.getObjectsList(t.getData(), IndustryListEntity.class));
for (int i = 0; i < indutryEntityList.size(); i++) {industryId = String.valueOf(indutryEntityList.get(i).getIndustryId());//把数字变成String 行业idString industryNm = indutryEntityList.get(i).getIndustryNm();//行业名称SharedPreferences sharedPreferences = getSharedPreferences("industryInfo", Context.MODE_PRIVATE); //私有数据SharedPreferences.Editor editor = sharedPreferences.edit();//获取编辑器editor.putString(industryNm, industryId);//名称 ideditor.putString(industryId, industryNm);//id  名称editor.commit();//提交修改industryList.add(industryNm);//行业id 行业名称 获取最终行业名称列表

}

读取

SharedPreferences share = getSharedPreferences("industryInfo", Activity.MODE_PRIVATE);
String industryOne = share.getString(item, "");//名称 获取id

方法二

添加依赖:

implementation 'com.google.code.gson:gson:2.8.5'

1、创建对象

public class TestBean {String name;String title;int  id;
}

2、创建保存工具类

    private static void initContext() {if (mContext == null){mContext = App.instance();
//            sp= mContext.getSharedPreferences("lg", 0);}sp= mContext.getSharedPreferences("lg", 0);}
/*** @author : LGQ* @date : 2020/04/29 15* @desc :*/public class ShareUtil {private static SharedPreferences sp;private static Context mContext;// preferences.edit().clear().commit();  清空数据private static void initContext() {if (mContext == null){mContext = MyAPP.getTotalContext();sp= mContext.getSharedPreferences("lg", 0);}}public static int  getSharedInt(String key){initContext();int re = 0;re = sp.getInt(key, -1);return re;}public static int getSharedInt(int nResID) {initContext();return sp.getInt(mContext.getString(nResID), 0);}public static String getSharedString(int nResID) {initContext();return sp.getString(mContext.getString(nResID), "");}public static String getSharedString(String key){initContext();String s = sp.getString(key,"");return s;}public static long getSharedlong(String key){initContext();long s = sp.getLong(key, 0);return s;}public static long getSharedlong(int nResID){initContext();long s = sp.getLong(mContext.getString(nResID), 0);return s;}public static void sharedPint(String key,int value){initContext();SharedPreferences.Editor editor = sp.edit();editor.putInt(key, value);editor.commit();}public static void sharedPint(int nResID, int content) {initContext();sp.edit().putInt(mContext.getString(nResID), content).commit();}public static void sharedPstring(int nResID, String strContent) {initContext();if (isEmpty(strContent)){strContent = "";}sp.edit().putString(mContext.getString(nResID), strContent).commit();}public static void editLong(int nResID, long content) {initContext();sp.edit().putLong(mContext.getString(nResID), content).commit();}public static void editLong(String strKey, long content) {initContext();sp.edit().putLong(strKey, content).commit();}public static void sharedPstring(String key,String value){initContext();SharedPreferences.Editor editor = sp.edit();editor.putString(key,value);editor.commit();}public static void deleP(){initContext();sp = mContext.getSharedPreferences("lg",0);sp.edit().clear().commit();}public static boolean isEmpty(String input) {if (input == null || "".equals(input) || input.equals("null"))return true;for (int i = 0; i < input.length(); i++) {char c = input.charAt(i);if (c != ' ' && c != '\t' && c != '\r' && c != '\n') {return false;}}return true;}
}

付APP代码

private static Context mTotalContext;
mTotalContext = this.getApplicationContext();
public static Context getTotalContext() {return mTotalContext;
}

3、创建格式转换Gson解析工具类

/*** @author : LGQ* @date : 2020/04/29 15* @desc :*/
public class  GsonUtils {private static Gson mGSon = (new GsonBuilder()).disableHtmlEscaping().create();public static String parseObjToJsonStr(Object srcObj) {String result = "";if (mGSon == null) {mGSon = (new GsonBuilder()).disableHtmlEscaping().create();}try {result = mGSon.toJson(srcObj);} catch (Exception var4) {Log.getStackTraceString(var4);}return result;}public static <T> T parseJsonStrToObj(String src, Class<T> classOfT) {if (TextUtils.isEmpty(src)) {return null;} else {T result = null;if (mGSon == null) {mGSon = (new GsonBuilder()).disableHtmlEscaping().create();}try {result = mGSon.fromJson(src, classOfT);} catch (Exception var5) {Log.getStackTraceString(var5);}return result;}}public static  <T> T parseJsonStrToObj(String json, Type typeOfT) {T result = null;if (mGSon == null) {mGSon = (new GsonBuilder()).disableHtmlEscaping().create();}try {result = mGSon.fromJson(json, typeOfT);} catch (Exception var5) {Log.getStackTraceString(var5);}return result;}
}

4、调用即可

TestBean testBean = new TestBean();
testBean.id=6;
testBean.name="abbc";
testBean.title="标题";List<TestBean> list = new ArrayList<>();
list.add(testBean);ShareUtil.sharedPstring("te1",GsonUtils.parseObjToJsonStr(testBean));
ShareUtil.sharedPstring("te12",GsonUtils.parseObjToJsonStr(list));TestBean testBean1 = getUserInfoBean();
Log.i("lgq00000000000000=== ",testBean1.name);List<TestBean> list2 = new ArrayList<>();
list2 = getList();
Log.i("lgq055555000=== ",list2.get(0).title);
public static TestBean getUserInfoBean() {return GsonUtils.parseJsonStrToObj(ShareUtil.getSharedString("te1"), TestBean.class);
}
public static List<TestBean> getList(){return GsonUtils.parseJsonStrToObj(ShareUtil.getSharedString("te12"),new TypeToken<ArrayList<TestBean>>(){}.getType());
}

保存搜索历史工具方法

去重

/*** 保存历史数据
* */
public static boolean  baocun(String name){boolean ifend = false;boolean ifyou= false;String ss = ShareUtil.getSharedString("lishi1");List<String> list = new ArrayList<>();if (TextUtils.isEmpty(ss)){list.add(name);}else {Gson gson = new Gson();list =gson.fromJson(ss,  new TypeToken<List<String>>() {}.getType());for (int c = 0;c<list.size();c++){if (list.get(c).equals(name)){ifyou = true;break;}else {ifyou = false;}}if (ifyou==false){list.add(name);}}String  as = MyUtils.parseObjToJsonStr(list);ShareUtil.sharedPstring("lishi1",as);ifend = true;return ifend;
}
/*** 保存历史数据
* */
public static boolean  baocun(String name){boolean ifend = false;String ss = ShareUtil.getSharedString("lishi1");List<String> list = new ArrayList<>();if (TextUtils.isEmpty(ss)){list.add(name);}else {Gson gson = new Gson();list =gson.fromJson(ss,  new TypeToken<List<String>>() {}.getType());list.add(name);}String  as = MyUtils.parseObjToJsonStr(list);ShareUtil.sharedPstring("lishi1",as);ifend = true;return ifend;
}/*** 读取历史数据* */public static List<String> getbaocunList(){List<String> list = new ArrayList<>();String ss = ShareUtil.getSharedString("lishi1");if (TextUtils.isEmpty(ss)){}else {Gson gson = new Gson();list =gson.fromJson(ss,  new TypeToken<List<String>>() {}.getType());}return list;
}
/*** 删除历史数据* */public static boolean delebaocun(int point){boolean ifend= false;List<String> list = new ArrayList<>();String ss = ShareUtil.getSharedString("lishi1");LgqLog.e("删除数据=====  "+ss);if (TextUtils.isEmpty(ss)){ifend=false;}else {Gson gson = new Gson();list =gson.fromJson(ss,  new TypeToken<List<String>>() {}.getType());list.remove(point);}String  as = MyUtils.parseObjToJsonStr(list);ShareUtil.sharedPstring("lishi1",as);return ifend;
}

搜索历史

1、导入依赖

//搜索历史记录
implementation 'com.wenwenwen888:searchbox:1.0.1'
implementation 'com.android.support:recyclerview-v7:26.0.0-beta2'

2、引用

implements IOnSearchClickListener
private SearchFragment searchFragment;
searchFragment = SearchFragment.newInstance();searchFragment.setOnSearchClickListener(this);
searchFragment.showFragment(getSupportFragmentManager(), SearchFragment.TAG);

附件:

public class MyAPP extends Application {private static Context mTotalContext;@Overridepublic void onCreate() {super.onCreate();mTotalContext = this.getApplicationContext();}public static Context getTotalContext() {return mTotalContext;}
}

SharedPreferences保存对象以及集合,腾讯MMKV使用,保存搜索历史相关推荐

  1. SpringBoot中使用Redis保存对象或集合

    1,引入SpringBoot中Redis依赖 <!-- redis --> <dependency><groupId>org.springframework.boo ...

  2. 【oracle】oracle筛选后导出表,载入对象选择,保存对象选择,save object selection的使用,过滤clob导出,利用osf文件

    现有如下场景:oracle导出所有表的SQL语句,包括数据. 直接用dump是不行了.导出SQL,可行,但是遇到blob,clob文件,还是没办法导出. 我们可以先把所有不带blob,clob的表筛选 ...

  3. android 使用SharedPreferences保存对象

    今天,简单讲讲Android如何使用SharedPreferences保存对象. 记得之前写过一遍博客关于android如何使用SharedPreferences保存List<String> ...

  4. android 屏幕关闭 eofexception,android EOFException异常解决办法 (SharedPreferences保存对象)...

    SharePreferences可以保存String 但是不能保存对象 这不符合面向对象. 为此可以通过序列化和反序列化将Serializable对象和字符串相互转化 所以可以将Serizlizabl ...

  5. android 对象 保存,Android使用SharedPreferences保存对象

    核心原理: 对象序列化 步骤 1.要保存的对象实现序列化Serializable 2.将序列化的对象保存String(本文的做法是保存为byte数组在转为16进制的String类型保存起来) 3.将保 ...

  6. android SharedPreferences 存储对象

    原文地址为: android SharedPreferences 存储对象 我们知道SharedPreferences只能保存简单类型的数据,例如,String.int等. 如果想用SharedPre ...

  7. android sharedpreferences 存储对象,android中SharedPreferences实现存储用户名功能

    1. 简介 SharedPreferences是一种轻型的数据存储方式,通过key-value键值对的方式将数据存储在xml文件中,常用于存储简单的配置信息. 2. 使用方式 2.1 获取Shared ...

  8. 【Redis】redis如何保存对象

    redis数据结构: String--字符串 Hash--字典 List--列表 Set--集合 Sorted Set--有序集合 redisTemplate.opsForValue();//操作字符 ...

  9. java不同对象的集合拷贝_集合java对象

    JAVA基础教程汇总 到这一篇博客为止,JAVA的基础部分已经介绍完了,这一篇为基础部分的汇总. JAVA介绍 JAVA概述 Java的特点 JDK/bin目录下的不同exe文件的用途 JAVA环境变 ...

最新文章

  1. JavaScript setTimeout() 介绍
  2. AWS — AWS 上的 MEC
  3. 图片对服务器性能,关于适用base64对图片进行编码在服务器上性能的相关讨论
  4. 为Qt Designer创建自定义Widgets小部件
  5. js实现数组降维算法[不准用Array.prototype.flat的api]
  6. 与时间赛跑:微盟的数据恢复为什么需要这么长时间?
  7. html对图片轮播脚本怎么调用,【jquery前端开发】可调整的幻灯片(图片轮播)
  8. java存款输入密码类,创建一个银行账户类,包括账号、用户姓名、密码和余额属性,实现开户、查询余额、取款、存款功能。...
  9. NotePad++ 调试PHP代码中文显示乱码
  10. 图像预处理第1步:将256色图像转化为灰度图像
  11. lopatkin俄大神精简中文系统Windows 10 Enterprise 2016 LTSB 14393.577 x86-x64 ZH-CN PIP
  12. 简单了解芯片封装技术
  13. RK61 RGB 蓝牙双模键盘使用说明
  14. Tri Tiling
  15. MacBook Pro安装系统指定版本的系统
  16. 山东省2020年12月计算机考试,12月20日开始报名!山东2020年3月全国计算机等级考试注意事项来咯...
  17. python tus股票数据分析_使用Python进行快速复盘[1]: 数据获取与整理
  18. 【Odin插件】Unity补完计划
  19. python拟合曲线_python曲线拟合
  20. Three.js--》实现3d地球模型展示

热门文章

  1. [css] 你是怎样对css文件进行压缩合并的?
  2. 前端学习(2320):typeScript的概述和安装
  3. 前端学习(2165):vuecli3创建项目和目录结构
  4. 前端学习(1127):递归求数学题2
  5. 前端学习(625):数据类型导读
  6. 73 forward动作
  7. 数字图像处理系统组成 及研究内容
  8. 【JavaScript】appendChild一个的注意点之会删除原dom树节点
  9. java pdf文件压缩_PDF文件压缩转换教程
  10. android无感刷新下拉分页,GitHub - TakWolf/Android-RefreshAndLoadMore-Demo: 一种简单的并且优雅的方式实现下拉刷新和加载更多的分页效果。...