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 :

gestion de fichiers dictionnaires


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné

    Profil pro
    Inscrit en
    Août 2007
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 179
    Par défaut gestion de fichiers dictionnaires
    Bonjour à tous,

    Désolé si ma question est confuse, je suis débutant en Android (et pas très bon en Java).

    Je dois faire une application qui lit des dictionnaires dans un format xml un peu compliqué et je ne sais pas trop par quel bout prendre le problème.
    Mon interrogation principale porte sur le mode de stockage des dictionnaires

    Mes premières idées :
    • 1. Utiliser un sous répertoire de "res" pour y mettre mes fichiers
      • avantages : fonctionnement "normal" d'Android (si j'ai bien compris).
      • inconvénients : j'ai peur de bouffer toute la RAM et d'avoir une classe R démesurée.

    • 2. Mettre les fichiers xml ailleurs (d'ailleurs où?) et charger les informations du dictionnaire en RAM (avec jdom par exemple) lors du lancement de l'application.
      • avantages : la classe R n'est pas concernée. possibilité de stocké plusieurs dictionnaires et de n'en charger qu'un.
      • inconvénients : pour la RAM ça sera pas beaucoup mieux

    • 3. Mettre les fichiers xml ailleurs ne charger que ce qui est indispensable et faire une recherche dans le xml à chaque fois que je cherche une définition ou autre.
      • avantages : pour la RAM cette fois ça sera beaucoup mieux
      • inconvénients : performances...


    Pour l'instant les fichiers exemples que j'ai pu avoir sont de taille très raisonnable (4Mo) j'en aurais surement des plus grand mais ça ne devrait pas être non plus immense (c'est des xml après tout) le problème c'est que je ne peux pas vraiment savoir j'aimerais pouvoir dire par exemple je peux faire comme ça mais les fichiers ne devront pas dépasser telle taille.

    Voilà, en espérant que ma question ait un sens et que quelqu'un puisse m'orienter.
    Merci d'avance.

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Par défaut
    Pour stocker tes fichiers plusieurs solutions :

    Soit dans le dossier assets/ de ton appli.
    Tu peux ensuite y accéder avec context.getAssets().open("fichier.xml");Sinon dans le dossier res/raw/ puis tu y accèdes avec getResources().openRawResource(R.raw.fichier)Dans tous les cas le contenu du fichier ne sera pas parser par le compiler de resource donc pas d'utilisation mémoire inutile.

    En revanche en ce qui concerne la lecture de ton fichier , utiliser le DOM est une mauvaise idée dans ton cas. Pour la simple et bonne raison qu'un fichier de 1Mo va peut être en faire 5 ou 10 en ram une fois convertit en objet dom. Une requête Xpath pourrait être une meilleur solution si les données à rechercher sont en début de fichier , mais si elle sont à la fin tu vas également consommer énormément de mémoire.

    La solution ici , est à mon avis, d'utiliser un parser SAX qui sera bien plus efficient qu'une analyse DOM complète ou qu'une requête Xpath à partir du moment ou tu commence à avoir beaucoup de noeud enfants (plusieurs milliers).
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre chevronné

    Profil pro
    Inscrit en
    Août 2007
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 179
    Par défaut
    Merci pour tes conseils je vais m'orienter vers quelque chose comme ça.

    Le problème avec Sax c'est de ne pas profiter du caractère ordonné de mes fichiers (ou alors en bidouillant pas mal), j'ai jeté un œil à Stax mais pour l'instant je ne suis pas très convaincu.

    Je marque comme "résolu" pour dire qu'il y a une réponse intéressante mais si quelqu'un à des suggestions...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Un fichier dictionnaire ?
    Par portu dans le forum Windows
    Réponses: 6
    Dernier message: 17/04/2007, 15h26
  2. [Gestion fichiers] Erreur surprenante
    Par Pixcoder dans le forum C
    Réponses: 7
    Dernier message: 14/09/2006, 10h11
  3. [oracle 8i]Tablespace gestion par dictionnaire ou local
    Par ParisMath dans le forum Oracle
    Réponses: 1
    Dernier message: 10/08/2006, 10h41
  4. gestion fichiers
    Par natie_49 dans le forum C++
    Réponses: 4
    Dernier message: 11/03/2006, 22h45
  5. Problème de gestion fichiers
    Par glutock dans le forum ASP
    Réponses: 2
    Dernier message: 08/04/2004, 11h55

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