Tencent MMKV使用封装实例

news/2025/1/16 15:58:31/
引入依赖版本
implementation 'com.tencent:mmkv-static:1.2.11'
public class TencentMMKV<IMPL extends StoreBox> implements MMKVBehavior<IMPL> {private static TencentMMKV self;private TencentMMKV(){}public static TencentMMKV getInstance(){if(self == null){self = new TencentMMKV();}return self ;}public static void init(Context context) {String rootDir = MMKV.initialize(context.getApplicationContext());}@Overridepublic IMPL save(@NonNull String key, @NonNull Parcelable value) {MMKV.defaultMMKV().encode(key,value);return (IMPL) this;}@Overridepublic IMPL save(@NonNull String key, @NonNull Set<String> value) {MMKV.defaultMMKV().encode(key,value);return (IMPL) this;}@Overridepublic IMPL save(@NonNull String key, @NonNull byte[] value) {MMKV.defaultMMKV().encode(key,value);return (IMPL) this;}@Overridepublic IMPL save(@NonNull String name, @NonNull String key, @NonNull Parcelable value) {MMKV.mmkvWithID(name).encode(key,value);return (IMPL) this;}@Overridepublic IMPL save(@NonNull String name, @NonNull String key, @NonNull Set<String> value) {MMKV.mmkvWithID(name).encode(key,value);return (IMPL) this;}@Overridepublic IMPL save(@NonNull String name, @NonNull String key, @NonNull byte[] value) {MMKV.mmkvWithID(name).encode(key,value);return (IMPL) this;}@Overridepublic IMPL remove(@NonNull String[] keyArr) {MMKV.defaultMMKV().removeValuesForKeys(keyArr);return (IMPL) this;}@Overridepublic IMPL remove(@NonNull String name,@NonNull String[] keyArr) {MMKV.mmkvWithID(name).removeValuesForKeys(keyArr);return (IMPL) this;}@Overridepublic <T extends Parcelable> T getParcelable(@NonNull String key,Class<T> tClass) {return MMKV.defaultMMKV().decodeParcelable(key,tClass);}@Overridepublic Set<String> getStringSet(@NonNull String key) {return MMKV.defaultMMKV().decodeStringSet(key);}@Overridepublic byte[] getByteArray(@NonNull String key) {return MMKV.defaultMMKV().decodeBytes(key);}@Overridepublic <T extends Parcelable> T getParcelable(@NonNull String name, @NonNull String key,Class<T> tClass) {return MMKV.mmkvWithID(name).decodeParcelable(key,tClass);}@Overridepublic Set<String> getStringSet(@NonNull String name, @NonNull String key) {return MMKV.mmkvWithID(name).decodeStringSet(key);}@Overridepublic byte[] getByteArray(@NonNull String name, @NonNull String key) {return MMKV.mmkvWithID(name).decodeBytes(key);}@Overridepublic IMPL save(@NonNull String key, String value) {MMKV.defaultMMKV().encode(key,value);return (IMPL) this;}@Overridepublic IMPL save(@NonNull String key, int value) {MMKV.defaultMMKV().encode(key,value);return (IMPL) this;}@Overridepublic IMPL save(@NonNull String key, double value) {MMKV.defaultMMKV().encode(key,value);return (IMPL) this;}@Overridepublic IMPL save(@NonNull String key, boolean value) {MMKV.defaultMMKV().encode(key,value);return (IMPL) this;}@Overridepublic IMPL save(@NonNull String key, long value) {MMKV.defaultMMKV().encode(key,value);return (IMPL) this;}@Overridepublic IMPL save(@NonNull String key, float value) {MMKV.defaultMMKV().encode(key,value);return (IMPL) this;}@Overridepublic IMPL save(@NonNull String name, @NonNull String key, String value) {MMKV.mmkvWithID(name).encode(key,value);return (IMPL) this;}@Overridepublic IMPL save(@NonNull String name, @NonNull String key, int value) {MMKV.mmkvWithID(name).encode(key,value);return (IMPL) this;}@Overridepublic IMPL save(@NonNull String name, @NonNull String key, double value) {MMKV.mmkvWithID(name).encode(key,value);return (IMPL) this;}@Overridepublic IMPL save(@NonNull String name, @NonNull String key, boolean value) {MMKV.mmkvWithID(name).encode(key,value);return (IMPL) this;}@Overridepublic IMPL save(@NonNull String name, @NonNull String key, long value) {MMKV.mmkvWithID(name).encode(key,value);return (IMPL) this;}@Overridepublic IMPL save(@NonNull String name, @NonNull String key, float value) {MMKV.mmkvWithID(name).encode(key,value);return (IMPL) this;}@Overridepublic String getString(@NonNull String key) {return MMKV.defaultMMKV().decodeString(key,"");}@Overridepublic int getInteger(@NonNull String key) {return MMKV.defaultMMKV().decodeInt(key);}@Overridepublic double getDouble(@NonNull String key) {return MMKV.defaultMMKV().decodeDouble(key);}@Overridepublic boolean getBoolean(@NonNull String key) {return MMKV.defaultMMKV().decodeBool(key);}@Overridepublic long getLong(@NonNull String key) {return MMKV.defaultMMKV().decodeLong(key);}@Overridepublic float getFloat(@NonNull String key) {return MMKV.defaultMMKV().decodeFloat(key);}@Overridepublic String getString(@NonNull String name, @NonNull String key) {return MMKV.mmkvWithID(name).decodeString(key,"");}@Overridepublic int getInteger(@NonNull String name, @NonNull String key) {return MMKV.mmkvWithID(name).decodeInt(key);}@Overridepublic double getDouble(@NonNull String name, @NonNull String key) {return MMKV.mmkvWithID(name).decodeDouble(key);}@Overridepublic boolean getBoolean(@NonNull String name, @NonNull String key) {return MMKV.mmkvWithID(name).decodeBool(key);}@Overridepublic long getLong(@NonNull String name, @NonNull String key) {return MMKV.mmkvWithID(name).decodeLong(key);}@Overridepublic float getFloat(@NonNull String name, @NonNull String key) {return MMKV.mmkvWithID(name).decodeFloat(key);}@Overridepublic String getStringWithDefault(@NonNull String key, String defaultValue) {return MMKV.defaultMMKV().decodeString(key,defaultValue);}@Overridepublic int getIntegerWithDefault(@NonNull String key, int defaultValue) {return MMKV.defaultMMKV().decodeInt(key,defaultValue);}@Overridepublic double getDoubleWithDefault(@NonNull String key, double defaultValue) {return MMKV.defaultMMKV().decodeDouble(key,defaultValue);}@Overridepublic boolean getBooleanWithDefault(@NonNull String key, boolean defaultValue) {return MMKV.defaultMMKV().decodeBool(key,defaultValue);}@Overridepublic long getLongWithDefault(@NonNull String key, long defaultValue) {return MMKV.defaultMMKV().decodeLong(key,defaultValue);}@Overridepublic float getFloatWithDefault(@NonNull String key, float defaultValue) {return MMKV.defaultMMKV().decodeFloat(key,defaultValue);}@Overridepublic String getStringWithDefault(@NonNull String name, @NonNull String key, String defaultValue) {return MMKV.mmkvWithID(name).decodeString(key,defaultValue);}@Overridepublic int getIntegerWithDefault(@NonNull String name, @NonNull String key, int defaultValue) {return MMKV.mmkvWithID(name).decodeInt(key,defaultValue);}@Overridepublic double getDoubleWithDefault(@NonNull String name, @NonNull String key, double defaultValue) {return MMKV.mmkvWithID(name).decodeDouble(key,defaultValue);}@Overridepublic boolean getBooleanWithDefault(@NonNull String name, @NonNull String key, boolean defaultValue) {return MMKV.mmkvWithID(name).decodeBool(key,defaultValue);}@Overridepublic long getLongWithDefault(@NonNull String name, @NonNull String key, long defaultValue) {return MMKV.mmkvWithID(name).decodeLong(key,defaultValue);}@Overridepublic float getFloatWithDefault(@NonNull String name, @NonNull String key, float defaultValue) {return MMKV.mmkvWithID(name).decodeFloat(key,defaultValue);}@Overridepublic IMPL remove(String key) {MMKV.defaultMMKV().remove(key);return (IMPL) this;}@Overridepublic IMPL remove(String name, String key) {MMKV.mmkvWithID(name).remove(key);return (IMPL) this;}}
public interface MMKVBehavior<IMPL extends MMKVBehavior> extends StoreBaseBehavior<IMPL> {IMPL save(@NonNull String key, @NonNull Parcelable value);IMPL save(@NonNull String key, @NonNull Set<String> value);IMPL save(@NonNull String key, @NonNull byte[] value);IMPL save(@NonNull String name, @NonNull String key, @NonNull Parcelable value);IMPL save(@NonNull String name, @NonNull String key, @NonNull Set<String> value);IMPL save(@NonNull String name, @NonNull String key, @NonNull byte[] value);IMPL remove(@NonNull String[] keyArr);IMPL remove(@NonNull String name, @NonNull String[] keyArr);<T extends Parcelable> T getParcelable(@NonNull String key, Class<T> tClass);Set<String> getStringSet(@NonNull String key);byte[] getByteArray(@NonNull String key);<T extends Parcelable> T getParcelable(@NonNull String name, @NonNull String key, Class<T> tClass);Set<String> getStringSet(@NonNull String name, @NonNull String key);byte[] getByteArray(@NonNull String name, @NonNull String key);}
public interface StoreBaseBehavior<IMPL extends StoreBaseBehavior> {IMPL save(@NonNull String key, String value);IMPL save(@NonNull String key, int value);IMPL save(@NonNull String key, double value);IMPL save(@NonNull String key, boolean value);IMPL save(@NonNull String key, long value);IMPL save(@NonNull String key, float value);IMPL save(@NonNull String name, @NonNull String key, String value);IMPL save(@NonNull String name, @NonNull String key, int value);IMPL save(@NonNull String name, @NonNull String key, double value);IMPL save(@NonNull String name, @NonNull String key, boolean value);IMPL save(@NonNull String name, @NonNull String key, long value);IMPL save(@NonNull String name, @NonNull String key, float value);String getString(@NonNull String key);int getInteger(@NonNull String key);double getDouble(@NonNull String key);boolean getBoolean(@NonNull String key);long getLong(@NonNull String key);float getFloat(@NonNull String key);String getString(@NonNull String name, @NonNull String key);int getInteger(@NonNull String name, @NonNull String key);double getDouble(@NonNull String name, @NonNull String key);boolean getBoolean(@NonNull String name, @NonNull String key);long getLong(@NonNull String name, @NonNull String key);float getFloat(@NonNull String name, @NonNull String key);String getStringWithDefault(@NonNull String key, String defaultValue);int getIntegerWithDefault(@NonNull String key, int defaultValue);double getDoubleWithDefault(@NonNull String key, double defaultValue);boolean getBooleanWithDefault(@NonNull String key, boolean defaultValue);long getLongWithDefault(@NonNull String key, long defaultValue);float getFloatWithDefault(@NonNull String key, float defaultValue);String getStringWithDefault(@NonNull String name, @NonNull String key, String defaultValue);int getIntegerWithDefault(@NonNull String name, @NonNull String key, int defaultValue);double getDoubleWithDefault(@NonNull String name, @NonNull String key, double defaultValue);boolean getBooleanWithDefault(@NonNull String name, @NonNull String key, boolean defaultValue);long getLongWithDefault(@NonNull String name, @NonNull String key, long defaultValue);float getFloatWithDefault(@NonNull String name, @NonNull String key, float defaultValue);IMPL remove(String key);IMPL remove(String name, String key);}
初始化
TencentMMKV.init(this)


