Android uygulamasında yerel işlevi uygulamam gerekiyor.Yerel İşlev Android Uygulamasını ve C Uygulamasını Uygula
Fonksiyon:
public native int RFIDPower (String path, String data);
public void RFIDPowerEnable(boolean isEnable){
String path = "/dev/RFID_enable";
if (isEnable)
RFIDPower(path, “1”);
else
RFIDPower(path, “0”);
}
VE BU C kodu IS: Deneyin NDK samples bakarak
JNIEXPORT jint JNICALL Java_com_winmate_demo_main_RFIDPower (JNIEnv * env, jobject thiz, jstring path, jstring data)
{
int fd = 0;
const char *cPath, *cData;
if (path == NULL) return -1;
// Convert jstring to char pointer
cPath = (*env)->GetStringUTFChars(env, path, NULL);
cData = (*env)->GetStringUTFChars(env, data, NULL);
// Open node “/dev/RFID_enable”
fd = open(cPath, O_WRONLY | O_NOCTTY | O_NDELAY | O_NONBLOCK);
if (fd < 0) {
(*env)->ReleaseStringUTFChars(env, path, cPath);
(*env)->ReleaseStringUTFChars(env, data, cData);
return -1;
}
write(fd, cData, strlen(cData));
(*env)->ReleaseStringUTFChars(env, path, cPath);
(*env)->ReleaseStringUTFChars(env, data, cData);
close(fd);
return 0;
}
Ve senin sorunun ne? Çöküyor mu? Kilitlenmiyor ama çalışmıyor mu? Ne yapması gerekiyor? –
Proje robotumda C kodunu nasıl uygulayacağımı bilmiyorum. – Andrea
Ancak C kodunuz zaten var. Peki sorun ne? – Michael