我正在尝试使用JNI从Android上的sharedPreferences代码中获取一个字符串。我可以使用以下代码成功地获得用于MethodID的getBoolean:
jmethodID getBooleanMethodID = JEnv->GetMethodID(sharedPreferencesClass, "getBoolean", "(Ljava/lang/String;Z)Z");getBoolean函数在Java中定义为getBoolean(字符串键,布尔defValue)
但是,我不知道如何正确地格式化GetMethodID参数的getString。getString函数在Java中定义为getString(String,String defValue)
我试过:
jmethodID getStringMethodID = JEnv->GetMethodID(sharedPreferencesClass, "getString", "(Ljava/lang/String;Ljava/lang/String)");有人能提供正确的方式来格式化getString的参数参数吗?
发布于 2022-08-19 16:25:22
正确的格式是:
jmethodID getStringMethodID = JEnv->GetMethodID(sharedPreferencesClass, "getString", "(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;");我的原始记录有几个问题。首先,括号内的第二个字符串arg需要一个分号.然后,我需要添加返回类型,也是一个字符串,并确保它在末尾也有一个分号。
https://stackoverflow.com/questions/73419022
复制相似问题