NDK: Как использовать константы.c в классе Java
Я пытаюсь определить константу в файле.C и использовать эту константу в файле.Class в моем классе. Как я могу это сделать? Я совершенно новый для NDK. Я определил константу здесь.
const jstring BASE_URL ="http://www.google.com";'
В настоящее время я использую эту константу, вызывая метод
jstring
Java_com_example_hellojni_HelloJni_variableData(JNIEnv *env) {
return (*env)->NewStringUTF(env, BASE_URL);
}
Как я могу использовать его непосредственно в моем коде Java
1 ответ
Решение
Ваш метод работает. Я могу дать вам другой путь из моего опыта:
Создайте пользовательский объект Java с полем String и методом, который возвращает строку.
Class Container{
private String baseUrl;
public String getBaseUrl(){
return baseUrl;
}
}
Создайте собственный метод Java и передайте Container в качестве аргумента.
На стороне C/C++, вы можете изменить поля Контейнера, вот справка по функциям jni, которая может помочь вам http://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/functions.html