Bonjour,
je débute en java et en particulier sous Android et je dois faire une application recupérant une liste à partir d'un service web (.NET,C#).
J'ai utilisé la libraire KSOAP2 et voici mon code :
et le fichier xml retourné par le web service :
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 import org.ksoap2.SoapEnvelope; import org.ksoap2.serialization.SoapObject; import org.ksoap2.serialization.SoapSerializationEnvelope; import org.ksoap2.transport.AndroidHttpTransport; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; public class TestWS extends Activity { TextView tv; Button btn; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); btn = (Button) findViewById(R.id.button); btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View view) { String NAMESPACE = "TestWS_3"; String METHOD_NAME = "sp_selectPersonnesResult"; String SOAP_ACTION = "TestWS_3/sp_selectPersonnesResult"; String URL = "http://10.0.2.2:1370/WebService1.asmx"; SoapObject Request = new SoapObject(NAMESPACE, METHOD_NAME); SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); envelope.dotNet = true; envelope.setOutputSoapObject(Request); try { AndroidHttpTransport transp = new AndroidHttpTransport(URL); transp.call(SOAP_ACTION, envelope); SoapObject result = (SoapObject) envelope.getResponse(); tv = (TextView) findViewById(R.id.textView); tv.setText(result.toString()); } catch (Exception e) { btn.setText(e.toString()); e.printStackTrace(); } } }); } }
L'emulateur Android m'affiche ceci lorsque j'execute le code :
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 <?xml version="1.0" encoding="utf-8"?> <ArrayOfSp_selectPersonnesResult xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="TestWS_3"> <sp_selectPersonnesResult> <id>1</id> <nom>nom1</nom> <prenom>prenom1</prenom> </sp_selectPersonnesResult> <sp_selectPersonnesResult> <id>2</id> <nom>nom2</nom> <prenom>prenom2</prenom> </sp_selectPersonnesResult> <sp_selectPersonnesResult> <id>3</id> <nom>nom3</nom> <prenom>prenom3</prenom> </sp_selectPersonnesResult> <sp_selectPersonnesResult> <id>4</id> <nom>nom4</nom> <prenom>prenom4</prenom> </sp_selectPersonnesResult> </ArrayOfSp_selectPersonnesResult>
"anyType{
sp_selectPersonnesResult=anyType{id=1;nom=nom1;prenom=prenom1;};
sp_selectPersonnesResult=anyType{id=2;nom=nom2;prenom=prenom2;};
sp_selectPersonnesResult=anyType{id=3;nom=nom3;prenom=prenom3;};
sp_selectPersonnesResult=anyType{id=4;nom=nom4;prenom=prenom4;};}"
J'aimerais pouvoir afficher les données récupérées dans une ListView. J'ai fait pas mal de recherches pour trouver comment faire mais je me suis perdue quelque part entre le SAX parser et le BaseAdapter (en essayant d'adapter ce tuto notamment : http://thibault-koprowski.fr/2010/10...-sous-android/).
Est-ce quelqu'un a déjà fait ce type d'application et pourrait me donner quelques conseils sur la démarche à suivre, les classes nécessaires, etc?
Merci d'avance à ceux qui prendront le temps de m'aider.
Partager