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

Java ME Discussion :

Serialisation XML en JavaME


Sujet :

Java ME

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 88
    Par défaut Serialisation XML en JavaME
    Salut all,

    Je cherche une api simple et légère pour faire de la serialisation / désérialisation en XML, en JavaME. Est-ce que quelqu'un en connaît une ? Si je pouvais éviter de le refaire

    Merci bien.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 88
    Par défaut
    OH PINAISE

    CLDC ne contient pas de quoi faire de l'introspection

  3. #3
    Rédacteur
    Avatar de Greybird
    Inscrit en
    Juin 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 673
    Par défaut
    Bienvenue dans le monde mobile

    Je pense que tu as ta solution : chaque objet doit être responsable de sa sérialisation.

    Par ailleurs, à moins que la sérialisation doivent pour une raison particulière se faire en XML de bout en bout, tu peux utiliser les DataInputStream et DataOutputStream, qui génèrent un format binaire portable entre les différentes éditions de Java, format qui pourra être décodé côté serveur par exemple grâce à ces mêmes objets et transformé en un XML adéquat. Cela peut sauver de la bande passante si ces objets sérialisés passent sur le réseau et de la mémoire et du temps CPU au niveau téléphone.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 88
    Par défaut
    C'est très intéressant ce que tu me dis là. En fait je n'ai pas de contraintes de transfert / reseau, mais de portabilité oui, puisque je crée du contenu pour mon jeu grâce à un éditeur en Java 5, contenu qui doit être lu par le jeu sur mon portable. Par contre, utiliser ces DataInputStream et DataOutputStream implique qu'il doit s'agir des mêmes objets nan ?

    Par ailleurs, l'intérêt que je voyais au XML était de pouvoir changer ce contenu dynamiquement, pendant le jeu, et le sauver dans un record store. Cela est-il possible avec les flux produits par les DataOutputStream ?

    Merci pour ton aide.

  5. #5
    Rédacteur
    Avatar de Greybird
    Inscrit en
    Juin 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 673
    Par défaut
    Les DataInputStream et DataOutputStream sont des objets présent dans toutes les éditions de Java (peut-être pas JavaCard tout de même). Ils sont capables de lire et d'écrire les types de base de Java, et ce qui est écrit par un DataOutputStream peut toujours être lu par un DataInputStream, quelque soit l'édition utilisée.

    Par ailleurs, il n'y a bien entendu aucun souci pour écrire ces flux dans le RMS, il ne s'agit que de tableaux d'octets...

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 88
    Par défaut
    Bon et ben merci pour ces infos, je vais faire ça alors. Je n'ai plus qu'à faire en sorte d'avoir les mêmes objets métier dans l'éditeur et dans le jeu.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 88
    Par défaut
    En fait je me posais une dernière question quand même : est-il vraiment possible d'avoir les mêmes objets, à partager par plusieurs éditions de java ?

    Je m'expliquer : mes objets sont des beans simples, qui contiennent, au pire, des Vector et autres Hashtable. Ces classes JavaME sont-elles compatibles avec leur version Java 5 ? Et inversement, si j'essaie d'avoir des objets métier qui ne contiennent que des Vector ou des Hashtable en Java 5, pourrais-je les lire ensuite en JavaME ? Je me demande si le transtypage va fonctionne si facilement que ça

    Merci

  8. #8
    Rédacteur
    Avatar de Greybird
    Inscrit en
    Juin 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 673
    Par défaut
    A priori, il n'y a pas de souci. Par contre, tu ne pourra pas sérialiser directement tes Vector et HashTable, car les DataXXXStream ne gèrent que les types de base (int, float, boolean, ...).
    Il va te falloir utiliser une convention du style écrire la taille du Vector, puis chacun des éléments, ou écrire la taille de la HashTable, puis clé1, valeur1, clé2, valeur2, ....
    Pour reconstruire tes objets, tu commence par lire la taille de l'objet, et tu le reconstruit en lisant tes données.

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 88
    Par défaut
    Hum, c'est une solution qui me convient moyennement pour le moment, parce que mes objets métiers bougent beaucoup... Sinon tu évoquais une autre solution, qui consisterait à faire en sorte que chaque objet sache se sérialiser en XML. J'aime bien cette idée, c'est plus simple à gérer au niveau dev, mais est-ce que ce n'est pas un peu sale ?

  10. #10
    Rédacteur
    Avatar de Greybird
    Inscrit en
    Juin 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 673
    Par défaut
    Citation Envoyé par guenievre
    Hum, c'est une solution qui me convient moyennement pour le moment, parce que mes objets métiers bougent beaucoup... Sinon tu évoquais une autre solution, qui consisterait à faire en sorte que chaque objet sache se sérialiser en XML. J'aime bien cette idée, c'est plus simple à gérer au niveau dev, mais est-ce que ce n'est pas un peu sale ?
    Dans la mesure où tu n'as pas d'autre choix, je ne vois pas en quoi c'est sale . De toutes façons, même la méthode utilisant des DataXXXStream impose que chaque objet se sérialise lui-même...

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    88
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 88
    Par défaut
    je voulais dire que mettre le code pour produire du XML dans chaque classe métier, c'est pas très très joli, mais pourquoi pas après tout


    Une autre solution que j'envisage, c'est de laisse les XMLEncoder et XMLDecoder faire leur boulot et essayer d'aller lire ça une fois dans le jeu, mais le format produit n'est pas évident. Les tags perso, c'est quand même plus simple !

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

Discussions similaires

  1. Serialisation XML avec l'api Java standard
    Par troubleshooting dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 16/07/2007, 12h42
  2. serialisation XML d'ArrayList
    Par tatayet_le_felee dans le forum C#
    Réponses: 1
    Dernier message: 15/06/2007, 11h50
  3. Serialisation XML avec Xstream !
    Par fabred dans le forum Persistance des données
    Réponses: 4
    Dernier message: 06/06/2007, 09h56
  4. [DOM] [Package] serialisation XML
    Par Overflow64 dans le forum Format d'échange (XML, JSON...)
    Réponses: 10
    Dernier message: 19/10/2004, 17h43
  5. [Concept][Sérialisation] XML ou serializable
    Par christopheJ dans le forum Format d'échange (XML, JSON...)
    Réponses: 7
    Dernier message: 03/06/2004, 14h11

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