Android php mysql json

Fermé
wissem81 Messages postés 6 Date d'inscription jeudi 24 avril 2014 Statut Membre Dernière intervention 5 mai 2014 - Modifié par wissem81 le 24/04/2014 à 16:32
wissem81 Messages postés 6 Date d'inscription jeudi 24 avril 2014 Statut Membre Dernière intervention 5 mai 2014 - 25 avril 2014 à 17:35
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
A voir également:

4 réponses

BunoCS Messages postés 15496 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 24 décembre 2024 3 912
25 avril 2014 à 09:34
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
wissem81 Messages postés 6 Date d'inscription jeudi 24 avril 2014 Statut Membre Dernière intervention 5 mai 2014
25 avril 2014 à 16:24
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
BunoCS Messages postés 15496 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 24 décembre 2024 3 912
25 avril 2014 à 17:02
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
wissem81 Messages postés 6 Date d'inscription jeudi 24 avril 2014 Statut Membre Dernière intervention 5 mai 2014
25 avril 2014 à 17:35
j'ai jamais travaillé avec loader mais je vais essayer
merci
0