Précédent   Forum du club des développeurs et IT Pro > Java > Général Java > Java & Mobiles > Android
Android Forum d'entraide sur Android, la plateforme mobile de Google pour téléphones portables et Smartphones. Avant de poster -> FAQ Android
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Actualité déjà publiée
 
Outils de la discussion
Publicité
'
Vieux 29/06/2011, 13h14   #1
David55
Rédacteur/Modérateur
 
Avatar de David55
 
Homme David S.
Etudiant en alternance
Inscription : août 2010
Messages : 1 269
Détails du profil
Informations personnelles :
Nom : Homme David S.
Âge : 23
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Etudiant en alternance
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2010
Messages : 1 269
Points : 2 418
Points : 2 418
Envoyer un message via Skype™ à David55
Par défaut [Tutoriel] Communication base de données via script PHP

Bonjour à tous et à toutes,

Je vous propose un nouveau tutoriel sur le sujet:
Créer une page de login et vérifier l’identification en communiquant avec la base de donnée via un script PHP.

Vous pouvez poster ici toutes vos questions sur ce tutoriel

Bonne lecture à tous et à toutes!
__________________
Visitez mon nouveau blog : http://easy-android.over-blog.com/

Vous trouverez ma page perso avec des tutoriels sur Android et BIRT au lien suivant : http://dsilvera.developpez.com

Vous voulez afficher du code :
Votre problème est résolu :
David55 est déconnecté   Envoyer un message privé Réponse avec citation 40
Vieux 29/06/2011, 15h21   #2
malgache
Membre éprouvé
 
Homme Yann
IUT Informatique
Inscription : mars 2011
Messages : 400
Détails du profil
Informations personnelles :
Nom : Homme Yann
Localisation : France

Informations professionnelles :
Activité : IUT Informatique

Informations forums :
Inscription : mars 2011
Messages : 400
Points : 452
Points : 452
Hum bon tuto, dommage que tu l'ai pas fait bien avant (quand j'en avait besoin lol). Juste peut être qu'il faudrait préciser que c'est une "requête HTTP synchrones" que tu met en place dans le tuto (si je me trompe pas).

Et du coup, vu que c'est synchrone, la progressDialog évolue bien? (la roulette tourne?) Parce qu'il me semble qu'en requête synchrone l'écran reste figé
malgache est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 29/06/2011, 20h17   #3
jahbromo
Inscrit
 
Inscription : février 2008
Messages : 650
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 650
Points : 677
Points : 677
Un bon travail mais tu devrais le perfectionner avant car meme s'il y'a pas d'erreur, il y'a probleme de performance derriere : Par exemple il faut toujours eviter de lancer une requete de connection dans la main thread et de plus tu as carrement pris la class Exception au lieu de IOException....
jahbromo est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 30/06/2011, 10h21   #4
David55
Rédacteur/Modérateur
 
Avatar de David55
 
Homme David S.
Etudiant en alternance
Inscription : août 2010
Messages : 1 269
Détails du profil
Informations personnelles :
Nom : Homme David S.
Âge : 23
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Etudiant en alternance
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2010
Messages : 1 269
Points : 2 418
Points : 2 418
Envoyer un message via Skype™ à David55
Merci pour ces retours!

Bien entendu ce tuto vous montre les bases! A vous de programmer comme il le faut par la suite! Arranger le code à votre manière afin qu'il fonctionne comme vous le souhaitez

Je prendrai en compte vos remarques pour la mis à jour du tuto
__________________
Visitez mon nouveau blog : http://easy-android.over-blog.com/

Vous trouverez ma page perso avec des tutoriels sur Android et BIRT au lien suivant : http://dsilvera.developpez.com

Vous voulez afficher du code :
Votre problème est résolu :
David55 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2011, 16h25   #5
pascalp59
Invité régulier
 
Homme
Inscription : juin 2011
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : juin 2011
Messages : 7
Points : 9
Points : 9
Bonjour,

Merci pour ce tutorial, j'ai bien avancé grâce à ça.

Dans la classe "LoginContentHandler", les fonctions startDocument, EndElement, EndDocument et caracters fonctionnent bien.

Cependant ma fonction startElement ne se lance pas Elle est pourtant (je pense) correctement écrite.

Eclipse me met un warning pour indiquer que la fonction n'est jamais utilisée localement et propose de la supprimer.

Code :
1
2
3
4
 
public void startElement ( String uri, String localName, String qName, Attributes MesAttri) throws SAXException {
  Log.w("TEST", "startElement sur tag = " + localName);
}
Si vous avez une idée ?
pascalp59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2011, 17h15   #6
David55
Rédacteur/Modérateur
 
Avatar de David55
 
Homme David S.
Etudiant en alternance
Inscription : août 2010
Messages : 1 269
Détails du profil
Informations personnelles :
Nom : Homme David S.
Âge : 23
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Etudiant en alternance
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2010
Messages : 1 269
Points : 2 418
Points : 2 418
Envoyer un message via Skype™ à David55
Bonjour,

Ta classe hérite bien de Defaulthandler?
Si oui ajoute @Override avant tes fonctions, ceci permettra de préciser que c'est une surcharge d'une fonction existante de la classe mère.

Sinon à quoi ressemble ta fonction? Qu'as tu modifié? Où appelles tu ta classe? et comment?
__________________
Visitez mon nouveau blog : http://easy-android.over-blog.com/

Vous trouverez ma page perso avec des tutoriels sur Android et BIRT au lien suivant : http://dsilvera.developpez.com

Vous voulez afficher du code :
Votre problème est résolu :
David55 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2011, 18h29   #7
diengkals
Membre régulier
 
Homme kalidou dieng
Développeur informatique
Inscription : janvier 2010
Messages : 319
Détails du profil
Informations personnelles :
Nom : Homme kalidou dieng
Localisation : Mauritanie

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : janvier 2010
Messages : 319
Points : 70
Points : 70
merci pour ce tutoriel , est ce que ce tutoriel peut marcher avec une application realisé avec J2EE pas le php
diengkals est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 01/07/2011, 15h06   #8
pascalp59
Invité régulier
 
Homme
Inscription : juin 2011
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : juin 2011
Messages : 7
Points : 9
Points : 9
Citation:
Envoyé par David55 Voir le message
Bonjour,

Ta classe hérite bien de Defaulthandler?
Si oui ajoute @Override avant tes fonctions, ceci permettra de préciser que c'est une surcharge d'une fonction existante de la classe mère.

Sinon à quoi ressemble ta fonction? Qu'as tu modifié? Où appelles tu ta classe? et comment?
Merci de ta réponse.

@Override n'a pas résolu mon problème.

Voici mon code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
 
 
private class MySaxHandler extends DefaultHandler {
 
 
     public void read (InputStream input){
 
	SAXParserFactory spf = SAXParserFactory.newInstance();
	SAXParser sp;
 
	try {
		sp = spf.newSAXParser();
		XMLReader xr = sp.getXMLReader();
 
		xr.setContentHandler( this );
		xr.parse(new InputSource(input));
 
	}
	catch (ParserConfigurationException e) {
		Log.e("XML", "PASCAL : ParserConfigurationException");	
	}
		catch (SAXException e) {
		Log.e("XML", "PASCAL : SAXException");
	}
	catch (IOException e) {
		Log.e("XML", "PASCAL : IOException");
	}
    }
 
 
    @Override
    public void startDocument() throws SAXException {
		Log.w("XML", "PASCAL : startDocument du XML");
	}
 
     public void startElement ( 
            String uri, String localName, 
            String qName, Attributes MesAttri ) throws SAXException {
 
	    Log.w("XML", "PASCAL : startElement du XML : Debut TAG = " + localName);
	}
 
 
     public void characters( char ch[], int start, int length  )
          {
               //Log.w("XML", "PASCAL : characters du XML : ch[0]  = " + phrase );
          }
 
     public void endElement ( String uri, String localName, String qName)
     throws SAXException {
          Log.w("XML", "PASCAL : endElement du XML : Fin TAG = " + localName);			
	   }
 
 
     public void endDocument() throws SAXException {
          Log.w("XML", "PASCAL : endDocument du XML");
	}
 
 
    }
Donc toutes mes fonctions fonctionnent, j'ai bien les infos de mon XML sauf startElement qui ne semble pas être reconnu.

P.S : Désolé pour le temps de réponse mais j’étais sur un autre soucis ce matin hors Android.
pascalp59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/07/2011, 17h44   #9
David55
Rédacteur/Modérateur
 
Avatar de David55
 
Homme David S.
Etudiant en alternance
Inscription : août 2010
Messages : 1 269
Détails du profil
Informations personnelles :
Nom : Homme David S.
Âge : 23
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Etudiant en alternance
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2010
Messages : 1 269
Points : 2 418
Points : 2 418
Envoyer un message via Skype™ à David55
@pascalp59:

Bonjour,

Tout d'abord ta fonction read ne devrait pas être dans cette classe (cf. le tuto).

Sinon, si tu veux la laisser dedans, comment as tu fais pour l'appeler?

La fonction startElement est appelée lorsque tu écris new MySaxHandler, cependant, dans ton code je vois ceci nulle part!

________________________

@diengkals
Citation:
merci pour ce tutoriel , est ce que ce tutoriel peut marcher avec une application realisé avec J2EE pas le php
A tester! La réponse m’intéresse
__________________
Visitez mon nouveau blog : http://easy-android.over-blog.com/

Vous trouverez ma page perso avec des tutoriels sur Android et BIRT au lien suivant : http://dsilvera.developpez.com

Vous voulez afficher du code :
Votre problème est résolu :
David55 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2011, 14h05   #10
pascalp59
Invité régulier
 
Homme
Inscription : juin 2011
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : juin 2011
Messages : 7
Points : 9
Points : 9
Voici comment j'appelle ma classe et fonction Read :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
 
 
Looper.prepare();
 
//On se connecte au serveur afin de communiquer avec le php
DefaultHttpClient client = new DefaultHttpClient();
HttpConnectionParams.setConnectionTimeout( client.getParams(), 15000);
 
 
HttpResponse ReponsePHP;
HttpEntity entity;
 
try {
	//On etablit un lien vers le php
	HttpPost post = new HttpPost( URL_XML );
 
	//Ajout de parametre en post
	List<NameValuePair> nvps = new ArrayList<NameValuePair>();
	nvps.add( new BasicNameValuePair("Parametre1", "savaleur"));
	nvps.add( new BasicNameValuePair("Parametre2", "savaleur"));
 
        post.setHeader("Content-Type", "application/x-www-form-urlencoded");
	post.setEntity( new UrlEncodedFormEntity(nvps, HTTP.UTF_8));
 
	//Execution et Recuperation de la reponse
	ReponsePHP = client.execute(post);					
	entity = ReponsePHP.getEntity();
 
	//Traduction de la reponse XML
	InputStream MonXML = entity.getContent();
	MySaxHandler handler = new MySaxHandler();
	handler.read(MonXML);
	MonXML.close();
 
	if (entity != null)
		entity.consumeContent();
 
}
catch (Exception e) {
	Log.e("PHP P.", "PASCAL : Erreur dans la lecture du PHP " + e.getMessage() + " -- " + e.hashCode() + " -- " + e.getCause());
}
 
Looper.loop();
Pour rappel, toutes mes fonctions dans ma classe MySaxHandler fonctionnent sauf la fonction startElement qui ne semble pas être reconnu comme une fonction à surcharger.
pascalp59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2011, 14h39   #11
David55
Rédacteur/Modérateur
 
Avatar de David55
 
Homme David S.
Etudiant en alternance
Inscription : août 2010
Messages : 1 269
Détails du profil
Informations personnelles :
Nom : Homme David S.
Âge : 23
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Etudiant en alternance
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2010
Messages : 1 269
Points : 2 418
Points : 2 418
Envoyer un message via Skype™ à David55
Bonjour,

La première remarque que je peux observer est que ce n'est pas tout à fait la même chose que dans le tuto.

A première vu je te dirais d'essayer de définir la fonction read au même endroit que ton code post au dessus! (tout comme le tuto!)
Dis moi si tu as la même erreur car ce que tu fais reviens au même mais est écrit différemment donc c'est assez étrange!

