So che ci sono diverse domande pubblicate qui con lo stesso argomento ed errore, ma nessuno di loro indica lo stesso problema del mio, quindi ho deciso di postare la mia domanda qui, sperando che qualcuno potesse aiutami a sottolineare la causa. Così sto cercando di implementare la funzione di login nella mia app ed ecco il codice:Android - JSONException Nessun valore per
if (tag.equalsIgnoreCase(login_tag)){
// check for login response
try {
if (json.getString(KEY_SUCCESS) != null) {
String res = json.getString(KEY_SUCCESS);
if(Integer.parseInt(res) == 1){
// user successfully logged in
// Store user details in SQLite Database
DatabaseHandler db = new DatabaseHandler(mContext);
JSONObject json_user = json.getJSONObject("user");
// Clear all previous data in database
logoutUser(mContext);
Toast.makeText(mContext, json.toString(3), Toast.LENGTH_LONG).show();
db.addUser(json_user.getString(KEY_EMAIL), json_user.getString(KEY_NAME), json.getString(KEY_UID), json.getString(KEY_AVA), json_user.getString(KEY_BDAY), json_user.getString(KEY_COUNTRY), json_user.getString(KEY_PREF), json_user.getString(KEY_SPEND));
// Launch Dashboard Screen
Intent dashboard = new Intent(mContext, DashboardActivity.class);
// Close all views before launching Dashboard
dashboard.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
mContext.startActivity(dashboard);
// Close Login Screen
((Activity) mContext).finish();
}
}
} catch (JSONException e) {
e.printStackTrace();
}
}
E questa è la risposta JSON ho ricevuto al momento della registrazione:
{
"tag": "login",
"success": 1,
"error": 0,
"uid": "5123",
"user": {
"email": "[email protected]",
"name": "abc",
"avatar": "avatars/img_hzsxda_2013-03-18-11-03-33.jpg",
"bday": "1991-02-01",
"country": "Australia",
"preferences": "none",
"spending": "none"
}
}
Quindi a quanto pare c'è un rapporto qualità-avatar
, ma ho ancora ricevuto questo avvertimento nel mio logcat:
03-18 12:06:36.972: W/System.err(24574): org.json.JSONException: No value for avatar
Dal momento che nessun valore avatar è ottenuto, non posso completare addUser
, quindi logi n fallisce. Per favore aiutatemi a trovare l'errore e come risolverlo. Grazie.
come sembra il tuo KEY_AVA? – Sajmon
Ecco come l'ho dichiarato: 'stringa statica privata KEY_AVA =" avatar ";' –
Posso consigliare di non utilizzare la tua vera e-mail in un esempio. Non sai mai chi altro sta guardando su questo sito (hacker/venditori ecc.) – Bigflow