Ordner und Dateien erstellen

  • Hi, ich versuche schon seit längerem einfach einen Ordner zu erstellen, in welchem ich eine .txt speichern möchte.
    Leider schaffe ich es nicht den Ordner zu erstellen.


    Java
    String file = Environment.getDataDirectory().toString();
            File folder = new File(file, "MedienLister");
            folder.mkdirs();
            System.out.println(folder.exists());

    Das war mein letzter Versuch... und es gab schon viele andere. Leider bekomme ich als output immer false - und den Ordner finde ich auch nirgendwo auf dem Handy.


    Hat jemand einen helfenden Hinweis?


    Lg.
    Greg

  • Damit kann man nichts anfangen der komplette quellcode wäre nett mit nem fehlercode wäre ganz nett


    Ansonsten ich sehe da kein angelegten pfad
    was soll dort erstellt werden steht dort auch nicht


    und eine abfrage ob es erstellt wurde wäre auch super

  • Hallo
    das sollte Environment.getDataDirectory().getAbsolutePath()


    nicht toString


    mal noch eine Frage auf welchen speicherbereich möschtest du zugreifen?


    das hier ist dein App Speicherbereich auf dem nur die App zugriff hat.


    wenn du Root rechte hast kannst du auch von auserhalb darauf zugreifen.

  • Ich hätte es gerne so, das wenn ich am Handy den Internen speicher auswähle den Ordner sehe (so wie bei vielen anderen Apps auch).
    @Xeno sei mir nicht böse, aber ich finde der restliche Code hilft nicht das spezielle Problem zu lösen und ist desshalb, von der menge an Code die ich da posten müsste mal abgesehen, unnötig.


    Ich kenne mich mit android nicht so gut aus, grade was den Zugriff auf daten und deren Pfade angeht. Auf dem PC ist das einfacher ._.


    @jogimuc was muss ich denn ändern um mein Ziel-Speicherort zu erreichen?

  • Da würde ich dir den Extrennen Speicher empfehlen.
    Nur brauchst du da auch die Premission und die musst du ab API 23 auch zur Laufzeit vom User anfordern im Manifest reicht das nicht mehr.



    https://riptutorial.com/de/and…auterung-der-terminologie



    https://www.java-forum.org/the…icher-beschreiben.154688/



    nur ist den beispielen noch nicht die Premission abfrage dabei.



    https://developer.android.com/…ng/permissions/requesting


    PS.
    System.out.println(folder.exists());
    geht in android nicht in java für dektop ja.


    benutze streams.

  • mhh, ganz umsetzten konnte ich es noch nicht...


    habe in der zeit noch andere lösungen gefunden:


    Das ist die Fehlermeldung:


    I/System.out: java.io.FileNotFoundException: /storage/emulated/0/liste.txt (Permission denied)



    Ich hoffe ich stelle mich nicht als zu dämlich an...

  • ok... dann bin ich derzeit nicht in der lage es richtig zu verstehen. sry ._.


    ich habe in der manifest ansich alle nötigen permissions erteilt


    XML
    <uses-permission android:name="android.permission.INTERNET" />
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
        <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
        <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
        <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />


    und um die abfrage zu übernehmen wie sie dort als beispiel gezeigt wird bin ich wohl auch zu doof... (thisActivity - was muss ich da eintragen?! (so ist es falsch, mit der class ist es falsch, this ist falsch))


    Als permission brauche ich doch aber Write und Read external Storage oder? (wäre schonmal eine sache die ich verstanden hätte :whistling: )


    Schönen abend euch und danke das ihr euch mit so dummen anfängern wie mir rumschlagt :S

  • Hi,


    also hier ein Link zu einem guten Englisch Sprachigen Video für die Speicherung auf dem Handy im Root Verzeichnis.


    Externer Inhalt youtu.be
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.


    Hier für die externe Speicherung.


    Externer Inhalt youtu.be
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

  • Hallo Greg


    wie du schon richtig erkannt hast brauchst du die Permission


    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />


    es reicht aber nicht mehr aus nur diese Permission im manifest zu setzen.



    Du musst die auch in deinen Code abfragen also den User deiner App fragen und er muss zustimmen.



    Dein von dir zuletzt veröffentlichter Code läuft nicht ohne Permission die du vorher dir vom user holen musst.



    Links wie das geht hast du jetzt eigentlich genug. Der offiziellen von Google von mir die zwei von Xcreen und auch noch zwei Videos . somit sollte es dir eigentlich möglichseindas Problem zu lösen.



    So nun noch ein einfaches Beispiel was die Permissen zur Laufzeit anfordert .


    Die packt man normalerweise am Anfang in die onCrate.


Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!