Il programma dovrebbe scattare un'immagine dalla scheda SD e regolarne la luminosità. E l'immagine è presa dalla scheda SD tramite il codice C NDK. Si noti che la stringa che rappresenta il percorso dell'immagine viene passata all'NDK tramite JNI.Passaggio di una stringa a codice C in Android NDK
codice Java:
private void adjustBrightness() {
imagePath = (Environment.getExternalStorageDirectory().getPath()+"earthglobe.jpeg").toCharArray();
brightness(imagePath, brightness);
}
public native void brightness(char[] imagePath, float brightness);
codice NDK:
JNIEXPORT void JNICALL Java_com_example_ImageActivity_brightness(JNIEnv * env,char[] bitmappath, jfloat brightnessValue)
{
string bmpath = bitmappath+'\0';
jobject obj = fopen(bitmappath , "rb");
}
Questo è ridicolo: '' jobject obj = fopen (bitmappath, "rb"); '' –