Android php mysql json

wissem81 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   -  
wissem81 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   -
bonjour

je suis débutante en android et j'ai besoin de votre aide

j'ai un projet de location de voiture,j'ai affiché dans une activity la liste des marques des voitures,en cliquant sur n'importe quel item je dois passer à la même activity mais cette 2ème activity doit m'afficher seulement les modèles de la marque que je viens de cliquer,mon application doit être lié a une base de données(les modèles de voiture doivent etre enregistré dans la bdd mysql), php et json

merci

4 réponses

  1. BunoCS Messages postés 436 Date d'inscription   Statut Modérateur Dernière intervention   3 930
     
    Hello,

    Il est où le souci?
    Afficher une activity? Passer des paramètres entre activities? Récupérer des données d'un webservice?
    0
  2. wissem81 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
     
    bonjour
    le soucis c'est que rien ne s'affiche sur l'émulateur
    la premiere activity est un carrousel des logo des voitures qui défilent
    j'ai enregistré les modèles des voitures dans la bdd(avec des identifiants(ex id=0,nom=208),(id=0,nom=207))
    et le premier item du carrousel et le logo de peugeot(position =0)
    j'ai pensé a ce que la première activity passe la position de l'item comme paramètre a la deuxième activity et le json de cette dernière va l'envoyer au fichier php
    voici mon code php:
    <?php
    // array for JSON response
    $response = array();

    require_once __DIR__ . '/db_connect.php';

    $db = new DB_CONNECT();

    if (isset($_GET["id"])) {
    //$id = $_GET['id'];

    $result = mysql_query("SELECT *FROM modele WHERE id like '".$_GET["id"]."%'");
    //$result = mysql_query("SELECT *FROM modele WHERE id =$id");
    while($row=mysql_fetch_assoc($result))
    $response[]=$row;

    ?>
    et mon code java de la première activity

    public void onItemClick(AdapterView<?> arg0, View view, int position, long arg3) {
    Log.d(getClass().getName(), "Click " + position);
    Intent intent = new Intent(getApplicationContext() , vehicules.class);
    intent.putExtra(EXTRA_MESSAGE, position);

    startActivityForResult(intent, 100);
    }
    et celui de la deuxième activity
    Intent intent = getIntent();
    String pid = intent.getStringExtra(EXTRA_MESSAGE);

    List<NameValuePair> params = new ArrayList<NameValuePair>();
    params.add(new BasicNameValuePair(TAG_ID, pid));

    après json va récupérer l'id et le nom des voitures et doit l'afficher sur l'émulateur
    JSONObject json = jParser.makeHttpRequest(url_all_vehicule, "GET", params);
    Log.d("Allvehicules: ", json.toString());
    try {

    int success = json.getInt(TAG_SUCCESS);

    if(success==1){
    // products found
    // Getting Array of Products
    vehicules = json.getJSONArray(TAG_MODELE);
    for (int i = 0; i < vehicules.length(); i++) {
    JSONObject c = vehicules.getJSONObject(i);
    String id1 = c.getString(TAG_ID);
    String name = c.getString(TAG_NOM);
    HashMap<String, String> map = new HashMap<String, String>();
    map.put(TAG_ID, id1);
    map.put(TAG_NOM, name);
    vehiculesList.add(map);
    }
    }
    } catch (JSONException e) {
    e.printStackTrace();
    }
    runOnUiThread(new Runnable() {
    public void run() {
    /**
    * Updating parsed JSON data into ListView
    * */
    ListAdapter adapter = new SimpleAdapter(
    vehicules.this, vehiculesList,
    R.layout.list_item, new String[] { TAG_ID,
    TAG_NOM },
    new int[] { R.id.pid,R.id.name });
    // updating listview
    setListAdapter(adapter);
    }
    et merci pour votre aide
    0
  3. BunoCS Messages postés 436 Date d'inscription   Statut Modérateur Dernière intervention   3 930
     
    En mode debug, ça donne quoi? Tu as un retour de ton webservice?

    Note: attention à bien gérer l'asynchronisme des requêtes. La best practice étant la suivante:

    - dans onCreate(), tu récupères les params, tu lances la requête en spécifiant un listener (ou une callback) et tu affiches un loader
    - dans ta callback, tu récupères les datas du serveur, tu mets à jour tes données et tu vires ton loader
    0
  4. wissem81 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
     
    j'ai jamais travaillé avec loader mais je vais essayer
    merci
    0