{"id":1235,"date":"2023-03-18T09:25:05","date_gmt":"2023-03-18T01:25:05","guid":{"rendered":"https:\/\/www.appblog.cn\/?p=1235"},"modified":"2023-04-29T09:34:03","modified_gmt":"2023-04-29T01:34:03","slug":"wechat-official-lightweight-key-value-pair-storage-framework-mmkv","status":"publish","type":"post","link":"https:\/\/www.appblog.cn\/index.php\/2023\/03\/18\/wechat-official-lightweight-key-value-pair-storage-framework-mmkv\/","title":{"rendered":"\u5fae\u4fe1\u5b98\u65b9\u8f7b\u91cf\u7ea7\u952e\u503c\u5bf9\u5b58\u50a8\u6846\u67b6MMKV"},"content":{"rendered":"<p>GitHub\uff1a<a target=\"_blank\" rel=\"noopener\" href=\"https:\/\/github.com\/Tencent\/MMKV\">https:\/\/github.com\/Tencent\/MMKV<\/a><br \/>\nAndroid \u6587\u6863\uff1a<a target=\"_blank\" rel=\"noopener\" href=\"https:\/\/github.com\/Tencent\/MMKV\/wiki\/android_tutorial\">https:\/\/github.com\/Tencent\/MMKV\/wiki\/android_tutorial<\/a><\/p>\n<p>MMKV\u4e0eSharedPreferences\u6027\u80fd\u5bf9\u6bd4\uff1a<\/p>\n<p><!-- more --><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/github.com\/Tencent\/MMKV\/wiki\/assets\/profile_android_mini.jpg\" alt=\"MMKV\u4e0eSharedPreferences\u6027\u80fd\u5bf9\u6bd4\" \/><\/p>\n<h2>\u521d\u59cb\u5316MMKV<\/h2>\n<p>\u5728APP\u542f\u52a8\u65f6\u521d\u59cb\u5316MMKV<\/p>\n<pre><code class=\"language-java\">@Override\nprotected void onCreate(Bundle savedInstanceState) {\n    super.onCreate(savedInstanceState);\n    setContentView(R.layout.activity_main);\n\n    String rootDir = MMKV.initialize(this);\n    Log.i(&quot;yezhou&quot;, &quot;mmkv root: &quot; + rootDir);\n    \/\/ mmkv root: \/data\/user\/0\/cn.appblog.mmkv\/files\/mmkv\n}<\/code><\/pre>\n<h2>\u57fa\u672c\u4f7f\u7528<\/h2>\n<p>MMKV\u6709\u4e00\u4e2a\u9ed8\u8ba4\u5168\u5c40\u5b9e\u4f8b\uff0c\u53ef\u4ee5\u76f4\u63a5\u4f7f\u7528<\/p>\n<pre><code class=\"language-java\">MMKV kv = MMKV.defaultMMKV();\n\nkv.encode(&quot;bool&quot;, true);\nLog.i(&quot;yezhou&quot;, &quot;bool: &quot; + kv.decodeBool(&quot;bool&quot;));\n\nkv.encode(&quot;int&quot;, Integer.MIN_VALUE);\nLog.i(&quot;yezhou&quot;, &quot;int: &quot; + kv.decodeInt(&quot;int&quot;));\n\nkv.encode(&quot;long&quot;, Long.MAX_VALUE);\nLog.i(&quot;yezhou&quot;, &quot;long: &quot; + kv.decodeLong(&quot;long&quot;));\n\nkv.encode(&quot;float&quot;, -3.14f);\nLog.i(&quot;yezhou&quot;, &quot;float: &quot; + kv.decodeFloat(&quot;float&quot;));\n\nkv.encode(&quot;double&quot;, Double.MIN_VALUE);\nLog.i(&quot;yezhou&quot;, &quot;double: &quot; + kv.decodeDouble(&quot;double&quot;));\n\nkv.encode(&quot;string&quot;, &quot;Hello from mmkv&quot;);\nLog.i(&quot;yezhou&quot;, &quot;string: &quot; + kv.decodeString(&quot;string&quot;));\n\nbyte[] bytes = {&#039;m&#039;, &#039;m&#039;, &#039;k&#039;, &#039;v&#039;};\nkv.encode(&quot;bytes&quot;, bytes);\nLog.i(&quot;yezhou&quot;, &quot;bytes: &quot; + new String(kv.decodeBytes(&quot;bytes&quot;)));\n\n\/\/ bool: true\n\/\/ int: -2147483648\n\/\/ long: 9223372036854775807\n\/\/ float: -3.14\n\/\/ double: 4.9E-324\n\/\/ string: Hello from mmkv\n\/\/ bytes: mmkv<\/code><\/pre>\n<h2>\u5220\u9664\u53ca\u67e5\u8be2<\/h2>\n<pre><code class=\"language-java\">MMKV kv = MMKV.defaultMMKV();\n\n\/\/ \u5220\u9664Key\u53ca\u67e5\u8be2Key\u9ed8\u8ba4\u503c\nkv.removeValueForKey(&quot;bool&quot;);\nLog.i(&quot;yezhou&quot;, &quot;bool: &quot; + kv.decodeBool(&quot;bool&quot;));\n\n\/\/ \u67e5\u8be2\u6240\u6709Key\nkv.removeValuesForKeys(new String[]{&quot;int&quot;, &quot;long&quot;});\nLog.i(&quot;yezhou&quot;, &quot;allKeys: &quot; + Arrays.toString(kv.allKeys()));\n\n\/\/ \u662f\u5426\u5305\u542bKey\nboolean hasBool = kv.containsKey(&quot;bool&quot;);\nLog.i(&quot;yezhou&quot;, &quot;hasBool: &quot; + hasBool);\n\n\/\/ bool: false\n\/\/ allKeys: [string, float, bytes, double]\n\/\/ hasBool: false<\/code><\/pre>\n<h2>\u72ec\u7acb\u5b58\u50a8<\/h2>\n<p>\u5982\u679c\u4e0d\u540c\u7684\u6a21\u5757\/\u903b\u8f91\u9700\u8981\u72ec\u7acb\u5b58\u50a8\uff0c\u53ef\u4ee5\u521b\u5efa\u72ec\u7acb\u7684MMKV\u5b9e\u4f8b<\/p>\n<pre><code class=\"language-java\">MMKV mmkv = MMKV.mmkvWithID(&quot;user&quot;);\nmmkv.encode(&quot;user_id&quot;, 100);\nLog.i(&quot;yezhou&quot;, &quot;UserId: &quot; + mmkv.decodeInt(&quot;user_id&quot;));<\/code><\/pre>\n<p>\u5982\u679c\u9700\u8981\u652f\u6301\u591a\u8fdb\u7a0b\u8bbf\u95ee\uff0c\u53ef\u4ee5\u5728MMKV\u521d\u59cb\u5316\u65f6\u8bbe\u7f6e <code>MMKV.MULTI_PROCESS_MODE<\/code><\/p>\n<pre><code class=\"language-java\">MMKV mmkv = MMKV.mmkvWithID(&quot;share&quot;, MMKV.MULTI_PROCESS_MODE);\nmmkv.encode(&quot;bool&quot;, true);<\/code><\/pre>\n<h2>\u652f\u6301\u6570\u636e\u7c7b\u578b<\/h2>\n<p>\u57fa\u672c\u7c7b\u578b\uff1a<\/p>\n<pre><code class=\"language-java\">boolean\u3001int\u3001long\u3001float\u3001double\u3001byte[]<\/code><\/pre>\n<p>\u7c7b\u53ca\u96c6\u5408\uff1a<\/p>\n<pre><code class=\"language-java\">String\u3001Set&lt;String&gt;<\/code><\/pre>\n<h2>\u4eceSharedPreferences\u8fc1\u79fb<\/h2>\n<p>\u53c2\u8003\uff1a<a target=\"_blank\" rel=\"noopener\" href=\"https:\/\/github.com\/Tencent\/MMKV\/wiki\/android_tutorial#migrating-from-sharedpreferences\">https:\/\/github.com\/Tencent\/MMKV\/wiki\/android_tutorial#migrating-from-sharedpreferences<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>GitHub\uff1ahttps:\/\/github.com\/Tencent\/MMKV Android \u6587\u6863\uff1ahttps [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[205],"tags":[309],"class_list":["post-1235","post","type-post","status-publish","format-standard","hentry","category-android-database-library","tag-mmkv"],"_links":{"self":[{"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/posts\/1235","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/comments?post=1235"}],"version-history":[{"count":0,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/posts\/1235\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/media?parent=1235"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/categories?post=1235"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.appblog.cn\/index.php\/wp-json\/wp\/v2\/tags?post=1235"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}