gespeicherte App-Daten auf PC nicht sichtbar

  • 11 Antworten
  • Letztes Antwortdatum
S

SanderKarl

Neues Mitglied
0
Hallo,

ich habe eine App geschrieben, mit der ich Spieldaten eines Kegel-Abends aufnehmen kann.

Jetzt möchte ich diese Daten zur späteren Synchronisierung mit einer Excel-Tabelle auf dem externen Speicher des Smartphones, mit dem ich das Ganze zur Zeit teste, speichern.

Die Speicherung der Daten erfolgt in einer ganz einfachen .txt-Datei

Die Datei wird auch, wie gewünscht, in einem speziellen Ordner erstellt.

Hier mal die Vorgehensweise, wie ich das bisher gelöst habe.

Code:
if(isSDAvailable && isSDWritable) {

  File path =
    Environment.getExternalStoragePublicDirectory("KEGELDATEN");
            
  String name = "test";
  File file = new File(path, name + ".txt");

  try {
     path.mkdirs();
     OutputStream os = new FileOutputStream(file);

     String myString = "hier stehen normalerweise die App-Daten";

     os.write(myString.getBytes());
     os.close();
                
     } catch (FileNotFoundException e) {
       e.printStackTrace();
     }
     catch (IOException e) {
       e.printStackTrace();
     }
  }
}

Mein Problem ist nun, dass ich diese erstellte Datei zwar mittels entsprechendem Browser auf dem Smartphone sehen bzw. öffnen kann.
Aber, wenn ich die Datei auf dem PC öffnen möchte, sieht der weder die Datei "test.txt", noch den Ordner "KEGELDATEN".

Meine direkte Frage ist also:
Wie kann ich den erstellten Ordner und die erstellte Datei auch für den PC
sichtbar machen??

Wäre über eine schnelle Antwort sehr glücklich, da es sich um ein Studentenprojekt handelt und dieses schnellst möglich abgeschlossen werden muss.

Vielen Dank schonmal im Vorraus

Gruß Sander Karl
 
Öhhh, ich würd ma sagen du hast nicht gegoogelt!!
Leute ist es wirklich so schwer? Environment | Android Developers
Guck mal was dort als Paramter für die Funktion verlangt wird ....
 
Vielen Dank erstmal für die sschnelle Antwort.

Am Parameter liegt es nur leider nicht.
Habe es im Vorfeld bereits mit dem Parameter für den Ordner "DCIM" versucht.
Meine oben gezeigte Variante unterscheidet sich nur darin, dass ich keinen bereits existierenden Ordner verwende, sondern einen neuen Ordner anlege. In diesem neuen Ordner wird die .txt Datei angelegt.
Dies alles geschieht auch.
Ich kann über einen Explorer auf dem Handy den neuen Ordner sehen, öffnen und auch die TXT-Datei öffnen.
Mein Problem ist, dass ich die Datei und den Ordner nicht im Windows-Explorer sehen kann, wenn ich das Handy als USB-Massenspeicher am PC anschließe.
Ich denke, ich muss irgendwie die Zugriffsrechte für die durch die APP erstellten Elemente anpassen, denn auch wenn ich die TXT in DCIM speichere, ist die Datei auf dem Handy vorhanden, nur unter Windows nicht sichtbar.
 
Ich vermute mal, du schaust auf dem PC einfach am falschen Ort. External Storage und SD-Karte müssen nicht zwingend dasselbe sein. Wenn du also etwas im External Storage speicherst, und vom PC aus die SD-Karte anzeigst, siehst du möglicherweise einen anderen Speicherbereich.
 
Naja, das Gerät, was ich verwende (Sony Xperia P) besitzt keine SD-Karte, es ist lediglich ein 16GB Speicher im Gerät verbaut. Da das Gerät nicht gerootet ist und bei Verbindung mit dem PC nur ein Speicher angezeigt wird, denke ich, es wird der richtige Speicher sein.

Oder kann es sein, dass der richtige Speicher nicht angezeigt wird, weil er nicht freigegeben ist??

Der ursprüngliche Beitrag von 10:42 Uhr wurde um 10:52 Uhr ergänzt:

Habe nochmal genau nachgeschaut, im Handy-Browser gibt es den Ordner "sdcard" in dem Ordner sind nun alle Ordner und Dateien, die ich auch am Rechner sehen kann. Mit Ausnahme der Daten aus der APP, die sind zwar im Handy-Browser sichtbar aber nicht im PC-Browser
 
