2016-04-06 9 views
0

Lange Zeit iOS-Entwickler, erweiterte Android-Programmierer (aber nicht so fortgeschritten, wie ich dachte .. LOL) ..Android externe SD-Karte Zugriff

Versuchen, Android-Gerät Speicheroptionen zu verstehen. Auf meinem Android-Gerät habe ich eine 14Gig SD-Karte.

Wenn ich Code

String strDir = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS)+ File.separator + "MyFolder"; 
schreiben

es in einem „Ordner Dokumente“ auf dem internen Gerät platziert wird (wenn sie mit Datei-Manager angezeigt).

Der Weg

storage/emulierten/0

und meine SD-Karte (Acording auf den Datei-Manager) zu sein scheint, ist

Lagerung/extSdCard

Warum Umwelt. getExternalStoragePublicDirectory Geben Sie mir einen Pfad zu meiner internen Karte?

Was ich vermisse, bringt mich zu einem Pfad zum Speichern von Dateien auf der externen Karte. Ich denke, ich verstehe einen Teil davon ist zu OS Änderungen in SD-Karte Zugriff in 4.1 aber nicht sicher, was ich vermisse.

Ich habe Environment.getExternalStorageDirectory does not return the path to the removable storage gelesen und immer noch nicht klar. Meine App speichert derzeit Dateien unter Verwendung von getExternalStoragePublicDirectory, aber meine Benutzer fordern, dass sie die Option haben, sie stattdessen auf der SDCard zu speichern?

+0

Welche Version von Android verwenden Sie? – Sibidharan

Antwort

4

Warum gibt mir Environment.getExternalStoragePublicDirectory einen Pfad zu meiner internen Karte?

Da external storage nicht removable storage ist. Keine davon ist internal storage.

aber meine Benutzer verlangen, dass sie die Möglichkeit haben, sie auf der SDCard zu speichern?

On ab Android 4.4, verwenden Sie entweder the Storage Access Framework (dem Benutzer zu erlauben, einen Speicherort zu wählen, einschließlich der Wechseldaten, Drive/Dropbox/andere Cloud-Anbieter, etc.), oder use getExternalFilesDirs() on Context. Die letztere Methode gibt File[] — zurück, wenn 2+ Elemente im Array vorhanden sind. Alle außer den ersten sind Speicherorte auf Wechseldatenträgern, auf denen Sie lesen und schreiben können. Sie können nicht auf beliebigen Speicherorten auf Wechselmedien auf Geräten schreiben, die mit Android 4.4+ ausgeliefert werden.

Verwandte Themen