簡體   English   中英

如何從 Android NDK C++ 代碼中讀取共享首選項?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM