IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Dossier databases de l'application


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Avril 2004
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Avril 2004
    Messages : 249
    Par défaut Dossier databases de l'application
    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 ?

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    322
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 322
    Par défaut
    Il est crée durant l'installation et je crois que le chemin est data/data/nom_du_package

  3. #3
    Membre éclairé
    Inscrit en
    Avril 2004
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Avril 2004
    Messages : 249
    Par défaut
    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éé !

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    322
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 322
    Par défaut
    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...

  5. #5
    Membre éclairé
    Inscrit en
    Avril 2004
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Avril 2004
    Messages : 249
    Par défaut
    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 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    File fileTest = myContext.getFileStreamPath(DATABASE_NAME);
    boolean exists = fileTest.exists();
    ou avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    File fileTest = myContext.getDatabasePath(DATABASE_NAME);
    boolean exists = fileTest.exists();
    Dans les deux cas, exists = false;

    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 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    OutputStream databaseOutputStream = new FileOutputStream(fileTest);
    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 ?

  6. #6
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Bonjour,

    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 ?
    Dis nous ce que tu obtient comme chemin de fichier dans la variable fileTest pour les deux test ?

    Merci

  7. #7
    Membre éclairé
    Inscrit en
    Avril 2004
    Messages
    249
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Avril 2004
    Messages : 249
    Par défaut
    Respectivement :

    /data/data/com.engi.aquapalm/files/aqua.db

    et

    /data/data/com.engi.aquapalm/databases/aqua.db

Discussions similaires

  1. Dossier courant de mon application Web
    Par PsychedeChed dans le forum ASP.NET
    Réponses: 2
    Dernier message: 19/01/2009, 09h23
  2. Trouver le dossier parent de l'application
    Par Mariquiqui dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 10/07/2008, 16h33
  3. Dossiers fantomes dans certaines applications
    Par adhes dans le forum Windows Vista
    Réponses: 2
    Dernier message: 10/09/2007, 20h41
  4. .frm copier dans dossier databases Plesk 7.5
    Par jeremie74 dans le forum Administration
    Réponses: 1
    Dernier message: 24/07/2007, 00h39
  5. dossier partagé pour une application ?
    Par leam69 dans le forum Windows Serveur
    Réponses: 5
    Dernier message: 16/02/2007, 11h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo