J'essaie de comprendre comment POST JSON à partir d'Android en utilisant HTTPClient. J'essaie de comprendre cela depuis un certain temps, j'ai trouvé de nombreux exemples en ligne, mais je ne peux faire fonctionner aucun d'entre eux. Je pense que cela est dû à mon manque de connaissances JSON / réseau en général. Je sais qu'il existe de nombreux exemples, mais quelqu'un pourrait-il m'indiquer un tutoriel réel? Je recherche un processus étape par étape avec du code et une explication de la raison pour laquelle vous faites chaque étape ou de ce que fait cette étape. Cela n'a pas besoin d'être compliqué, simple suffira.
Encore une fois, je sais qu'il existe une tonne d'exemples, je cherche simplement un exemple avec une explication de ce qui se passe exactement et pourquoi cela se passe de cette façon.
Si quelqu'un connaît un bon livre Android à ce sujet, faites-le moi savoir.
Merci encore pour l'aide @terrance, voici le code que j'ai décrit ci-dessous
public void shNameVerParams() throws Exception{
String path = //removed
HashMap params = new HashMap();
params.put(new String("Name"), "Value");
params.put(new String("Name"), "Value");
try {
HttpClient.SendHttpPost(path, params);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
la source
Réponses:
Dans cette réponse, j'utilise un exemple posté par Justin Grammens .
À propos de JSON
JSON signifie JavaScript Object Notation. Dans JavaScript, les propriétés peuvent être référencées à la fois comme ceci
object1.name
et comme ceciobject['name'];
. L'exemple de l'article utilise ce bit de JSON.L'
objet de fan Parts A avec email comme clé et [email protected] comme valeur
Ainsi, l'équivalent d'objet serait
fan.email;
oufan['email'];
. Les deux auraient la même valeur de'[email protected]'
.À propos de la demande HttpClient
Ce qui suit est ce que notre auteur a utilisé pour faire une requête HttpClient . Je ne prétends pas du tout être un expert, donc si quelqu'un a une meilleure façon de formuler une partie de la terminologie, n'hésitez pas.
Carte
Si vous n'êtes pas familier avec la
Map
structure des données, veuillez consulter la référence Java Map . En bref, une carte est similaire à un dictionnaire ou à un hachage.N'hésitez pas à commenter toutes les questions qui se posent à propos de cet article ou si je n'ai pas précisé quelque chose ou si je n'ai pas abordé quelque chose qui vous trouble encore ... etc tout ce qui vous vient vraiment à l'esprit.
(Je décrocherai si Justin Grammens n'approuve pas. Mais sinon, merci à Justin d'être cool à ce sujet.)
Mettre à jour
J'ai juste eu l'occasion d'obtenir un commentaire sur la façon d'utiliser le code et j'ai réalisé qu'il y avait une erreur dans le type de retour. La signature de la méthode a été définie pour renvoyer une chaîne mais dans ce cas, elle ne retournait rien. J'ai changé la signature en HttpResponse et je vous renverrai à ce lien sur Obtenir le corps de réponse de HttpResponse la variable de chemin est l'url et j'ai mis à jour pour corriger une erreur dans le code.
la source
getJsonObjectFromMap()
: JSONObject a un constructeur qui prend unMap
: developer.android.com/reference/org/json/…Voici une solution alternative à la réponse de @ Terrance. Vous pouvez facilement externaliser la conversion. La bibliothèque Gson fait un travail remarquable en convertissant diverses structures de données en JSON et inversement .
Similaire peut être fait en utilisant Jackson au lieu de Gson. Je recommande également de jeter un œil à Retrofit qui cache une grande partie de ce code passe-partout pour vous. Pour les développeurs plus expérimentés, je recommande d'essayer RxAndroid .
la source
execute()
et elle échoue bien sûrJe recommande d'utiliser ceci à la
HttpURLConnection
placeHttpGet
. Tel qu'ilHttpGet
est déjà obsolète dans l'API Android niveau 22.la source
Trop de code pour cette tâche, consultez cette bibliothèque https://github.com/kodart/Httpzoid Is utilise GSON en interne et fournit une API qui fonctionne avec des objets. Tous les détails JSON sont masqués.
la source
Il existe deux façons d'établir une connexion HHTP et d'extraire des données à partir d'un service Web RESTFULL. Le plus récent est GSON. Mais avant de passer à GSON, vous devez avoir une idée de la manière la plus traditionnelle de créer un client HTTP et d'effectuer une communication de données avec un serveur distant. J'ai mentionné les deux méthodes pour envoyer des requêtes POST & GET en utilisant HTTPClient.
la source