[英]How to read shared preferences from Android NDK C++ code?
我想直接從 C++ 代碼中讀取共享首選項。 那可能嗎?
有任何代碼嗎? 謝謝。
這是我要轉錄到 C++ 的內容:
val sharedPref = applicationContext.getSharedPreferences("OF_IR", MODE_PRIVATE)
val paramFromPref = sharedPref.getString("parameter", "")
if (paramFromPref != "") {
}
您可以輕松地從 JNI 調用 Kotlin function。 這是 JNI 文檔。
https://docs.oracle.com/javase/1.5.0/docs/guide/jni/spec/functions.html
您可以找到 FindClass、GetMethodId、CallVoidMethod 等的方法。
這是讀取共享首選項的示例。
jclass jcContext = env->FindClass("android/content/Context");
jclass jcSharedPreferences = env->FindClass("android/content/SharedPreferences");
if(jcContext==nullptr || jcSharedPreferences== nullptr){
__android_log_print(ANDROID_LOG_DEBUG, "SharedPreferences","Cannot find classes");
}
jmGetString=env->GetMethodID(jcSharedPreferences,"getString","(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;");
jmethodID jmGetSharedPreferences=env->GetMethodID(jcContext,"getSharedPreferences","(Ljava/lang/String;I)Landroid/content/SharedPreferences;");
joSharedPreferences=env->CallObjectMethod(androidContext,jmGetSharedPreferences,env->NewStringUTF(name),MODE_PRIVATE);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.