2017-01-09 2 views
0

Ich versuche, eine Android-Aktivität zum Schreiben einer Testdatei auf die Wechsel-SD-Karte des Geräts zu machen. Ich muss dann in der Lage sein zu überprüfen, dass es geschrieben wurde. Ich war in der Lage, in den internen Speicher des Telefons zu schreiben (externer Speicher genannt, obwohl es nicht ist), aber nicht die entfernbare SD-Karte. Ich denke, ich muss den richtigen Weg finden.Android-Datei auf Removable SD speichern und lesen

ich konnte die Existenz der austauschbaren SD-Karte mit diesem Code überprüfen, habe aber nicht in der Lage gewesen, es zu übersetzen, die Datei zu schreiben:

String secStore = System.getenv("SECONDARY_STORAGE"); 
    File path = new File(secStore); 
    StatFs stat = new StatFs(path.getPath()); 

Hier ist mein Code für das Schreiben der Testdatei bt wie gesagt-es schreibt in den internen Speicher des Gerätes:

File dir = new File(android.os.Environment.getExternalStorageDirectory(), "TestFolder"); 
     if (!dir.exists()) { 
      dir.mkdirs(); 
     } 
     String filename = "SD_Test.txt"; 
      try { 
       File f = new File(dir + File.separator + filename); 
       FileOutputStream fOut = new FileOutputStream(f); 
       OutputStreamWriter myOutWriter = new OutputStreamWriter(fOut); 
       myOutWriter.append("Testing SD Card"); 
       myOutWriter.flush(); 
       myOutWriter.close(); 
       fOut.close(); 
       if(f.exists()){ 
        Toast.makeText(getBaseContext(), 
          "File Created", 
          Toast.LENGTH_SHORT).show(); 
       } 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 

    } 

Bitte Hilfe, ich habe seit einigen Tagen auf dieser gearbeitet und stecken bin !!

Antwort

1

Hier ist mein Code die Testdatei zum Schreiben bt wie gesagt-es schreibt in den internen Speicher des Gerätes:

Er schreibt, was das Android SDK als external storage bezieht.

ich in der Lage gewesen, die Existenz der austauschbaren SD-Karte mit diesem Code

Es besteht keine Notwendigkeit für die Umgebungsvariable zu überprüfen, zu existieren, geschweige denn für sie eine Bedeutung haben.

aber nicht in der Lage, es zu übersetzen, um das Schreiben der Datei

Sie haben keinen Zugriff auf beliebige Dateisystem Stellen auf removable storage auf ab Android 4.4. Verwenden Sie getExternalFilesDirs(), getExternalCacheDirs() oder getExternalMediaDirs(). Wenn diese Methoden 2 + Einträge zurückgeben, sind die zweite und die folgenden Positionen auf dem Wechselspeicher, wo Sie lesen und schreiben können.