bonjour
j'ai créer une conexion entre android et bdd firbird , j'ai reussi a recupérer les donné avec json
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
import android.annotation.TargetApi;
import android.app.Activity;
import android.os.Build;
import android.os.Bundle;
import android.os.StrictMode;
import android.util.Log;
import android.widget.LinearLayout;
import android.widget.TextView;
 
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
 
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
 
 
public class MainActivity extends Activity {
    TextView txt;
    @TargetApi(Build.VERSION_CODES.GINGERBREAD)
    @Override
 
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
 
            LinearLayout rootLayout = new LinearLayout(getApplicationContext());
            txt = new TextView(getApplicationContext());
            rootLayout.addView(txt);
            setContentView(rootLayout);
 
            // Définir le texte et appeler la fonction de connexion.
            txt.setText("Connexion...");
        StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
        StrictMode.setThreadPolicy(policy);
            // Appeler la méthode pour récupérer les données JSON
            txt.setText(getServerData(strURL));
        }
 
        // Mettre l'adresse du script PHP
        // Attention localhost ou 127.0.0.1 ne fonctionnent pas. Mettre l'adresse IP local.
        public static final String strURL = "http://192.168.1.15/ville.php";
 
        private String getServerData(String returnString) {
            InputStream is = null;
            String result = "";
            // Envoyer la requête au script PHP.
            // Script PHP : $sql=mysql_query("select * from tblVille where Nom_ville like '".$_REQUEST['ville']."%'");
            // $_REQUEST['ville'] sera remplacé par L dans notre exemple.
            // Ce qui veut dire que la requête enverra les villes commençant par la lettre L
            ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
            nameValuePairs.add(new BasicNameValuePair("ID","NAME"));
 
            // Envoie de la commande http
            try{
                HttpClient httpclient = new DefaultHttpClient();
                HttpPost httppost = new HttpPost(strURL);
                httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
                HttpResponse response = httpclient.execute(httppost);
                HttpEntity entity = response.getEntity();
                is = entity.getContent();
 
            }catch(Exception e){
                Log.e("log_tag", "Error in http connection " + e.toString());
            }
 
            // Convertion de la requête en string
            try{
                BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
                StringBuilder sb = new StringBuilder();
                String line = null;
                while ((line = reader.readLine()) != null) {
                    sb.append(line + "\n");
                }
                is.close();
                result=sb.toString();
            }catch(Exception e){
                Log.e("log_tag", "Error converting result " + e.toString());
            }
            // Parse les données JSON
            try{
                JSONArray jArray = new JSONArray(result);
                for(int i=0;i<jArray.length();i++){
                    JSONObject json_data = jArray.getJSONObject(i);
                    // Affichage ID_ville et Nom_ville dans le LogCat
                    Log.i("log_tag","Identifiant: "+json_data.getInt("ID")+
                                    ", Nom: "+json_data.getString("NAME")
                    );
                    // Résultats de la requête
                    returnString += "\n\t" + jArray.getJSONObject(i);
                }
            }catch(JSONException e){
                Log.e("log_tag", "Error parsing data " + e.toString());
            }
            return returnString;
        }
    }

jai le resulta sur un emulateur avec une liste , je cherche comment specifier le champ ou s 'affiche la donné , par exmple si je veux les produit j le recoi dans le champ poduits ............