web-dev-qa-db-de.com

Wo werden die Anwendungsdaten tatsächlich auf einem Android-Gerät gespeichert?

Ich habe eine Android-App mit Appcelerator Titanium entwickelt. Diese App erstellt eine Datei in applicationDataDirectory und installiert auch eine Datenbank.

Wenn auf einem Emulator ausgeführt, kann ich diese Dateien mit dem Befehl "adb" finden. Aber wie wäre es mit einem Android-Gerät? Kann ich die "Meine Dateien" -App verwenden, um die von mir erstellten Dateien anzuzeigen? (da ich dort Dateien sehen kann, die von einer anderen Anwendung erstellt wurden.)

Außerdem erwarte ich, dass ich die entsprechenden Dateien und Datenbanken automatisch entferne, sobald ich die App auf dem Gerät entfernt habe. Ist das wahr?

Da ich herausfand, dass die App sogar vom Gerät entfernt wurde, scheint die Datenbank zurückgeblieben zu sein. Ich kann feststellen, dass nach dem Löschen der App und dem erneuten Ausführen auf dem Gerät (von Titanium) die vorherigen Daten angezeigt werden.

Ich verwende Ti SDK 2.0.1GA2, Android Runtime V8. Und mit Samsung Galaxy Tab zum Testen . Vielen Dank im Voraus.

18
Bowie

Private Dateien für Anwendungsdateien werden in <internal_storage>/data/data/<package> gespeichert.

Auf Dateien, die im internen Speicher gespeichert sind, kann mit openFileOutput () und openFileInput () zugegriffen werden.

Wenn diese Dateien als MODE_PRIVATE erstellt werden, ist es nicht möglich, sie in einer anderen Anwendung wie einem FileManager anzuzeigen/darauf zuzugreifen.

25
papaiatis

Auf Android 4.4 KitKat habe ich meins gefunden in: /sdcard/Android/data/<app.package.name>

6
bizi

Wenn Sie aus Ihrem Dokument-Cache-Ordner, Unterordner (mein ist 1946507) erhalten. Wenn Sie dort sind, benennen Sie den "Inhalt" um, indem Sie am Ende der Datei .pdf hinzufügen, speichern und mit einem beliebigen PDF-Reader öffnen. 

0
stanley

Verwenden Sie Context.getDatabasePath (Datenbankname). Den Kontext können Sie Ihrer Bewerbung entnehmen.

Wenn Sie frühere Daten zurückerhalten, kann dies entweder a) die Daten wurden an einem unkonventionellen Ort gespeichert und daher bei der Deinstallation nicht gelöscht oder b) Titanium hat die Daten mit der App gesichert (dies ist möglich).

0
Frictionless