Befehl um den File des Hauptverzeichnisses herauszufinden

  • Antworten:16
  • OffenNicht stickyNicht beantwortet
Gelöschter Account
  • Forum-Beiträge: 464

28.04.2014, 21:29:00 via Website

Hallo,

ich habe eine Frage zum Android-Programmieren: Wie bekomme ich den File für das Hauptverzeichnis des Handys heraus? Ich bin noch ziemlicher Anfänger in Android (programmiere gerade meine erste kleine App), mit Java habe schon etwas mehr Erfahrung, bin dort aber auch kein Spezialist.Ich brauche die Location des Hauptverzeichnisses für ein Backup Programm. In Java konnte man den File ja durch den Befehl "user.home" herausfinden. Wie heißt der Befehl denn jetzt in Android oder ist es der selbe???

Schon im vorraus danke

mfg

Du hast zum Apfel gegriffen? Gott möge dir verzeihen.

Antworten
Pascal P.
  • Mod
  • Blogger
  • Forum-Beiträge: 10.182

28.04.2014, 21:51:50 via App

Hat was mit der Envroiment klasse zu tun funktion heisst getExternalStaorage. Benötigt die gleichnamige berechtigung ( get durch weite ersetzen) Fur benutzungshinwese googeln

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Gelöschter Account
  • Forum-Beiträge: 464

28.04.2014, 22:04:38 via Website

Kannst du vielleicht mal ein Code-Beispiel schreiben, wo du du mit diesem Befehl das Hauptverzeichnis in einen File "f" speicherst? Bin, wie schon gesagt, noch Anfänger und verstehe das so leider nicht.

Danke

mfg

— geändert am 28.04.2014, 22:04:57

Du hast zum Apfel gegriffen? Gott möge dir verzeihen.

Antworten
  • Forum-Beiträge: 1.793

29.04.2014, 14:13:49 via App

Als erstes solltest du lernen zu Googlen:
http://lmgtfy.com/?q=android+getexternalstoragedirectory
Da kommt ein toller Link zu: Environment | Android Developers. (der erste)
Den öffnen und nach getExternalStorageDirectory suchen: Du findest die Info:

public static File getExternalStorageDirectory()

Du musst also lediglich diese Funktion aufrufen, sie gibt dir schon ein File-Objekt zurück. Fertig.

Liebe Grüße impjor.

Für ein gutes Miteinander: Unsere Regeln
Apps für jeden Einsatzzweck
Stellt eure App vor!

Antworten
Gelöschter Account
  • Forum-Beiträge: 464

29.04.2014, 16:54:00 via Website

impjor

Als erstes solltest du lernen zu Googlen:
http://lmgtfy.com/?q=android+getexternalstoragedirectory
Da kommt ein toller Link zu: Environment | Android Developers. (der erste)
Den öffnen und nach getExternalStorageDirectory suchen: Du findest die Info:

public static File getExternalStorageDirectory()

Du musst also lediglich diese Funktion aufrufen, sie gibt dir schon ein File-Objekt zurück. Fertig.

Erstmal danke für die Antwort. Leider hab ich immernoch ein Problem:

Irgendwie klappt es bei mir nicht:

File path = Environment.getExternalStorageDirectory();

    String test = path.getName();   
        AlertDialog ad5 = new AlertDialog.Builder(this).create();
        ad5.setMessage(test);
        ad5.show();

Hierbei wird nur 0 ausgegeben... Kannst du vielleicht mal ein Beispiel schreiben:? Sorry das ich mich so dämlich anstelle:D

Edit: Habe es jetz durch diesen Befehl geschafft: String text = Environment.getExternalStorageDirectory().getPath(); Googlen hilft ja wirklich :)

Danke an alle die mir geholfen haben und sorry für die Umstände

— geändert am 29.04.2014, 17:15:42

Du hast zum Apfel gegriffen? Gott möge dir verzeihen.

Antworten
Pascal P.
  • Mod
  • Blogger
  • Forum-Beiträge: 10.182

29.04.2014, 16:55:56 via Website

Hast du dir Richtige Permission gesetzt

LG Pascal //It's not a bug, it's a feature. :) ;)

