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"; } }; }
Partager