Использовать нативную строку без статического набора в java

Здравствуйте, у меня проблема,

Я использую c++ в Android-студии внутри java.

Это мой код cpp:

#include <jni.h>

extern "C" {

JNIEXPORT jstring JNICALL

Java_ir_test_test_Utils_testData_getfromJNI(JNIEnv *env, jobject /* this */) {
    return env->NewStringUTF("123456");
     }
}

И Java-код:

public class testData {

 static {
        System.loadLibrary("native-lib");
    }

    private native String getfromJNI();

    public static String get_value(String value){

        String e_string = getfromJNI();
        return e_string + value;
    }
}

В этом коде по какой-то причине мне приходится использовать общедоступную статическую строку, Я получаю сообщение об ошибке Make 'get_value' Not static или Make getfromJNI static.

Я должен использовать get_value со static. если я установлю getfromJNI на статический, Эта строка отобразит ошибку в файле cpp:

(JNIEnv *env, jobject /* this */)

Изображение с ошибкой Пожалуйста, проверьте

Как я могу это решить?

this в статическом контексте отсутствует.

tkausl 07.02.2019 16:48

Где я должен использовать this?

M. ZF 07.02.2019 16:49

Вы не можете использовать this в качестве функционального параметра. Назовите его как-нибудь похоже, например, This или thiz.

Ted Lyngmo 08.02.2019 08:51
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
3
154
0

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