Android: Datei-IO von SD-Karte mit dem NDK [geschlossen]

9

Ich versuche, mit dem NDK auf eine Ausgabedatei zu schreiben, und es scheint nicht zu funktionieren. Der Code, den ich geschrieben habe, sieht so aus:

%Vor%

Der Grund, warum der Rückgabetyp ein Double ist, besteht darin, dass ich die Funktion für einen anderen Zweck verwenden möchte, aber ich probiere zuerst die Datei io aus. Im Logcat erhalte ich den folgenden Fehler:

%Vor%

Lustig ist, wenn ich versuche, mit java file io in die Caller-Aktivität zu schreiben oder aus derselben Datei zu lesen, habe ich keine Probleme. Und ich habe sichergestellt, dass ich Schreibrechte in der Manifest-Datei habe. Wenn ich die FILE* file ... -Zeile entferne und versuche, den zurückgegebenen doppelten Wert von der Funktion zu verwenden, läuft das Programm gut. Kann mir bitte jemand helfen? Könnte das Problem zum Beispiel in den Dateien Android.mk oder Application.mk enthalten sein?

UPDATE Ich benutze eine Samsung Galaxie Note 2, wenn das einen Unterschied macht

UPDATE2

Hier ist der vollständige Code:

Java-Aktivität:

%Vor%

Hier ist die native Methode:

%Vor%

Hier ist Android.mk:

%Vor%

Und hier ist das Manifest:

%Vor%

AKTUALISIEREN

Letztes Update: Ich habe den gleichen Code auf jemand anderem Handy versucht, auch eine Galaxy Note 2, und es hat funktioniert. Es scheint, als ob das Problem mit meinem Telefon war. seufzen

    
user1023420 07.03.2013, 05:45
quelle

1 Antwort

0

Vielleicht ist der Dateipfad falsch. Ich benutzte den SD-Kartenpfad als "/ mnt / sdcard /".

Ich kann mich nicht genau erinnern, aber Sie können "/ mnt / sdcard / ..." oder "mnt / sdcard /...".

versuchen

Oder Sie können den SDCard-Pfad mit Environment.getExternalStorageDirectory().getAbsolutePath() abrufen.

    
Sohyun Ahn 07.03.2013 09:05
quelle

Tags und Links