Probleme de récupération de mon JSON dans mon java

Résolu/Fermé
Blackjuker Messages postés 10 Date d'inscription vendredi 12 octobre 2012 Statut Membre Dernière intervention 17 mai 2016 - Modifié par Blackjuker le 10/05/2016 à 12:57
BunoCS Messages postés 15475 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 23 avril 2024 - 17 mai 2016 à 10:37
Bonjour,

En effet jais crée un page php pour récupérer toutes les villes de ma base de donnée. ce qui fonctionne tres bien. Maintenant je met mon tableau qui contient les villes dans mon json.

Et jai des difficulté pour récupérer ce tableau dans mon code java. Quand je met les Toast pour savoir si jentre dans tous mes try si dessous. je me rend compte que je mon code renvoie une Exception au niveau du try qui contient les requetes http. Je ne sais vraiment pas quoi faire. voici le code php et mon code java. merci déjà.

<?php
$db_user="root";
$db_pass="";
$db_host="localhost";
$db_name="house_finder";
$mysqli = new mysqli($db_host,$db_user,$db_pass,$db_name);
if(mysqli_connect_errno()){
print("Connect failed: %s\n". mysqli_connect_error());
exit();
}
$mysqli->query("SET NAMES 'utf8'");
$sql="SELECT * FROM villes";
$result= $mysqli->query($sql);
while($e=mysqli_fetch_assoc($result)){
$output[]=$e;
}

print(json_encode($output));
$mysqli->close();



?>

sa c le code php et le nom du fichier est recupVille.php. il permet de renvoyer toutes les villes de ma base de données

Le code java est endesous
A voir également:

9 réponses

Blackjuker Messages postés 10 Date d'inscription vendredi 12 octobre 2012 Statut Membre Dernière intervention 17 mai 2016
10 mai 2016 à 12:55
desoler pour le code java precedent
package com.example.tantine1.housefindpro;

import android.app.Activity;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.Toast;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;

/**
 * Created by Tantine1 on 4/28/2016.
 */
public class ajoutBail extends AppCompatActivity {

    //     définition de la variable de l'id du bayeur
    private String idBayeur;
    private Spinner spin_type, spin_ville;
    //private static final String URLV = "http://192.168.10.113:80/client/recupVille.php";

    private String data;

    //declation test
    InputStream is = null;
    String result = null;
    String line = null;
    HttpResponse response;

    String[] ville;
   Spinner spinner_ville;

    private void spinner_fn(){
        ArrayAdapter<String> dataAdapter1 = new ArrayAdapter<String>(ajoutBail.this,R.layout.support_simple_spinner_dropdown_item,ville);
        spinner_ville.setAdapter(dataAdapter1);
        spin_ville.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                spin_ville.setSelection(position);
            }

            @Override
            public void onNothingSelected(AdapterView<?> parent) {

            }
        });
    }

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.ajoutbail);

        spinner_ville = (Spinner)findViewById(R.id.spin_ville);
        final List<String> list1 = new ArrayList<String>();
        Toast.makeText(getApplicationContext(),"avant le try dans ajout ",Toast.LENGTH_LONG).show();
        try{
            Toast.makeText(getApplicationContext()," test de is "+is.toString(),Toast.LENGTH_LONG).show();
            HttpClient httpClient = new DefaultHttpClient();
            HttpPost httpPost = new HttpPost("http://192.168.10.113:80/client/recupVille.php");
            response = httpClient.execute(httpPost);

            HttpEntity entity = response.getEntity();
            is = entity.getContent();
            Toast.makeText(getApplicationContext()," test de is "+is.toString(),Toast.LENGTH_LONG).show();


        }catch (Exception e){
            Toast.makeText(getApplicationContext(),"Invalid Ip Address "+e.toString(),Toast.LENGTH_LONG).show();
            Toast.makeText(getApplicationContext(),"dans le response "+response.toString(),Toast.LENGTH_LONG).show();

           // e.printStackTrace();

        }
       // Toast.makeText(getApplicationContext()," test de is "+is.toString(),Toast.LENGTH_LONG).show();

        try{
            BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
            StringBuilder sb = new StringBuilder();
            while ((line = reader.readLine()) != null) {

                sb.append(line+"\n");
            }
            is.close();
            result=sb.toString();
        }catch (Exception e){
            Toast.makeText(getApplicationContext(),"Invalide file",Toast.LENGTH_LONG).show();
        }
        try{
            JSONArray JA = new JSONArray(result);
            JSONObject json=null;
            ville = new String[JA.length()];
            for(int i=0;i<JA.length();i++){
                json = JA.getJSONObject(i);
                ville[i]=json.getString("ville");
            }
            Toast.makeText(getApplicationContext(),"sss",Toast.LENGTH_LONG).show();
            for(int i=0;i<ville.length;i++){
                list1.add(ville[i]);
            }
            Toast.makeText(getApplicationContext(),"len",Toast.LENGTH_LONG).show();
            spinner_fn();
        }catch (Exception e){
            Log.e("Fail 3 ",e.toString());
        }
    }


}
0