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

API standards et tierces Android Discussion :

un web service et xml


Sujet :

API standards et tierces Android

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juin 2010
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 32
    Points : 27
    Points
    27
    Par défaut un web service et xml
    Bonsoir,
    ce bout de code permet d'appeler un web service de type restful.
    la réponse sera au format xml.
    comment je peux prendre de ce code xml le contenu d'une balise spécifique?
    Merci de m'aidez
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
     
    package android.Web.Service;
     
    import java.io.InputStream;
    import java.io.InputStreamReader;
     
     
    import org.apache.http.HttpResponse;
    import org.apache.http.client.HttpClient;
    import org.apache.http.client.methods.HttpGet;
    import org.apache.http.impl.client.DefaultHttpClient;
    import org.apache.http.params.BasicHttpParams;
    import org.apache.http.params.HttpConnectionParams;
    import org.apache.http.params.HttpParams;
    import org.apache.http.protocol.HTTP;
     
    import android.app.Activity;
    import android.app.ProgressDialog;
    import android.os.Bundle;
    import android.os.Handler;
    import android.os.Message;
    import android.util.Log;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.TextView;
     
     
    public class TestWebServiceActivity extends Activity implements OnClickListener{
        /** Called when the activity is first created. */
    		 private static String 		URL_WS="http://192.168.1.3:8080/trunk/resources/entity.media/";
    		 private ProgressDialog 	dialog;
    		 private Handler 			mHandler;
    		 private String 			resultat;
            @Override  
            public void onCreate(Bundle savedInstanceState) {  
                super.onCreate(savedInstanceState);  
                setContentView(R.layout.main); 
                ((Button)findViewById(R.id.btn_Appel)).setOnClickListener(this);
     
                dialog  = new ProgressDialog(this);
     
                dialog.setMessage("Appel au webservice en cours...");
       		 	dialog.setCancelable(true);
       		 	mHandler = new Handler() {
    				public void handleMessage(Message msg) {
    					switch(msg.what){
    						case 1:
    						dialog.dismiss();
    						((TextView)findViewById(R.id.resultat)).setText(resultat);
    						break;
     
    					}
    				}
    			};
          }
     
    	public void onClick(View v) {
    		switch(v.getId())
    		{
    			case R.id.btn_Appel:
    				 dialog.show();
    				 new Thread(new Runnable(){
    						public void run() {
    							resultat=rechercheViaWebService(Long.parseLong(((TextView)findViewById(R.id.input_id)).getText().toString()));
    							mHandler.sendEmptyMessage(1);
    						} 
    					}).start();
     
    			break;
    		}
     
     
    	} 
    	private String rechercheViaWebService(Long parseDouble) {
    		try {
     
    			HttpParams httpParameters = new BasicHttpParams();
    			HttpConnectionParams.setConnectionTimeout(httpParameters, 30000);
    	    	HttpConnectionParams.setSoTimeout(httpParameters, 50000);
     
    	    	HttpClient httpclient = new DefaultHttpClient(httpParameters);
     
    	    	HttpGet httpget = new HttpGet(URL_WS+parseDouble);
    	    	httpget.setHeader("Content-Type", "application/xml");
    	    	HttpResponse response = httpclient.execute(httpget); 
    	    	InputStream is=response.getEntity().getContent();
    	        InputStreamReader reader = new InputStreamReader(is,HTTP.UTF_8);
    	        char[] buf = new char [4096];
     
    	        int   count;
    			StringBuilder sb=new StringBuilder();
     
    			while ((count = reader.read (buf, 0, buf.length)) != -1)
    				sb.append(buf, 0, count);
    			is.close();
     
    			String res=sb.toString();
     
    			return res;
    			} catch (Exception e) {
    				Log.i("rest", e.toString());
    				return "Erreur lors de l'appel au webservice";
     
    			}  
     
    	};
     
    }

  2. #2
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    Il te faut parser la réponse (le flux XML) avec SAX ou DOM.
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juin 2010
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 32
    Points : 27
    Points
    27
    Par défaut
    Merci c'est résolu voici un tutoriel qui peut vous aidez
    http://thibault-koprowski.fr/2010/10...-sous-android/

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

Discussions similaires

  1. Web Service - "javax.xml.bind.JAXBElement@"
    Par arsenik360 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 31/05/2013, 20h29
  2. [Débutant] Web Service en XML RPC + VB.net (SSIS)
    Par Maduser dans le forum Services Web
    Réponses: 2
    Dernier message: 06/09/2012, 15h58
  3. web service ET XML
    Par saidaas dans le forum Services Web
    Réponses: 1
    Dernier message: 18/04/2010, 22h52
  4. Consommer un web service SOAP/XML
    Par wifsimster dans le forum XML/XSL et SOAP
    Réponses: 23
    Dernier message: 23/05/2009, 15h38
  5. [XML] Web Service/PHP/XML
    Par jokaris dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 04/08/2006, 14h01

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