Я разрабатываю приложение для Android в eclipse, и теперь у меня возникла проблема, и мне нужна ваша помощь. Поэтому я должен вызвать функцию, написанную на C из приложения JAVA. Но пока я пишу код, у меня возникает несколько вопросов , которые вы можете увидеть ниже. Жду ваших ответов и идей ...
typdef struct blobData_s {
unsigned long length;
unsigned char data[1];
} blobData_t;
unsigned int CheckEnrollmentExist ( unsigned long hdevice, blobData_t* pInputInfo ) {
// Function code goes here
..........................
return some_value;
}
В коде JAVA вместо unsigned long
я использую int
, поэтому я могу писать.
class jblobData_c {
public int langth;
*Question 1.*
}
public class ApplicationMainClass extends Activity {
// Some code goes here
......................
public native int JCheckEnrollmentExist( int jhdevive, *Question 2.* );
}
Вопрос 1.
unsigned char
в коде JAVA? unsigned char data [1];
? Вопрос 2.
класс jblobData_c
вместо blobData_t * pInputInfo
в коде JAVA? blobData_t * pInputInfo
? JNIEXPORT jint JNICALL Java_com_Test_JCheckEnrollmentExist(JNIEnv* env, jobject obj, jint jhdevice, *Question 2.* ) {
// Call the base function from C code.
return CheckEnrollmentExist( jhdevice, *Question 3.*);
}
Вопрос 3.
CheckEnrollmentExist
, то есть функции кода C вместо blobData_t * pInputInfo
, чтобы эта функция работала правильно и заданные параметры были одинаковыми