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

Résolu
Blackjuker Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -  
BunoCS Messages postés 15952 Date d'inscription   Statut Modérateur Dernière intervention   -
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   Statut Membre Dernière intervention  
 
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