轻量级数据存储 -- MMKV

2020-05-24  本文已影响0人  TomyZhang

一、使用

MMKV使用

//build.gradle
implementation 'com.tencent:mmkv:1.0.19'

//MyApplication
String rootDir = MMKV.initialize(this);
Log.d(TAG, "zwm, mmkv root: " + rootDir);

//MainActivity
MMKV mmkv = MMKV.defaultMMKV();
mmkv.encode("default_key", "default_value");
Log.d(TAG, "zwm, default_key: " + mmkv.decodeString("default_key"));

MMKV mmkv2 = MMKV.mmkvWithID("tomorrow");
mmkv2.encode("tomorrow_key", "tomorrow_value");
Log.d(TAG, "zwm, tomorrow_key: " + mmkv2.decodeString("tomorrow_key"));

//日志
zwm, mmkv root: /data/user/0/com.tomorrow.target28/files/mmkv
zwm, default_key: default_value
zwm, tomorrow_key: tomorrow_value

二、原理

MMKV原理

三、封装

import com.tencent.mmkv.MMKV;

public class KVUtils {
    public static boolean put(String key, String value) {
        MMKV mmkv = MMKV.defaultMMKV();
        return mmkv.encode(key, value);
    }

    public static String get(String key, String defaultValue) {
        MMKV mmkv = MMKV.defaultMMKV();
        return mmkv.decodeString(key, defaultValue);
    }

    public static boolean put(String id, String key, String value) {
        MMKV mmkv = MMKV.mmkvWithID(id);
        return mmkv.encode(key, value);
    }

    public static String get(String id, String key, String defaultValue) {
        MMKV mmkv = MMKV.mmkvWithID(id);
        return mmkv.decodeString(key, defaultValue);
    }
}

四、迁移

//存储数据到SharedPreferences
//SharedPreferences sp = getSharedPreferences("sp_name", MODE_PRIVATE);
//sp.edit().putString("sp_key", "sp_value").apply();
//Log.d(TAG, "zwm, sp_key: " + sp.getString("sp_key", null));

//从SharedPreferences迁移数据到MMKV
MMKV mmkv = MMKV.mmkvWithID("sp_name");
SharedPreferences sp = getSharedPreferences("sp_name", MODE_PRIVATE);
int size = mmkv.importFromSharedPreferences(sp);
sp.edit().clear().commit();
Log.d(TAG, "zwm, importFromSharedPreferences, size: " + size);

//从MMKV读取数据
Log.d(TAG, "zwm, sp_key: " + KVUtils.get("sp_name", "sp_key", null));

//日志
zwm, importFromSharedPreferences, size: 1
zwm, sp_key: sp_value
上一篇下一篇

猜你喜欢

热点阅读