腾讯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;}
}