Je développe une application android basée sur les services web. Comment puis-je exécuter une requête (serveur utilisant PHP et MySQL) en fonction de l'élément cliqué et obtenir le résultat sur le web. Je veux aussi montrer certaines valeurs sous forme de liste (mise en page). Y a-t-il de toute façon à accomplir cela?Comment obtenir des valeurs pour une application android
Répondre
Ce que vous voulez faire est de développer une API de repos qui fournit des données pour votre application Android. Par exemple. Votre site Web contient du contenu que vous souhaitez utiliser dans votre application. Vous pouvez alors écrire un script php qui renvoie simplement ces données dans un format spécifique.
E.g. mysite.net/rest/fetchAllLocations.php?maybe_some_parameters
Cela retournera des emplacements dans, par ex. format json, voici un exemple à quoi cela ressemble:
[{"id": 1, "shop_lng": 8.5317153930664, "shop_lat": 52.024803161621, "shop_zipcode": 33602, "shop_city": "Bielefeld", "shop_street": "Arndtstra \ u00dfe", "shop_snumber": 3, "shop_name": "M \ u00fcller", "shop_desc": "Kaufhaus"}]
Voici un exemple pour une demande de repos api:
http://shoqproject.supervisionbielefeld.de/public/gateway/gateway/get-shops-by-city/city/Bielefeld
Alors, quand vous avez votre repos api mis en place, vous pouvez traiter de recevoir ces données avec votre téléphone Android. J'utilise une méthode statique pour obtenir ces données:
public class JsonGrabber{
public static JSONArray receiveData(){
String url = "your url";
String result = "";
DefaultHttpClient client = new DefaultHttpClient();
HttpGet method = new HttpGet(url);
HttpResponse res = null;
try {
res = client.execute(method);
} catch (ClientProtocolException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
try{
InputStream is = res.getEntity().getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"));
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
result = sb.toString();
}catch(Exception e){
Log.e("log_tag", "Error converting result "+e.toString());
}
JSONArray jArray = null;
try{
jArray = new JSONArray(result);
}catch(JSONException e){
Log.e("log_tag", "Error parsing data "+e.toString());
}
return jArray;
}
}
Eh bien c'est tout, une fois que vous avez vos données au format JSON il vous suffit de l'analyser:
JSONArray test = (JSONArray) JsonGrabber.receiveData (La requête Web doit s'exécuter dans un autre thread, car cela peut prendre beaucoup de temps.
try {
for(int i=0;i<test.length();i++){
JSONObject json_data = test.getJSONObject(i);
int id = json_data.getInt("id");
}
}
Vous devez donc faire face à AsyncTask. Voici quelques ressources:
Painless Threading Multithreading for performance Hello Android Tutorial
- 1. Comment obtenir une poignée pour une application
- 2. Android: comment obtenir le stockage utilisé par une application
- 3. Comment obtenir des données pour UITableViewController dans une application iPhone
- 4. comment obtenir des valeurs d'objet?
- 5. Comment bomber une application Android?
- 6. Comment appeler une application android d'une autre application Android
- 7. utilisation regex pour obtenir des valeurs java
- 8. Android obtenant des valeurs XML
- 9. Android: Comment puis-je obtenir l'adresse IP d'une application Android?
- 10. Obtenir les valeurs d'un tableau dans Android
- 11. Comment obtenir des valeurs distinctes des colonnes?
- 12. Android: Comment afficher une carte google dans une application Android?
- 13. sur Android Market pour télécharger une application
- 14. Comment obtenir une CodeSignature pour une application Mac OS X
- 15. requête d'accès: comment interroger pour obtenir des valeurs calculées?
- 16. Comment puis-je obtenir une liste des ressources de mon application Android?
- 17. Comment obtenir ELMAH pour inclure des valeurs de session?
- 18. Comment implémenter des profils dans une application Android?
- 19. Comment obtenir des instructions de débogage pour Android dans Eclipse
- 20. Pour obtenir une plage de valeurs
- 21. Comment obtenir une date de génération pour une application ASP.NET?
- 22. Appengine - comment obtenir une entité et afficher des valeurs
- 23. Comment puis-je obtenir des valeurs d'une table à une autre via des valeurs similaires?
- 24. comment intégrer une application web existante avec une application Android
- 25. Android - Comment faire fonctionner une autre application
- 26. Comment créer une application Android capable d'éditer des fichiers MP3?
- 27. Comment obtenir des valeurs clés avec foreach?
- 28. Comment obtenir une cellule DataGrid valeurs
- 29. Android comment obtenir une préférence spécifique?
- 30. comment obtenir des valeurs de tableau sur
Merci ArtWorkAD. Laisse-moi essayer ça. Savez-vous comment analyser XML en utilisant SAX dans Android. J'ai essayé un lien mais je n'ai pas trouvé de meilleure solution. Je veux obtenir quelques noms de catégorie à partir d'un fichier XML et le lister dans le téléphone android. –
bien que vous pourriez demander cela dans une autre question –