3 pièce(s) jointe(s)
connecter à une base de données sous localhost via une application Android installée sur tablette
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:
Code:
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();
?> |
Ensuite,je voudrais récupérer les données sur l'interface de l'application à la place d'une TextView nommée test :
Pièce jointe 205267
tous ça va s'exécuter en appuyant sur le bouton envoyer dont le code de l'action et le suivant:
Code:
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 la classe JSONTask que j'ai appelé :
Code:
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 le résultat que je désire obtenu sur l'interface d'application,malheureusement elle est sur mon serveur local:
Pièce jointe 205266
voici ce que j'obtiens lorsque j'appuie sur le bouton envoyer:
Pièce jointe 205265.
Merci d'avance pour toute intervention .