EDIT: J'essaye de prendre la même logique que toi. Ca me donnerai:
Appelle à ma classe LoginContentHandler :
Code :
1
2
3
4
5
6
7
8
9
10
11
 
	/*...*/
	entity = response.getEntity();
 
	InputStream is = entity.getContent();
 
	LoginContentHandler uch = new LoginContentHandler();
	uch.read(in);
 
	in.close();
	/*...*/
Ma classe LoginContentHandler :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
 
 
	private class LoginContentHandler extends DefaultHandler
	{
		// Classe traitant le message de retour du script PHP
		private boolean	in_loginTag		= false;
		private int			userID;
		private boolean	error_occured	= false;
 
		private void read(InputStream in)
		{
			SAXParserFactory spf = SAXParserFactory.newInstance();
			SAXParser sp;
			try
			{
				sp = spf.newSAXParser();
 
				XMLReader xr = sp.getXMLReader();
 
				xr.setContentHandler(this);
 
				xr.parse(new InputSource(in));
			}
			catch (ParserConfigurationException e)
			{
 
			}
			catch (SAXException e)
			{
 
			}
			catch (IOException e)
			{
			}
		}
 
		public void startElement(String n, String l, String q, Attributes a)
 
		throws SAXException
 
		{
 
			if (l == "login")
				in_loginTag = true;
			if (l == "error")
			{
 
				progressDialog.dismiss();
 
				switch (Integer.parseInt(a.getValue("value"))
				{
					case 1:
						createDialog("Error", "Couldn't connect to Database");
						break;
					case 2:
						createDialog("Error", "Error in Database: Table missing");
						break;
					case 3:
						createDialog("Error", "Invalid username and/or password");
						break;
				}
				error_occured = true;
 
			}
 
			if (l == "user" && in_loginTag && a.getValue("id") != "")
				// Dans le cas où tout se passe bien on récupère l'ID de l'utilisateur
				userID = Integer.parseInt(a.getValue("id"));
 
		}
		/*...*/
		}
Je n'ai pas tester! A comparer avec ton programme. Je répète, ceci me parait bizarre de définir la fonction read dans cette classe
__________________
Visitez mon nouveau blog : http://easy-android.over-blog.com/

Vous trouverez ma page perso avec des tutoriels sur Android et BIRT au lien suivant : http://dsilvera.developpez.com

Vous voulez afficher du code :
Votre problème est résolu :
David55 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/07/2011, 15h12   #12
pascalp59
Invité régulier
 
Homme
Inscription : juin 2011
Messages : 7
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : juin 2011
Messages : 7
Points : 9
Points : 9
En fait je suis parti d'un autre tuto (pas terrible) et j'ai trouvé le tien que j'ai mieux compris (enfin je pensais ) J'ai donc adapté mon code pour utiliser ton tuto.

Comme toutes les fonctions se lancent sauf celle la je pensais que ma logique était correcte. Après je n'avais encore jamais fait de Java et Android donc un peu de mal sur la logique de programmation du java. Je suis plus habitué au genre php, web, laszlo, etc...

Je vais reprendre ta logique et essayer ce que tu proposes, si je n'y arrive pas. Je recommencerai le tuto à 0. J'ai forcement du louper quelques chose mais c'est vraiment bizarre que java ne comprennent pas uniquement cette fonction et lance le reste.

Merci pour ton aide en tout cas.


RESOLU :

Vu sur une aide d'un autre site :
Citation:
Generates compile-time error if startElement is not correctly overriden. This method generates a compile-error "final method cannot be overridden" if org.xml.sax.Attributes is used instead of javolution.xml.sax.Attributes (common mistake).
Eclipse par défaut m'a proposé un mauvais import. Je ne savais pas qu'il y avait plusieurs choix. Maintenant je me coucherai moins c**

Je me disais aussi c'était bien bizarre.

Merci pour ton aide et surtout pour le tuto.

Une question : Existe-t-il la possibilité sans parcourir tout le XML de trouver une information ?
Par exemple, je recherche le noeud qui a l'attribut id="1".

En XML le path : MonXML:/ROOT/MON_NOEUD[@id='1']
pascalp59 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 05/07/2011, 15h39   #13
diengkals
Membre régulier
 
Homme kalidou dieng
Développeur informatique
Inscription : janvier 2010
Messages : 319
Détails du profil
Informations personnelles :
Nom : Homme kalidou dieng
Localisation : Mauritanie

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : janvier 2010
Messages : 319
Points : 70
Points : 70
@David55
bonjour David tu l as pas sur une application J2EE car je n en besoin mais ça marche pas chez moi. si quelqu' un l a fait sur une application qu il m aide merci d avance
diengkals est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 05/07/2011, 17h32   #14
Feanorin
Responsable Android

 
Avatar de Feanorin
 
Inscription : avril 2004
Messages : 3 271
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 3 271
Points : 5 287
Points : 5 287
Envoyer un message via Skype™ à Feanorin
Citation:
Une question : Existe-t-il la possibilité sans parcourir tout le XML de trouver une information ?
Par exemple, je recherche le noeud qui a l'attribut id="1".
Oui c'est possible via la méthode SAX. SAX construit son Xml au fur à mesure il ne construit pas d'arbre comparé à DOM. Donc lorsque tu rencontre l'élèment que tu souhaitais trouver il ne te reste plus qu'à arrêter ton parser .

Après tu peux même l'optimiser si tu sais que ton élément se trouve dans les n premiers caractères tu peux ne lui passer qu'une partie de ton fichier ce qui aura le mérite de ne pas l'avoir en mémoire totalement .

Pour l'arrêter tu peux remonter un exception , je ne me rappelle plus si une procédure/fonction existe pour un tel cas.n Si tu la trouve je suis intéressé .
Feanorin est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 06/07/2011, 09h08   #15
arnouf
Invité de passage
 
Inscription : août 2009
Messages : 3
Détails du profil
Informations forums :
Inscription : août 2009
Messages : 3
Points : 3
Points : 3
Pourquoi ne pas avoir utiliser la classe AsyncTask à la place de l'utilisation de Thread et d'handler.
Tu aurais allégé le code et cette classe est justement faite pour le besoin que tu exprimes dans le sujet...
arnouf est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 06/07/2011, 10h20   #16
David55
Rédacteur/Modérateur
 
Avatar de David55
 
Homme David S.
Etudiant en alternance
Inscription : août 2010
Messages : 1 269
Détails du profil
Informations personnelles :
Nom : Homme David S.
Âge : 23
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Etudiant en alternance
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2010
Messages : 1 269
Points : 2 418
Points : 2 418
Envoyer un message via Skype™ à David55
Citation:
Envoyé par arnouf Voir le message
Pourquoi ne pas avoir utiliser la classe AsyncTask à la place de l'utilisation de Thread et d'handler.
Tu aurais allégé le code et cette classe est justement faite pour le besoin que tu exprimes dans le sujet...
Pourquoi pas c'est une autre possibilité, vous êtes libre!
Si tu as un exemple je suis preneur
__________________
Visitez mon nouveau blog : http://easy-android.over-blog.com/

Vous trouverez ma page perso avec des tutoriels sur Android et BIRT au lien suivant : http://dsilvera.developpez.com

Vous voulez afficher du code :
Votre problème est résolu :
David55 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2011, 11h23   #17
JejeWIll
Membre à l'essai
 
Inscription : juillet 2009
Messages : 18
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 18
Points : 21
Points : 21
Intéressant .
Par contre je suis un peu étonné que le Handler SAX marche.

Code :
...if (l == "login")...
Je comprend même pas comment ça peut fonctionner, pour moi il compare les références.
JejeWIll est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2011, 11h37   #18
David55
Rédacteur/Modérateur
 
Avatar de David55
 
Homme David S.
Etudiant en alternance
Inscription : août 2010
Messages : 1 269
Détails du profil
Informations personnelles :
Nom : Homme David S.
Âge : 23
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Etudiant en alternance
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2010
Messages : 1 269
Points : 2 418
Points : 2 418
Envoyer un message via Skype™ à David55
Citation:
Envoyé par JejeWIll Voir le message
Intéressant .
Par contre je suis un peu étonné que le Handler SAX marche.

Code :
...if (l == "login")...
Je comprend même pas comment ça peut fonctionner, pour moi il compare les références.


Source tiré du tutoriel : http://smeric.developpez.com/java/cours/xml/sax/
Citation:
startElement

Démarrage d'un élément XML... Enfin ! Et oui, on peut en effet pour démarrer avec SAX se contenter de comprendre cet événement et son traitement ainsi que son contraire pour analyser un flux xml de manière très puissante et efficace. Nous allons donc nous pencher un peu plus sur cet événement.

startElement (String namespaceUri, String localName, String rawName, Attributs atts);

où nameSpaceUri est la chaîne de caractères contenant l'URI complète de l'espace de nommage du tag ou une chaîne vide si le tag n'est pas compris dans un espace de nommage,
localName est le nom du tag sans le préfixe s'il y en avait un,
rawName est le nom du tag version xml 1.0 c'est à dire $prefix:$localname,
Enfin attributs est la liste des attributs du tag que l'on étudiera un peu plus loin.
Ici, nous attendons donc un tag
Nous voulons récupérer ce qu'il y a dans les balises <login> de notre XML
__________________
Visitez mon nouveau blog : http://easy-android.over-blog.com/

Vous trouverez ma page perso avec des tutoriels sur Android et BIRT au lien suivant : http://dsilvera.developpez.com

Vous voulez afficher du code :
Votre problème est résolu :
David55 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/07/2011, 14h23   #19
JejeWIll
Membre à l'essai
 
Inscription : juillet 2009
Messages : 18
Détails du profil
Informations forums :
Inscription : juillet 2009
Messages : 18
Points : 21
Points : 21
Citation:
Envoyé par David55 Voir le message
Source tiré du tutoriel : http://smeric.developpez.com/java/cours/xml/sax/


Ici, nous attendons donc un tag
Nous voulons récupérer ce qu'il y a dans les balises <login> de notre XML
Pas de soucis ce n'est pas à ce niveau là que ça bloque (j'ai déjà fait beaucoup trop d'handler SAX à mon goût).

Je parle au niveau langage JAVA, pour comparer 2 objets on utilise la méthode equals, et non == qui compare les références. voir http://stackoverflow.com/questions/7...-equals-versus

Du coup je comprend pas comment le handler peut fonctionner, y a-t-il une subtilité que je n'ai pas saisie?

edit : Peut être un élément de réponse
Citation:
It's good to notice that in some cases use of "==" operator can lead to the expected result, because the way how JVM handling strings - string literals are interned (see String.intern()) - so when you write for example "hello world" in two classes and compare those strings with "==" you could get result: true, which is expected, but it's only side effect of jvm optimizations; when you compare same strings (linguistically) when the first is string literal (ie. defined through "string") and second is constructed through "new" keyword like new String("string") using of == (equality operator) returns false, because both of them are different instances of String class.
JejeWIll est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 06/07/2011, 14h31   #20
David55
Rédacteur/Modérateur
 
Avatar de David55
 
Homme David S.
Etudiant en alternance
Inscription : août 2010
Messages : 1 269
Détails du profil
Informations personnelles :
Nom : Homme David S.
Âge : 23
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Etudiant en alternance
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2010
Messages : 1 269
Points : 2 418
Points : 2 418
Envoyer un message via Skype™ à David55
Personnellement rien ne me choque la dessus!

Nous comparons 2 chaines de caractère!

L'opérateur == peut être utilisé si nous voulons vérifier l'égalité strict.

Citation:
The == operator checks to see if two objects are exactly the same object.
__________________
Visitez mon nouveau blog : http://easy-android.over-blog.com/

Vous trouverez ma page perso avec des tutoriels sur Android et BIRT au lien suivant : http://dsilvera.developpez.com

Vous voulez afficher du code :
Votre problème est résolu :
David55 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Actualité déjà publiée
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 17h44.


 
 
 
 
Partenaires

Hébergement Web