Hallo Leute,
ich versuche einen C-Code in meine App einzubinden,
der Umgang mit native-Methoden und dem NDK-Tool
ist kein Problem, nur will ich will ich nun meiner
nativen Methode einen String übergeben - logisch
ein char array ... aber beim testen und überprüfen
kommt in der nativen Methode nur Müll raus.
Die native Methode ist i.ä. so ...
Verwendet im Java
Der String und das Array sehen i.ä. so aus:
Erwarteter String:
/mnt/sdcard/.../*.3gp
Das char-Array das die native Methode erhält bzw. verwendet:
"Diverse Steuerungszeichen"...@ / m n t / s d c a r d /
Ich kann mir nicht mehr helfen
Ich habe immer angenommen die primitiven Datentypen
sind in allen Sprachen gleich ... aber offensichtlich
muss char in Java größer sein als in c.
Ich hab schon im Netz gesucht aber so richtig mehr weiß ich
irgendwie noch nicht.
Vielen Dank im Voraus
ich versuche einen C-Code in meine App einzubinden,
der Umgang mit native-Methoden und dem NDK-Tool
ist kein Problem, nur will ich will ich nun meiner
nativen Methode einen String übergeben - logisch
ein char array ... aber beim testen und überprüfen
kommt in der nativen Methode nur Müll raus.
Die native Methode ist i.ä. so ...
Code:
int Java_com_example_test_MainActivity_myNativeFunktion(JNIEnv * env, jobject this, char path[], int pos){
...
return result
}
Verwendet im Java
Code:
private native int myNativeFunktion(char[] path, int pos);
static {
System.loadLibrary("bla");
}
...
char[] array = path.toCharArray();
...
int reslut=0;
...
result = myNativeFunktion(array, i);
Der String und das Array sehen i.ä. so aus:
Erwarteter String:
/mnt/sdcard/.../*.3gp
Das char-Array das die native Methode erhält bzw. verwendet:
"Diverse Steuerungszeichen"...@ / m n t / s d c a r d /
Ich kann mir nicht mehr helfen

Ich habe immer angenommen die primitiven Datentypen
sind in allen Sprachen gleich ... aber offensichtlich
muss char in Java größer sein als in c.
Ich hab schon im Netz gesucht aber so richtig mehr weiß ich
irgendwie noch nicht.
Vielen Dank im Voraus