Wie nutze ich eine .txt Datei von außerhalb meiner App?

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Wie nutze ich eine .txt Datei von außerhalb meiner App?

    Hallo liebe Experten,
    Ich will gerne in meiner App eine .txt Datei öffnen, die ich bereits am PC geschrieben habe. Dafür habe ich meine App in Android Studio in Debugging Modus angeworfen und bin in den Android Device Monitor gegangen. Jetzt finde ich aber nicht heraus, wohin ich die Datei hin verschieben soll, um sie dann auch meinen Programm heraus zu öffnen. Ich habe probeweise in

    Quellcode

    1. Environment.getExternalStorageDirectory()
    einen neuen Ordner erstellt. Im Android Device Monitor kann ich allerdings

    Quellcode

    1. /storage/emulated/0/name
    nicht öffnen. :(

    Wohin kann ich meine Datei verschieben?
    Vielmals danke schon einmal im Voraus ^^
  • Hallo , Willkommen im Forum.

    Hast du auch die Premission im Manifest? ohne kannst du nicht auf die sdKarte zugreifen.

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

    versuche es mal hiermit:

    File sdDir = Environment.getExternalStorageDirectory();
    String path = sdDir.getAbsolutePath() + "/deinOrdner/deineDatei.txt";
    File sgDir = new File(path);
    Ein Feedback auf Tipps ist auch schön. :P

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von jogimuc ()

  • Hi
    ab Android 6 hat Googel das Premission Prinzip geändert. Da reicht es nicht mehr nur die Premissen im Manifest zu setzen.
    Jetzt müssen die im Java Code angefordert werden. So will es Googel jedenfals.
    Hier ein Beispiel.

    Java-Quellcode

    1. final private int REQUEST_CODE_ASK_PERMISSION = 123;
    2. if(ContextCompat.checkSelfPermission(this, android.Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED){
    3. if(ActivityCompat.shouldShowRequestPermissionRationale(this,android.Manifest.permission.READ_EXTERNAL_STORAGE)){
    4. }else{
    5. ActivityCompat.requestPermissions(this, new String[]{android.Manifest.permission.READ_EXTERNAL_STORAGE}, REQUEST_CODE_ASK_PERMISSION);
    6. }
    7. }
    8. int permissionCheck = ContextCompat.checkSelfPermission(this, android.Manifest.permission.READ_EXTERNAL_STORAGE);
    9. if(ContextCompat.checkSelfPermission(this, android.Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED){
    10. //hier dein Code
    11. }else {
    12. ActivityCompat.requestPermissions(this, new String[]{android.Manifest.permission.READ_EXTERNAL_STORAGE}, permissionCheck);
    13. }
    Alles anzeigen

    ich umgehe das meistens . Mit diesem "build.gradle"

    Quellcode

    1. apply plugin: 'com.android.application'
    2. android {
    3. compileSdkVersion 22
    4. buildToolsVersion '25.0.0'
    5. defaultConfig {
    6. applicationId "dein package"
    7. minSdkVersion 22
    8. targetSdkVersion 22
    9. versionCode 1
    10. versionName "1.0"
    11. }
    12. buildTypes {
    13. release {
    14. minifyEnabled false
    15. proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    16. }
    17. }
    18. }
    19. dependencies {
    20. compile fileTree(include: ['*.jar'], dir: 'libs')
    21. compile 'com.android.support:support-v4:22.0.0'
    22. compile 'com.android.support:appcompat-v7:22.2.1'
    23. compile 'com.android.support:design:22.2.1'
    24. compile 'com.google.android.gms:play-services-appindexing:9.8.0'
    25. }
    Alles anzeigen
    Ein Feedback auf Tipps ist auch schön. :P

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von jogimuc ()

  • Hey Jogimuc,
    Dein 2. Quellcode hat mir schon einmal geholfen, überhaupt Daten zu schreiben. Danke also =)

    Meine Frage dreht sich aber mehr darum, wie ich eine Datei einsetze, die ich bereits auf dem PC geschrieben habe. Wie bekomme ich es hin, .txt-Dateien von meinen PC auf mein Handy zu bekommen? Kann ich diese vielleicht irgendwie in die .apk-Datei packen?

    Vielleicht etwas deutlicher am konkretem Beispiel:
    Ich habe eine kleine App, die aus einer .txt Datei Strings auslesen soll und einen zufälligen davon anzeigt. Die .txt Datei soll dabei von der App mitgeliefert werden (bei der Installation oder später dann geschrieben werden). Momentan habe ich etwas Hardcode verwendet, um die .txt-Datei beim Appstart zu erstellen, um damit weiter arbeiten zu können. Aber ich will das ungerne so stehen lassen. Lieber wäre es mir, wenn ich nur eine Datei einlesen müsste und diese nicht erst erstellen muss. Wie bekomme ich also eine .txt Datei (oder ein anderes passendes Format) in den App-Ordner hinein?

    Vielen Dank schon einmal =)
  • Hi, eine Datei kanst du in den Assets mit geben. Das ist in Ordner in deinen Projekt. Dort hinein kanst du die Txt datei kopieren.
    Lesen der Datei aus den assets geht, ob du auch in den Assets in die Datei schreiben kannst weis ich nicht genau. Dafür könntest du aber die Datei beim ersten App Start in den App Speicher kopieren.

    stackoverflow.com/questions/9544737/read-file-from-assets
    android-hilfe.de/forum/android…rdner-anlegen.178127.html
    Ein Feedback auf Tipps ist auch schön. :P