http://www.ppmy.cn/news/601561.html

相关文章

Tencent是什么意思?腾讯?

腾讯的英文名什么意思&#xff1f;引用知乎腾讯官方认证的回答 腾讯的英文名之所以叫Tencent&#xff0c;灵感来自Lucent&#xff08;朗讯&#xff09;&#xff0c;“当时讲究左右对称&#xff0c;Tencent就很对称”。把这个词分开来&#xff0c;就是Ten Cent&#xff08;十分&…

微服务平台(Tencent Service Framework,TSF)

微服务平台 TSF - 文档中心 - 腾讯云 (tencent.com) TSF 服务治理平台对比基于开源 SpringCloud 自建平台&#xff0c;具有以下优势&#xff1a; 对比项腾讯微服务平台 TSF Paas 平台基于开源 SpringCloud 自建平台服务注册中心平台提供高可用的注册中心集群&#xff0c;金融级…

tencent cloud 安装java环境

安装jdk&#xff0c;Tomcat Java 的 JDK 有 2 套&#xff0c;一是 Oracle 的 JDK&#xff0c;另一个就是 OpenJDK 了。这里我们选择的是 OpenJDK 来作为 Java 的开发环境。 我使用的是系统自带的OpenJDK。 在命令窗口输入yum search java | grep -i –color JDK可以查看所有…

