J'essaye d'envoyer un JSON avec l'adresse email d'information, le prénom et le nom et attend une réponse du serveur pour dire {status: "Créé"} ou {statut: "Renvoyer"} et en fonction de la réponse, il y aurait un message contextuel. Je me demandais ce que j'utilise pour extraire l'information de la classe de statut. Merci! Voici mon code pour accepterrecevoir la réponse JSON (android)
protected void sendJson(final String email, final String firstN,
final String lastN) {
Thread t = new Thread() {
public void run() {
Looper.prepare(); // For Preparing Message Pool for the child
// Thread
HttpClient client = new DefaultHttpClient();
HttpConnectionParams.setConnectionTimeout(client.getParams(),
10000); // Timeout Limit
HttpResponse response;
JSONObject json = new JSONObject();
try {
// post in the url
HttpPost post = new HttpPost(
"https://iphone-radar.com/accounts");
json.put("email_address", email);
json.put("first_name", firstN);
json.put("last_name", lastN);
StringEntity se = new StringEntity("JSON: "
+ json.toString());
se.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE,
"application/json"));
post.setEntity(se);
response = client.execute(post);
/* Checking response */
if (response != null) {
String str = response.getEntity().toString();
if (str.equals("Created")) {
new AlertDialog.Builder(CreateAccount.this)
.setTitle("Account Creation Successful")
.setMessage(
"An activation code has been sent to you. Please check your SPAM folder if you do not receive your activation code email")
.setNeutralButton("OK", null).show();
} else if(str.equals("Resend")) {
new AlertDialog.Builder(CreateAccount.this)
.setTitle("Code Resent")
.setMessage(
"Your activation code has been resent to your email.\n\nIf you are not receiving your activation code, our email is being blocked. Please email us at '[email protected]' and we will manually send you a code.")
.setNeutralButton("OK", null).show();
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
Merci pour le conseil, mais quand je l'ai mis dans le débogueur de la ligne org.json.JSONObject obj = new org.json.JSONObject (org.apache.http.util.EntityUtils.toString (response.getEntity())); m'envoie pour attraper (Exception e) Y at-il un problème avec moi ou avec le serveur? Merci encore – Sean
Quelle exception cela donne-t-il? utilisez 'android.util.Log.v (" EXCEPTION "," ["+ e.getMessage() +"] ", e);' pour imprimer l'exception entière dans le journal. Soit l'entité de la réponse est nulle (ce qui est probablement le serveur), soit il y a une erreur de conversion dans la méthode 'EntityUtils.toString'. – Femi
Il indique [La valeur de type java.lang.String ne peut pas être convertie en JSONObject] cela signifie-t-il que j'utilise un mauvais site Web? Merci encore – Sean