Zuletzt bearbeitet:
Um sicher zu gehen, daß du wirklich deine Datei auf die SD-Karte des Handys speicherst, schließ dein Handy im Debug-Modus an, öffne die DDMS in Eclipse und geh in den Ordner mnt -> sdcard. Wenn du dort deinen Ordner bzw. deine Datei findest, dann sollte sie auch beim PC im USB-Modus zu finden sein.

Ich habs grad bei mir nochmal getestet, Ordner und Dateien sind vorhanden und wenn ich dann den USB-Festplattenspeicher-Modus wähle, dann kann ich mit Windows auch alle Ordner und Dateien auf meiner SD-Karte sehen.
 
SanderKarl schrieb:
Habe nochmal genau nachgeschaut, im Handy-Browser gibt es den Ordner "sdcard" in dem Ordner sind nun alle Ordner und Dateien, die ich auch am Rechner sehen kann. Mit Ausnahme der Daten aus der APP, die sind zwar im Handy-Browser sichtbar aber nicht im PC-Browser

Kannst du mal den Pfad deiner Datei ausgeben lassen oder kurz aufzeigen, wie die Struktur aussieht?

  • Ist dein Ordner KEGELDATEN auf der gleichen Ebene wie der erwähnte SDCard Folder?
  • Ist der Ordner KEGELDATEN im Ordner sdcard?

Es klingt für mich so, als wird am PC nicht das gemountet, was du mit deinem Filemanager auf dem Gerät siehst. Das ist sicher auch möglich, wenn du ein Gerät ohne SD-Karten-Slot hast.
 
ich habe mir beim Debugging mal "path"-Objekt anzeigen lassen und der Ordner liegt im Pfad:

/storage/sdcard0/KEGELDATEN

also von daher sollte es klappen.

mir macht jetzt nur Sorgen, dass ich den DDMS nicht "verwenden" wenden kann, da ich keinen Speicher sehe.

Das Gerät ist im "USB-Debugging"-Modus und andere Speicherfreigaben finde ich auf dem Gerät nicht.
 
Evtl. mußt du noch den USB-Treiber installieren, z.B. beim Samsung kannst du KIES installieren, dann wird der Treiber mitinstalliert. Ansonsten kannst du mit der DDMS nix machen
 
Du kannst auch einen Ftp server auf dem Gerät installieren. Dann kannst du ganz normal per WLAN an die Daten heran.
 
So, hatte etwas Schwierigkeiten mit dem Internetanschluss.

also die Treiber sind alle installiert, aber /mnt/sdcard im DDMS ist leer.

Wie kann das sein??

Der ursprüngliche Beitrag von 20:41 Uhr wurde um 21:16 Uhr ergänzt:

!! Problem gelöst !!

Scheinbar gibt es ein Problem beim Erstellen von Dateien durch die JAVA-API und der Verwendung dieser Dateien unter Windows.

Man muss scheinbar erstmal das Handy neu starten, danach sind die Dateien auch unter Windows sichbar.

und mit dem Code hier kann scheinbar ein reboot durchgeführt werden:
Code:
MediaScannerConnection.scanFile (this, new String [ ] { file.getAbsolutePath ()} , null , null) ;

hier hab ichs gefunden:
https://code.google.com/p/android/issues/detail?id=38282

nur versteh ich noch nicht so recht, was da passiert und wo genau der Fehler lag.

Wenn mir das noch jemand erklären kann, wäre ich super zufrieden ...
 
Du hast doch gesagt du hättest das Telefon als USB-Massenspeicher angeschlossen.
MTP is was anderes und ja da gibts Probleme.

Der Fehler liegt wohl darin (im Detail weiß ich das auch nicht), das MTP keinen direkt zugriff auf das Gerät gibt, sonder quasi eine eigene Schicht dazwischen setzt.
Du fragst also nicht direkt den internen Speicher "zeige mir die Dateien an", sondern dazwischen liegt noch "eine App" (nicht ganz richtig denk ich da es keine App im Sinne der Apps ist die wir so schrieben)
Die App bekommt aber nicht immer mit wenn eine neue Datei hinzugefügt wird und daher werden nur die Dateien die vorher schon da waren angezeigt.
Da die App die Dateien cached (zwischenspeichert) um nicht jedesmal alle Dateien neu lesen zu müssen, was im Normalfall schneller ist.
 
Zurück
Oben Unten