stocker les preferences de mon appli [XML] - Java - Programmation
Marsh Posté le 15-01-2004 à 12:59:32
Pour ce genre de besoin, utilise la classe Properties ...
Si tu veux faire ca en XML, y a pas de problème, mais bon, l'intérêt est pas énorme a part que c'est plus facilement évolutif.
y a une classe Preference en jdk1.4 aussi je crois ... mais je connais pas trop
Marsh Posté le 15-01-2004 à 13:16:52
cool je connaissais pas ca...
merci bcp ! je vais voir ca de ce pas !
Marsh Posté le 15-01-2004 à 13:18:52
benou a écrit : |
Elle est mieux (pour faire ça).
Il y a un système pour livrer des configuration "en boite de conserve" avec l'application, et c'est du XML.
http://java.sun.com/j2se/1.4.2/doc [...] ences.html
si vraiment un poil de doc en plus est nécessaire, la doc du JSR :
http://www.jcp.org/aboutJava/commu [...] st/jsr010/
en particulier "Usage Notes"
Marsh Posté le 15-01-2004 à 13:30:00
merci pour usage notes, je crois que je vais 'en inspirer !
Marsh Posté le 15-01-2004 à 13:34:08
Ouais, enfin, si t'as 4 petits paramètres à stocker, c'est peut être plus simple d'utiliser un bête fichier properties et la classe Properties, tu crois pas ?
Marsh Posté le 15-01-2004 à 13:42:28
el_gringo a écrit : Ouais, enfin, si t'as 4 petits paramètres à stocker, c'est peut être plus simple d'utiliser un bête fichier properties et la classe Properties, tu crois pas ? |
non, justement, c'est ça la feinte : Properties c'est pour les trucs plus compliqués.
Citation : How does this API relate to Properties? |
je te renvoie vers http://www.jcp.org/aboutJava/commu [...] usage.html
pour bien voir que c'est vraiment bidon comme truc.
Marsh Posté le 15-01-2004 à 14:23:22
Ouais, enfin, a ce que j'ai compris, c'est plus "encadré" que la classes Properties. Mais vu la simplicité d'usage, c'est vrai qu'il vaut surement mieux utiliser cette classe "Preferences".
Et, quand on fait un export des Preférences (exportTree ou qqch comme ça), elles sont formtées comment les données ?
Marsh Posté le 15-01-2004 à 14:53:22
Ya un truc super pour l'xml en java: jdom..
Marsh Posté le 15-01-2004 à 15:09:44
h4dd3r a écrit : Ya un truc super pour l'xml en java: jdom.. |
Y'a SAX aussi : SAX = DOM simplifié mais moins puissant
Marsh Posté le 15-01-2004 à 15:19:26
el_gringo a écrit : Et, quand on fait un export des Preférences (exportTree ou qqch comme ça), elles sont formtées comment les données ? |
Code :
|
http://java.sun.com/j2se/1.4.2/doc [...] ences.html
ça serait bien de lire les docs que je poste. Surtout que là c'est sur un sujet ridiculement minimaliste.
Marsh Posté le 15-01-2004 à 15:21:39
yo c spi a écrit : |
C'est pas simplifié, c'est une couche en dessous que DOM. Du coup c'est plus performant, et permet de faire de l'évènementiel (permet de ne lire qu'une partie du document : alors que le mode DOM oblige à lire l'intégralité du document pour construire l'arborescence).
Mais là on s'écarte du sujet.
Le gars qui à posté la question de base à 4 propriétés à gérer. Il va pas faire du SAX pour ça !!!
Marsh Posté le 15-01-2004 à 17:41:53
yo c spi a écrit : |
faut arrêter de dire n'importe quoi, hein !
Marsh Posté le 15-01-2004 à 23:16:36
VOus inquietez pas j'aurais d'autres questions qui vont venir tres vite sur Java et XML : je dois créer des albums de documents (en clair des fichiers qui ont la meme extension) , pour chaque document on peut avoir une ou plusieurs "propriétés" qui ont une valeur . Le tout est configurable par GUI que je suis en train de construire avec Swing !
Je pense que l'utilisation se XML sera alors pleinement justifiée !
Je prepare mes questions car je sens qu'il va y en avoir !
Marsh Posté le 16-01-2004 à 00:37:47
el_gringo a écrit : |
DOM est plutot une approche top-down et SAX une approche bottom-up au parsing d'un fichier XML.
DOM construit un arbre a partir du document XML ==> il faut lire tout le document pour construire l'arbre et de plus cet arbre consomme de la place memoire.
SAX envoie des evenements de parsing au fur et a mesure de la lecture du document ==> peu de consommation memoire, ...
On peut construire un arbre DOM a partir des informations SAX (quoique, elles sont peut etre insuffisantes a la base), mais ce n'est nullement une obligation. On peut avoir des parsers DOM n'ayant rien a voir avec SAX.
A+,
Marsh Posté le 16-01-2004 à 08:46:47
ReplyMarsh Posté le 16-01-2004 à 14:15:57
y'a XPP aussi
[c'était mon moment j'étale ma culture à la manière de la confiture, merci à tous d'avoir suivi]
Marsh Posté le 16-01-2004 à 14:22:42
the real moins moins a écrit : y'a XPP aussi |
Certains disent que la culture, c'est comme la confiture :
moins on en a, plus on l'étale !
Marsh Posté le 16-01-2004 à 14:23:51
c'est exactement ce que je voulais dire, y'avait'il vraiment besoin de l'expliquer?
Marsh Posté le 16-01-2004 à 14:24:46
the real moins moins a écrit : c'est exactement ce que je voulais dire, y'avait'il vraiment besoin de l'expliquer? |
Au moins là, c'est clair !
Marsh Posté le 16-01-2004 à 14:25:35
je vois pas où ça aurait pu ne pas l'être.
et puis n'insiste pas trop, tu as déjà appris quelquechose, l'existence de l'XPP, c'est déjà ça non?
Marsh Posté le 16-01-2004 à 14:45:32
the real moins moins a écrit : je vois pas où ça aurait pu ne pas l'être. |
Ben, juste le nom, comme ça, on s'en fout un peu. Tant qu'a faire, si tu places le nom, une petite expliquation de ce dont il s'agit ne serait pas mal venue.
Ne serait-ce que pour montrer que en sais + sur la chose que sa simple dénomination !
Marsh Posté le 16-01-2004 à 14:51:33
ben oui mais non, confiture, tout ça.
je sais juste que c'est une autre api que SAX et DOM pour parser de l'xml et potentiellement très performante.
google >> XPP3
Marsh Posté le 16-01-2004 à 15:09:18
el_gringo a écrit : |
Non non il peut pas préciser plus: la culture c juste superficiel!!
Marsh Posté le 17-01-2004 à 14:36:03
je reviens quelque peu sur le sujet initial.
ya un truc que je comprends pas je me suis a peu pres calqué sur la doc :
j'ai ma classe Prefs
Code :
|
et ensuite je l'utilise comme ceci (dans une fenetre)
Code :
|
et ca marche pas les parametre restent a leurs valeurs par defaut :
trace
Code :
|
J'ai du pas faire un truc que j'aurais du ou alors ya ue erreur conne...j'ai un peu peur des static aussi...
Marsh Posté le 17-01-2004 à 19:06:33
c bon g trouvé
pour info pour recuperer le contenu d'un JTextField il faut faire getText et non pas toString()
je sus un boulet et j'assume
Marsh Posté le 21-01-2004 à 01:00:08
Je viens de m'apercevoir que l'on ne peut stocker ques des strings dans la classe Preferences.
Ca doit etre du au format d'exportation (XML) mais comment faire pour detourner cette difficulté ? Moi qui voulait mettre une Hashmap j'aurais mieux fait d'utiliser la classe Properties... nraynaud un avis?
Marsh Posté le 21-01-2004 à 08:54:28
spitagor a écrit : Je viens de m'apercevoir que l'on ne peut stocker ques des strings dans la classe Preferences. |
Il aurait fallu lire la Faq, c'était marqué dedans qu'on ne pouvait mettre que des types primitifs et des strings.
Ben soit tu passes au calibre d'au-dessus, soit tu fais le dump de ton hashMap à la main.
Marsh Posté le 21-01-2004 à 21:02:27
heu... il me semble avoir lu dans la doc si j'ai bien compris qu'il n'etait pas conseillé avec la classe Properties, d'utiliser autre chose que des Strings...
pour le dump du Hashmap a la main , je suppose que tu veux dire d'entrer les valeurs a la main... ok mais dans ce cas la ou le stocker? par exemple si j'ai un tableau des extensions connues que je remplis a la main, je dois pouvoir le sauvegarder d'un maniere ou d'un autre (fichier ...) de marniere a ce que je n'ai pas a le recreeer(lourd) a chaque lancement de l'apllication. Bon ca c'est faisable .
Le probleme c'est que je dois stocker une association (Hashmap) : j'associe une String a une ArrayList d'extensions.
Et comme je peux le mettre ni dans properties ni dans preferences, je le mets ou? dans une class statique?
De plus pour ce cas, ca serait pas mal un fichier XML a priori
Je sais j'ai beaucoup de question mais apres avoir lu la doc, j'ai du mal a choisir une solution.
Sinon... qu'entends tu par "passer un Calibre au dessus?"
Marsh Posté le 15-01-2004 à 12:18:27
Bonjour
Je suis débutant en XML.
J'ai une appli java qui necessite des preferences que je souhaiterait stocker dans un fichier XML : prefs.xml pour ne pas le citer.
En clair quand je vais dans le menu "preferences" ben ca met a jour mon fichier XML
Sachant que je n'aurais que 3 ou 4 parametre a gerer (style un booleen, un chemin de fichier...), croyez vous que XML soit bien adpaté pour mon cas ou vaut il mieux faire ca a la methode "classique" (une classe Préferences avec des attributs comme support de stockage) ?
Merci