Antworten
Gelöschter Account
  • Forum-Beiträge: 464

29.04.2014, 19:41:17 via App

Nein, wenn man das muss, kannst du mir vielleicht schreiben, was ich wo eingeben muss??

Edit: Oder bezog sich das noch auf die alte Frage / das alte Problem??

— geändert am 29.04.2014, 19:42:48

Du hast zum Apfel gegriffen? Gott möge dir verzeihen.

Antworten
Gelöschter Account
  • Forum-Beiträge: 464

29.04.2014, 20:58:29 via App

impjor

Scheinbar braucht man die Permisson (READ_EXTERNAL_STORAGE) nur, wenn man wirklich eine Datei lesen will, den Pfad an sich darf man noch auslesen.
Gut aber, dass du es geschafft hast. :)

Da ich aber Sachen vom internen Speicher kopieren muss, muss ich dennoch die Berechtigung für die Permissions schreiben oder?

Du hast zum Apfel gegriffen? Gott möge dir verzeihen.

Antworten
Gelöschter Account
  • Forum-Beiträge: 464

29.04.2014, 21:46:30 via Website

Also dann erklär ich mal kurz: Ich schreibe ein kleines Backup-Programm, muss dafür: 1. Einen Ordner im Hauptverzeichnis erstellen 2. Sachen von einem anderen Ordner im Hauptverzeichnis zu meinem selbst erstellten Ordner kopieren und umgekehrt.

ich denke ich brauche also beide Berechtigungen.

Kannst du mir vielleicht nochmal bitte die beiden genauen Befehle schreiben, wie ich sie eintippen muss und wo ich sie eintippen muss????

Danke

Du hast zum Apfel gegriffen? Gott möge dir verzeihen.

Antworten
Gelöschter Account
  • Forum-Beiträge: 464

29.04.2014, 21:53:38 via Website

Wenn ich das so eintippe bekomme ich eine Fehlermeldung, dass irgendetwas mit "name" nicht in Ordnung ist., bzw. schon angegeben wurde....

<uses-permission

android:name="android.permission.WRITE_EXTERNAL_STORAGE"

android:name="android.permission.READ_EXTERNAL_STORAGE"/>

— geändert am 29.04.2014, 22:01:18

Du hast zum Apfel gegriffen? Gott möge dir verzeihen.

Antworten
Gelöschter Account
  • Forum-Beiträge: 464

29.04.2014, 22:35:58 via Website

Danke. Hat geklappt. So jetzt hätte ich noch eine Frage, dann wärst das fürs erste :D :

Wenn ich in einer Klasse wo sich nicht die Activity befindet, in der ich den Dialog anzeigen will, diesen Befehl eingebe und dann später ausführen lasse, stürzt die App immer ab.

AlertDialog ad = new AlertDialog.Builder(this).create();

ad.setMessage("Test" ) ;

ad.show();

Ich denke es liegt an dem Wort "this". Weiß aber leider nicht, was ich dafür einsetzen soll.

danke mfg

— geändert am 29.04.2014, 22:41:28

Du hast zum Apfel gegriffen? Gott möge dir verzeihen.

Antworten
Gelöschter Account
  • Forum-Beiträge: 464

30.04.2014, 17:16:40 via App

impjor

Du benötigst einen Context (Activity erbt von Context). Also muss die Klasse (z.B. im Konstruktor) ein Context-Objekt übergeben bekommen.

Kannst du vielleicht mal ein Beispiel schreiben? Irgendwie versteh ich das nicht.

Du hast zum Apfel gegriffen? Gott möge dir verzeihen.

Antworten
Gelöschter Account
  • Forum-Beiträge: 464

02.05.2014, 15:47:09 via Website

Ich habe jetzt diese Mehtode gefunden. Leider kann ich mit dem Befehl getActivity nichts anfangen. Kann mir vielleicht jemand helfen und schreiben, was ich ggf. ergänzen/ändern muss?

AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setMessage(message);
AlertDialog dialog = builder.create();

Du hast zum Apfel gegriffen? Gott möge dir verzeihen.

Antworten

Empfohlene Artikel