Bonjour,
j'essayais de connecter à ma base de données sous localhost via une application android installée sur tablette afin de récupérer les données sous format JSON.
d'abord,j'ai paramétré Xampp pour que je puisse connecter de l'extérieur en utilisant la tablette et j'ai édité un fichier php qui récupère les données de la base sous ladite format voici le code:
Ensuite,je voudrais récupérer les données sur l'interface de l'application à la place d'une TextView nommée test :
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 <?php try{ $bdd= new PDO('mysql:host=localhost;dbname=billy','root',''); } catch(Exception $e) { die('erreur'.$e->getmessage()); } $sql="SELECT * FROM user WHERE id='".$_GET['id']."'"; $reponse=$bdd->query($sql); while($donnee=$reponse->fetch()){ $output[]=$donnee; print(json_encode($output)); } $reponse->closeCursor(); ?>
tous ça va s'exécuter en appuyant sur le bouton envoyer dont le code de l'action et le suivant:
voici la classe JSONTask que j'ai appelé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 btnenv=(Button) findViewById(R.id.btnenv); btnenv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { new JSONTask().execute("http://192.168.1.2/tests/titi.php?id=1"); } });
voici le résultat que je désire obtenu sur l'interface d'application,malheureusement elle est sur mon serveur local:
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 public class JSONTask extends AsyncTask<String,String, String> { @Override protected String doInBackground(String... params) { HttpURLConnection connection = null; BufferedReader reader = null; try { URL url = new URL(params[0]); connection = (HttpURLConnection) url.openConnection(); connection.connect(); InputStream stream = connection.getInputStream(); reader = new BufferedReader(new InputStreamReader(stream)); StringBuffer buffer = new StringBuffer(); String line = ""; while ((line = reader.readLine()) != null) { buffer.append(line); } return buffer.toString(); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { connection.disconnect(); } try { reader.close(); } catch (IOException e) { e.printStackTrace(); } return null; } @Override protected void onPostExecute(String result) { super.onPostExecute(result); json.setText(result); } }
voici ce que j'obtiens lorsque j'appuie sur le bouton envoyer:
.
Merci d'avance pour toute intervention .
Partager