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

Другие вопросы по тегам