中文版本请参看这里
MMKV عبارة عن إطار تخزين فعال وصغير وسهل الاستخدام لقيمة المفتاح المحمول يستخدم في تطبيق WeChat. وهو متوفر حاليًا على أنظمة Android و iOS/macOS و Windows و POSIX و HarmonyOS NEXT .
فعال . يستخدم MMKV mmap للحفاظ على مزامنة الذاكرة مع الملفات، ويستخدم protobuf لتشفير/فك تشفير القيم، مما يحقق أقصى استفادة من Android لتحقيق أفضل أداء.
سهل الاستخدام . يمكنك استخدام MMKV كما تذهب. يتم حفظ جميع التغييرات على الفور، دون الحاجة sync
أو apply
مكالمات.
صغير .
أضف الأسطر التالية إلى build.gradle
في وحدة التطبيق الخاصة بك:
dependencies {
implementation ' com.tencent:mmkv:2.0.1 '
// replace "2.0.1" with any available version
}
للحصول على خيارات التثبيت الأخرى، راجع إعداد Android.
يمكنك استخدام MMKV كما تذهب. يتم حفظ جميع التغييرات على الفور، دون الحاجة sync
أو apply
مكالمات.
قم بإعداد MMKV عند بدء تشغيل التطبيق، قل فئة Application
الخاصة بك، وأضف هذه السطور:
public void onCreate () {
super . onCreate ();
String rootDir = MMKV . initialize ( this );
System . out . println ( "mmkv root: " + rootDir );
//……
}
لدى MMKV مثيل عالمي يمكن استخدامه مباشرةً:
import com . tencent . mmkv . MMKV ;
MMKV kv = MMKV . defaultMMKV ();
kv . encode ( "bool" , true );
boolean bValue = kv . decodeBool ( "bool" );
kv . encode ( "int" , Integer . MIN_VALUE );
int iValue = kv . decodeInt ( "int" );
kv . encode ( "string" , "Hello from mmkv" );
String str = kv . decodeString ( "string" );
يدعم MMKV أيضًا الوصول متعدد العمليات . يمكن العثور على البرامج التعليمية الكاملة هنا دروس Android.
عند كتابة int
عشوائي لـ 1000 مرة، نحصل على هذا المخطط:
لمزيد من البيانات المعيارية، يرجى الرجوع إلى معيارنا.
فعال . يستخدم MMKV mmap للحفاظ على مزامنة الذاكرة مع الملفات، وprotobuf لتشفير/فك تشفير القيم، مما يحقق أقصى استفادة من iOS/macOS لتحقيق أفضل أداء.
سهل الاستخدام . يمكنك استخدام MMKV أثناء التنقل، دون الحاجة إلى أي تكوينات. يتم حفظ كافة التغييرات على الفور، ولا حاجة لمكالمات synchronize
.
صغير .
cd
إلى دليل المشروع الخاص بك، وقم بتشغيل pod repo update
لتوعية CocoaPods بأحدث إصدارات MMKV المتاحة؛pod 'MMKV'
إلى هدف التطبيق الخاص بك؛pod install
؛.xcworkspace
الذي تم إنشاؤه بواسطة CocoaPods؛#import <MMKV/MMKV.h>
إلى ملفك المصدر وبذلك نكون قد انتهينا.للحصول على خيارات التثبيت الأخرى، راجع إعداد iOS/macOS.
يمكنك استخدام MMKV أثناء التنقل، دون الحاجة إلى أي تكوينات. يتم حفظ كافة التغييرات على الفور، ولا حاجة لمكالمات synchronize
. قم بإعداد MMKV عند بدء تشغيل التطبيق، في -[MyApp application: didFinishLaunchingWithOptions:]
، أضف هذه السطور:
- ( BOOL )application:(UIApplication *)application didFinishLaunchingWithOptions:( NSDictionary *)launchOptions {
// init MMKV in the main thread
[MMKV initializeMMKV: nil ];
// ...
return YES ;
}
لدى MMKV مثيل عالمي يمكن استخدامه مباشرةً:
MMKV *mmkv = [MMKV defaultMMKV ];
[mmkv setBool: YES forKey: @" bool " ];
BOOL bValue = [mmkv getBoolForKey: @" bool " ];
[mmkv setInt32: - 1024 forKey: @" int32 " ];
int32_t iValue = [mmkv getInt32ForKey: @" int32 " ];
[mmkv setString: @" hello, mmkv " forKey: @" string " ];
NSString *str = [mmkv getStringForKey: @" string " ];
يدعم MMKV أيضًا الوصول متعدد العمليات . يمكن العثور على الدروس الكاملة هنا.
عند كتابة int
عشوائي لـ 10000 مرة، نحصل على هذا المخطط:
لمزيد من البيانات المعيارية، يرجى الرجوع إلى معيارنا.
فعال . يستخدم MMKV mmap للحفاظ على مزامنة الذاكرة مع الملفات، ويستخدم protobuf لتشفير/فك تشفير القيم، مما يحقق أقصى استفادة من Windows لتحقيق أفضل أداء.
سهل الاستخدام . يمكنك استخدام MMKV كما تذهب. يتم حفظ جميع التغييرات على الفور، ولا save
، ولا يلزم إجراء مكالمات sync
.
صغير .
الحصول على كود المصدر من مستودع git:
git clone https://github.com/Tencent/MMKV.git
أضف Core/core.vcxproj
إلى الحل الخاص بك؛
إضافة مشروع MMKV
إلى تبعيات مشروعك؛
أضف $(OutDir)include
إلى C/C++
الخاص بمشروعك -> General
-> Additional Include Directories
؛
أضف $(OutDir)
إلى Linker
مشروعك -> General
-> Additional Library Directories
؛
أضف mmkv.lib
إلى Linker
مشروعك -> Input
-> Additional Dependencies
؛
أضف #include <MMKV/MMKV.h>
إلى ملفك المصدر وبذلك نكون قد انتهينا.
ملحوظة:
MT/MTd
بشكل افتراضي. إذا كان مشروعك يستخدم MD/MDd
، فيجب عليك تغيير إعداد MMKV ليتوافق مع إعدادات مشروعك ( C/C++
-> Code Generation
-> Runtime Library
)، أو العكس.Platform Toolset
إذا كنت تستخدم إصدارًا مختلفًا من Visual Studio.للحصول على خيارات التثبيت الأخرى، راجع إعداد Windows.
يمكنك استخدام MMKV كما تذهب. يتم حفظ جميع التغييرات على الفور، دون الحاجة sync
أو save
المكالمات.
قم بإعداد MMKV عند بدء تشغيل التطبيق، على سبيل المثال في main()
، وأضف هذه السطور:
# include < MMKV/MMKV.h >
int main () {
std::wstring rootDir = getYourAppDocumentDir ();
MMKV::initializeMMKV (rootDir);
// ...
}
لدى MMKV مثيل عالمي يمكن استخدامه مباشرةً:
auto mmkv = MMKV::defaultMMKV();
mmkv-> set ( true , " bool " );
std::cout << " bool = " << mmkv-> getBool ( " bool " ) << std::endl;
mmkv-> set ( 1024 , " int32 " );
std::cout << " int32 = " << mmkv-> getInt32 ( " int32 " ) << std::endl;
mmkv-> set ( " Hello, MMKV for Windows " , " string " );
std::string result;
mmkv-> getString ( " string " , result);
std::cout << " string = " << result << std::endl;
يدعم MMKV أيضًا الوصول متعدد العمليات . يمكن العثور على البرامج التعليمية الكاملة هنا Windows Tutorial.
فعال . يستخدم MMKV mmap للحفاظ على مزامنة الذاكرة مع الملفات، وprotobuf لتشفير/فك تشفير القيم، مما يحقق أقصى استفادة من POSIX لتحقيق أفضل أداء.
سهل الاستخدام . يمكنك استخدام MMKV كما تذهب. يتم حفظ جميع التغييرات على الفور، ولا save
، ولا يلزم إجراء مكالمات sync
.
صغير .
الحصول على كود المصدر من مستودع git:
git clone https://github.com/Tencent/MMKV.git
قم بتحرير CMakeLists.txt
، وأضف هذه السطور:
add_subdirectory (mmkv/POSIX/src mmkv)
target_link_libraries (MyApp
mmkv)
أضف #include "MMKV.h"
إلى ملفك المصدر وبذلك نكون قد انتهينا.
للحصول على خيارات التثبيت الأخرى، راجع إعداد POSIX.
يمكنك استخدام MMKV كما تذهب. يتم حفظ جميع التغييرات على الفور، دون الحاجة sync
أو save
المكالمات.
قم بإعداد MMKV عند بدء تشغيل التطبيق، على سبيل المثال في main()
، وأضف هذه السطور:
# include " MMKV.h "
int main () {
std::string rootDir = getYourAppDocumentDir ();
MMKV::initializeMMKV (rootDir);
// ...
}
لدى MMKV مثيل عالمي يمكن استخدامه مباشرة:
auto mmkv = MMKV::defaultMMKV();
mmkv-> set ( true , " bool " );
std::cout << " bool = " << mmkv-> getBool ( " bool " ) << std::endl;
mmkv-> set ( 1024 , " int32 " );
std::cout << " int32 = " << mmkv-> getInt32 ( " int32 " ) << std::endl;
mmkv-> set ( " Hello, MMKV for Windows " , " string " );
std::string result;
mmkv-> getString ( " string " , result);
std::cout << " string = " << result << std::endl;
يدعم MMKV أيضًا الوصول متعدد العمليات . يمكن العثور على البرامج التعليمية الكاملة هنا POSIX Tutorial.
فعال . يستخدم MMKV mmap للحفاظ على مزامنة الذاكرة مع الملف، وprotobuf لتشفير/فك تشفير القيم، مما يحقق أقصى استفادة من النظام الأساسي الأصلي لتحقيق أفضل أداء.
سهل الاستخدام . يمكنك استخدام MMKV كما تذهب. يتم حفظ جميع التغييرات على الفور، دون الحاجة إلى sync
أو مكالمات flush
.
صغير .
ohpm install @tencent/mmkv
يمكنك استخدام MMKV كما تذهب. يتم حفظ جميع التغييرات على الفور، دون الحاجة sync
أو apply
مكالمات.
قم بإعداد MMKV عند بدء تشغيل التطبيق، مثل وظيفة EntryAbility.onCreate()
، وأضف هذه السطور:
import { MMKV } from '@tencent/mmkv' ;
export default class EntryAbility extends UIAbility {
onCreate ( want : Want , launchParam : AbilityConstant . LaunchParam ) : void {
let appCtx = this . context . getApplicationContext ( ) ;
let mmkvRootDir = MMKV . initialize ( appCtx ) ;
console . info ( 'mmkv rootDir: ' , mmkvRootDir ) ;
……
}
لدى MMKV مثيل عالمي يمكن استخدامه مباشرة:
import { MMKV } from '@tencent/mmkv' ;
let mmkv = MMKV . defaultMMKV ( ) ;
mmkv . encodeBool ( 'bool' , true ) ;
console . info ( 'bool = ' , mmkv . decodeBool ( 'bool' ) ) ;
mmkv . encodeInt32 ( 'int32' , Math . pow ( 2 , 31 ) - 1 ) ;
console . info ( 'max int32 = ' , mmkv . decodeInt32 ( 'int32' ) ) ;
mmkv . encodeInt64 ( 'int' , BigInt ( 2 ** 63 ) - BigInt ( 1 ) ) ;
console . info ( 'max int64 = ' , mmkv . decodeInt64 ( 'int' ) ) ;
let str : string = 'Hello OpenHarmony from MMKV' ;
mmkv . encodeString ( 'string' , str ) ;
console . info ( 'string = ' , mmkv . decodeString ( 'string' ) ) ;
let arrayBuffer : ArrayBuffer = StringToArrayBuffer ( 'Hello OpenHarmony from MMKV with bytes' ) ;
mmkv . encodeBytes ( 'bytes' , arrayBuffer ) ;
let bytes = mmkv . decodeBytes ( 'bytes' ) ;
console . info ( 'bytes = ' , ArrayBufferToString ( bytes ) ) ;
كما ترون، MMKV سهل الاستخدام للغاية. للحصول على الوثائق الكاملة، راجع البرنامج التعليمي HarmonyOS NEXT.
يتم نشر MMKV بموجب ترخيص BSD المكون من 3 فقرات. للحصول على تفاصيل راجع LICENSE.TXT.
قم بمراجعة CHANGELOG.md للحصول على تفاصيل حول سجل التغيير.
إذا كنت مهتمًا بالمساهمة، فاطلع على CONTRIBUTING.md، وانضم أيضًا إلى خطة Tencent OpenSource الخاصة بنا.
لتوضيح ما هو متوقع من أعضائنا، اعتمدت MMKV مدونة قواعد السلوك المحددة في ميثاق المساهمين، والتي يتم استخدامها على نطاق واسع. ونعتقد أنها تعبر عن قيمنا بشكل جيد. للمزيد، راجع قواعد السلوك.
تحقق من الأسئلة الشائعة أولا. إذا كان هناك أي أسئلة، فلا تتردد في خلق القضايا.
يتم أخذ خصوصية المستخدم على محمل الجد: لا تقوم MMKV بالحصول على أي معلومات شخصية أو جمعها أو تحميلها. يرجى الرجوع إلى قواعد حماية المعلومات الشخصية MMKV SDK للحصول على التفاصيل.