Jni интерфейсы java

201
03 июля 2018, 12:10

Из сторонней библиотеки необходимо вызывать методы в C++

Callback.java

void onFailure(String request, IOException e);
void onResponse(String response) throws IOException;

Utils.java

public class Utils{
public Utils(){
//Какой то код
}
public void enqueue(Callback responseCallback) {
//Какой то код
}
}

Вызов в MainActivity.java

new Utils().enqueue(new Callback() {
@Override
public void onFailure(String request, IOException e) {
    //Какой то код
}
@Override
public void onResponse(String response) throws IOException {
    //Какой то код
}
});

C++

JNIEXPORT jobject JNICALL
Java_com_nativeutils_nativeutils_MainActivity_test(JNIEnv *env,jobject) {
jclass cls = env->FindClass("com/nativeutils/nativeutils/Utils");
jmethodID mtd = env->GetMethodID(cls, "<init>","()V");
jobject obj = env->NewObject(cls, mtd);
return NULL;
}

На C++ нужно вызвать метод enqueue в который передать Callback для получения результата.Другими словами переделать вызов метода из MainActivity.java. Метод вызвать не проблема проблема передать интерфейс в метод.Как это реализовать?

READ ALSO
Заполнение матрицы

Заполнение матрицы

У нас есть матрица а*bНужно заполнить её нулями с помощью встроеной функции

178
Полоса анимации при загрузке страницы

Полоса анимации при загрузке страницы

На сайте https://wwwsofiapapadopoulou

192
css flexbox Позиционирование

css flexbox Позиционирование

Есть 7 блоков внутри родительского, надо сделать через flexbox, что бы эти блоки шли друг под другом в 2 колонки

197