Auf SD-Karte zugreifen

  • Antworten:7
  • OffenNicht stickyNicht beantwortet
  • Forum-Beiträge: 20

21.01.2013 12:59:05 via Website

Hallo,

ich würde gerne etwas aus meiner App auf der SD-Karte speichern. Dazu habe ich die Permission "android.permission.WRITE_EXTERNAL_STORAGE" gesetzt und den Pfad zu der SD-Karte wollte ich mit "android.os.Environment.getExternalStorageDirectory()" bekommen.

Allerdings landet alles trotzdem auf dem internen Speicher (der bei meinem S3 "sdcard0" heißt) und ich komme momentan nicht darauf woran es liegt, kann mir da jemand auf die Sprünge helfen?

Hier noch ein Auszug wie ich den Pfad ermittel:
1File root = android.os.Environment.getExternalStorageDirectory();
2
3File dir = new File(root.getAbsolutePath() + "/download");
4 dir.mkdirs();
5 File file = new File(dir, "Meine_Datei.txt");

Gruß,
Karsten
  • Forum-Beiträge: 560

21.01.2013 16:34:17 via Website

kAndroid
Hallo,

ich würde gerne etwas aus meiner App auf der SD-Karte speichern. Dazu habe ich die Permission "android.permission.WRITE_EXTERNAL_STORAGE" gesetzt und den Pfad zu der SD-Karte wollte ich mit "android.os.Environment.getExternalStorageDirectory()" bekommen.

Allerdings landet alles trotzdem auf dem internen Speicher (der bei meinem S3 "sdcard0" heißt) und ich komme momentan nicht darauf woran es liegt, kann mir da jemand auf die Sprünge helfen?

Hier noch ein Auszug wie ich den Pfad ermittel:
1File root = android.os.Environment.getExternalStorageDirectory();
2
3File dir = new File(root.getAbsolutePath() + "/download");
4 dir.mkdirs();
5 File file = new File(dir, "Meine_Datei.txt");

Gruß,
Karsten

Ich habe bei mir folgenden Code verwendet:
1File folder = new File(Environment.getExternalStorageDirectory() + "/" + "Download");
2 try
3 {
4 folder.mkdirs();
5
6 }
  • Forum-Beiträge: 176

21.01.2013 16:39:48 via Website

Probiers mal im Emulator, dort müsste es gehen nachdem du dem Emulator eine SD-Karte gibst. Wenn ja dann ist dein Code richtig, aber Samsung hat Scheiße gebaut. Bei einigen Samsung-Geräten liefert getExternalStorageDirectory den Pfad eines internen Speichers der nicht beschrieben werden darf. Vielleicht findest du in diesem Thread eine Lösung: http://www.androidpit.de/de/android/forum/thread/504418/Zugriff-auf-die-echte-SD-Karte?si=20
Dort wurde das Thema behandelt.

— geändert am 21.01.2013 16:40:43

  • Forum-Beiträge: 2.545

21.01.2013 19:01:05 via Website

Bei einigen Samsung-Geräten liefert getExternalStorageDirectory den Pfad eines internen Speichers der nicht beschrieben werden darf.

Welche sind das denn?
Quelle?

Ich verwende in sehr vielen Projekten sowas hier:
path = Environment.getExternalStorageDirectory().toString()+"/Android/data/"+package+"/files/";
und habe bislang keine Klagen gehört.
  • Forum-Beiträge: 33.139

21.01.2013 20:30:32 via Website

Hi,

dass das auf den internen Speicher zeigen soll, bezweifle auch ich.

Aber klar, es zeigt auf den USB-Speicher. Der wird halt als SDCARD gemountet.

M. E. - korrigiert mich - gibt es keine Android-eigene Maskierung der externen SD-Karte. Die muss man selbst ermitteln, z. B. indem man die verschiedenen Benennungen der externen Karte auf ihre Existenz prüft. Aber da man im Zweifelsfalle eh eine Lösung finden muss für die Geräte, die gar keine externe Karte haben, würde ich das gleich von vornherein lassen und generell getExternalStorageDirectory verwenden.

Ich meine, der USB-Speicher ist ja auch genau dafür da....

Herzliche Grüße

Carsten

Ich komm' mir langsam vor wie jemand, der ich bin // #cäthe

  • Forum-Beiträge: 176

21.01.2013 20:48:08 via Website

and dev

Welche sind das denn?
Quelle?
Folge doch einfach dem Link den du beim Zitieren meines Postings weggelassen hast. Dort findest du weitere Links auf Stackoverflow in denen über das Problem berichtet wird. Dort dreht es sich so wie hier um das S3.

— geändert am 21.01.2013 20:52:24

Gelöschter Account
  • Forum-Beiträge: 694

21.01.2013 22:03:42 via Website

Da hast Du etwas falsch verstanden. getExternalStorageDirectory zeigt u.U. auf internen Speicher trotz existierender externer Speicherkarte. Dieser interne Speicher ist sehr wohl beschreibbar aber nicht der externe - jedenfalls nicht so ohne Weiteres.

Dem Poster des von Dir zitierten Threads ging es um das Schreiben auf diese externe Speicherkarte - nicht um die interne.
  • Forum-Beiträge: 2.545

21.01.2013 23:25:52 via Website

Gut, damit wäre das ja dann geklärt :)

@Daniel: das nächste mal besser noch mal genau lesen, bevor Beschuldigungen in einem öffentlichen Forum ausgestoßen werden.