Фон
Я разрабатываю приложение для android в eclipse, и теперь у меня есть проблема, и мне нужна ваша помощь. Поэтому я должен вызывать функцию, написанную в C из приложения JAVA. Но по моему способу написания кода у меня есть несколько Вопросов, которые вы можете увидеть ниже. Я жду ваших ответов и идей...
C Код:
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:
В коде 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-коде? - Что я должен написать в JAVA-коде вместо
unsigned char data[1];
?
Вопрос 2.
- Как я могу использовать
class jblobData_c
вместоblobData_t* pInputInfo
в JAVA-коде? - Что я должен писать в JAVA вместо
blobData_t* pInputInfo
?
Код JNI:
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
, чтобы эта функция работала правильно, и данный параметр был тем же самым