Salut,
Le dossier databases de l'application est-il un dossier standard créé à l'installation de l'application ou faut-il le créer manuellement avec un bout de code ?
Version imprimable
Salut,
Le dossier databases de l'application est-il un dossier standard créé à l'installation de l'application ou faut-il le créer manuellement avec un bout de code ?
Il est crée durant l'installation et je crois que le chemin est data/data/nom_du_package
Merci pour ta réponse.
Le chemin est effectivement celui que tu donnes.
Le fonctionnement sur l'émulateur est-il le même ?
Parce que justement, sur l'émulateur, le dossier n'est pas créé !
Bonjour,
Le processus est le même pour l'émulateur. C'est bizarre, car si je vais sur la perspective DDMS je retrouve bien le dossier de mon application...
Salut !
Désolé de remettre ça sur le tapis mais je n'arrive pas à comprendre ce qui se passe.
Mon appli étant censée accéder à une base de données, je teste la présence de cette dernière avant toute chose.
Au premier lancement, quand je fait le test avec :
ou avecCode:
1
2 File fileTest = myContext.getFileStreamPath(DATABASE_NAME); boolean exists = fileTest.exists();
Dans les deux cas, exists = false;Code:
1
2 File fileTest = myContext.getDatabasePath(DATABASE_NAME); boolean exists = fileTest.exists();
Jusqu'à là, tout va bien.
Comme la base n'existe pas, je souhaite la créer en recopiant une base pré-remplie stockée dans Assets.
J'utilise donc, entre autres fonctions :
C'est là que le problème se pose : si fileTest est issu de getFileStreamPath, l'utilisation de FileOutputStream provoque bien la création du dossier 'files' s'il n'existe pas et le fichier de base de données est bien créé lui aussi.Code:OutputStream databaseOutputStream = new FileOutputStream(fileTest);
En revanche, si fileTest est issu de getDatabasePath, une exception est déclenchée dès l'appel de FileOutputStream car le dossier 'databases' n'existe pas et il n'est manifestement pas créé dynamiquement !
Ce phénomène s'explique comment ?
Pourquoi une telle différence dans le fonctionnement ?
Bonjour,
Dis nous ce que tu obtient comme chemin de fichier dans la variable fileTest pour les deux test ?Citation:
C'est là que le problème se pose : si fileTest est issu de getFileStreamPath, l'utilisation de FileOutputStream provoque bien la création du dossier 'files' s'il n'existe pas et le fichier de base de données est bien créé lui aussi.
En revanche, si fileTest est issu de getDatabasePath, une exception est déclenchée dès l'appel de FileOutputStream car le dossier 'databases' n'existe pas et il n'est manifestement pas créé dynamiquement !
Ce phénomène s'explique comment ?
Pourquoi une telle différence dans le fonctionnement ?
Merci
Respectivement :
/data/data/com.engi.aquapalm/files/aqua.db
et
/data/data/com.engi.aquapalm/databases/aqua.db