tencent腾讯——面试

前面看大家都面得比较郁闷&#xff0c;可能我运气好点&#xff0c;就是等的时间太长了。。。 通知我10&#xff1a;50二面&#xff0c;10&#xff1a;30赶到&#xff0c;说把我简历带到别的地方去了&#xff0c;让我等&#xff0c;11&#xff1a;30终于轮到我。面的过程基本就谈…

tencent://message/?uin=80081608

tencent://message/?uin80081608 启动qq聊天。

SrpingCloud Tencent Polaris中的组件

北极星包含哪些组件 北极星组件分为控制平面、数据平面以及生态组件3大类&#xff0c;通过这3大类组件&#xff0c;组成一套完整的微服务治理体系。 控制平面 控制平面负责服务和配置资源的整体调度和下发&#xff0c;用户在控制平面对数据进行查看和编辑规则&#xff0c;控制…

重磅!腾讯正式开源 Spring Cloud Tencent

Hollis的新书限时折扣中&#xff0c;一本深入讲解Java基础的干货笔记&#xff01; 来源&#xff1a;InfoQ 为什么要做 Spring Cloud Tencent Spring Boot Spring Cloud 仍是 Java 生态最主流的框架 2014 年 4 月 Spring Boot 发布 1.0 版本&#xff0c;经过 8 年时间的发展&am…

Tencent APIJSON-自动化接口和文档 ORM 库开源啦

APIJSON是一种专为API而生的JSON网络传输协议以及基于这套协议实现的ORM库。 为简单的增删改查、复杂的查询、简单的事务操作提供了完全自动化的API。 能大幅降低开发和沟通成本&#xff0c;简化开发流程&#xff0c;缩短开发周期。 通过自动化API&#xff0c;前端可以定制任何…