web-dev-qa-db-fra.com

Où le fichier de données d'application est-il réellement stocké sur un appareil Android?

J'ai développé une application Android à l'aide d'Appcelerator Titanium. Cette application va créer un fichier dans applicationDataDirectory et installer une base de données.

Si je suis sur émulateur, je peux localiser ces fichiers en utilisant la commande "adb". Mais qu'en est-il sur un appareil Android? Puis-je utiliser l'application "Mes fichiers" pour afficher les fichiers que j'ai créés? (puisque je peux voir les fichiers créés par une autre application là-bas.)

De plus, je suppose qu'une fois l'application supprimée sur l'appareil, les fichiers et la base de données associés seront automatiquement supprimés. Est-ce vrai?

Parce que j'ai trouvé que même j'ai supprimé l'application de l'appareil, la base de données semble être laissée pour compte. Je peux le dire car après avoir supprimé une application et l'avoir ré-exécuté sur un appareil (à partir de Titanium), il affiche les données précédentes.

J'utilise Ti SDK 2.0.1GA2, Android Runtime V8. Et en utilisant Samsung Galaxy Tab pour les tests ... Merci d'avance.

18
Bowie

Les fichiers de données privées d'application sont stockés dans <internal_storage>/data/data/<package>

Les fichiers stockés dans la mémoire de stockage interne sont accessibles avec openFileOutput () et openFileInput ()

Lorsque ces fichiers sont créés en tant que MODE_PRIVATE , il n'est pas possible de les voir/y accéder dans une autre application telle qu'un Gestionnaire de fichiers.

25
papaiatis

Sur Android 4.4 KitKat, j'ai trouvé le mien dans: /sdcard/Android/data/<app.package.name>

6
bizi

Vous pouvez obtenir si de votre dossier de cache de documents, sous-dossier (le mien est 1946507). Une fois là-bas, renommez le "contenu" en ajoutant .pdf à la fin du fichier, sauvegardez-le et ouvrez-le avec n'importe quel lecteur pdf 

0
stanley

Utilisez Context.getDatabasePath (nom de la base de données). Le contexte peut être obtenu à partir de votre application.

Si vous récupérez des données précédentes, cela peut être soit: a) les données ont été stockées dans un emplacement non conventionnel et ne sont donc pas supprimées avec désinstallation, soit b) Titanium a sauvegardé les données avec l'application (cela peut être fait).

0
Frictionless