我的注册AsyncTask运行良好,我的数据保存在PHP上运行良好,但我面临一个例外。
public class SignupJson extends AsyncTask<String,String,String> {
//SignupJSONParser sjson = new SignupJSONParser();
JSONObject json = new JSONObject();
//private static final String TAG_SUCCESS = "success";
HttpParams mhttpparams = new BasicHttpParams();
@Override
protected void onPreExecute() {
pDialog = new ProgressDialog(SignupActivity.this);
pDialog.setMessage("Creating Account..");
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show();
super.onPreExecute();
}
@Override
protected String doInBackground(String... args) {
String getName = _Name.getText().toString();
String getEmail = _Email.getText().toString();
String getPassword = _Password.getText().toString();
List<NameValuePair> pair = new ArrayList<NameValuePair>();
pair.add(new BasicNameValuePair("name",getName));
pair.add(new BasicNameValuePair("id",getEmail));
pair.add(new BasicNameValuePair("pass", getPassword));
// int success=0;
json = JSONParser.makeHttpRequest( URL,"POST", pair);
Log.d("Create Response", json.toString());
try {
String success = json.getString(TAG_SUCCESS);
//success = json.getInt(TAG_SUCCESS);
if (json.getString(TAG_SUCCESS)!=null) {
if (Integer.parseInt(success)==1)
{
Log.d("User Created!", json.toString());
Intent login = new Intent(getApplicationContext(), LoginActivity.class);
startActivity(login);
// closing this screen
finish();
//return json.getString(TAG_MESSAGE);
}
else {
Log.d("Registration Failure!", json.getString(TAG_MESSAGE));
return json.getString(TAG_MESSAGE);
}
}
} catch (JSONException e) {
e.printStackTrace();
// success=0;
}
return null;
// return ""+success;
}
@Override
protected void onPostExecute(String s) {
pDialog.dismiss();
if (json != null){
Toast.makeText(getApplicationContext(),"Registration Done",Toast.LENGTH_SHORT).show();
//Toast.makeText(MainActivity.this, json.toString(), Toast.LENGTH_LONG).show();
}
}
}
}
LogCat:
org.json.JSONObject.getString(JSONObject.java:514) W/System.err: org.json.JSONException: /com.example.ahmadkhan.routeapp W/System.err: at org.json.JSONObject.get(JSONObject.java:354) com.example.ahmadkhan.routeapp W/System.err: at org.json.JSONObject.get /com.example.ahmadkhan.routeapp W/System.err: at com.example.ahmadkhan.routeapp。SignupActivity$SignupJson.doInBackground(SignupActivity.java:169) com.example.ahmadkhan.routeapp W/System.err: at com.example.ahmadkhan.routeapp.SignupActivity$SignupJson.doInBackground(SignupActivity.java:129) com.example.ahmadkhan.routeapp W/System.err: at android.os.AsyncTask$2.call(AsyncTask.java:287) com.example.ahmadkhan.routeapp W/System.err: at java.util.concurrent.FutureTask.run(FutureTask.java:234)android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230) W/System.err: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:108com.example.ahmadkhan.routeapp W/System.err: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:57com.example.ahmadkhan.routeapp W/System.err: at java.lang.Thread.run(Thread.java:841)
在线误差
String success = json.getString(TAG_SUCCESS);
//success = json.getInt(TAG_SUCCESS);
if (json.getString(TAG_SUCCESS)!=null) {
}
谁能给我建议一个解决方案,如何摆脱这个错误,并告诉我如何处理服务器响应,以防止成功和失败的连接到PHP Wamp Server。
发布于 2015-05-05 00:57:38
当在对象中找不到输入键时,JSONObject.get*()
方法不返回null
,它们抛出一个JSONException
。
抛出: JSONException -如果键没有字符串值。
相反,请使用JSONObject.opt*()
方法:
String success = json.optString(TAG_SUCCESS);
if (success != null) {
// ...
}
发布于 2015-05-05 01:27:07
试试这个,我希望它能帮到你..!
JSONObject json = JSONParser.makeHttpRequest( URL,"POST",结对);
if(json!=null)
{
Log.d("Create Response", json.toString());
try {
String success = json.getString(TAG_SUCCESS);
//success = json.getInt(TAG_SUCCESS);
if (json.getString(TAG_SUCCESS)!=null) {
if (Integer.parseInt(success)==1)
{
Log.d("User Created!", json.toString());
Intent login = new Intent(getApplicationContext(), LoginActivity.class);
startActivity(login);
// closing this screen
finish();
//return json.getString(TAG_MESSAGE);
}
else {
Log.d("Registration Failure!", json.getString(TAG_MESSAGE));
return json.getString(TAG_MESSAGE);
}
}
} catch (JSONException e) {
e.printStackTrace();
// success=0;
}
}else{
Log.d("getting null response from server!");
}
https://stackoverflow.com/questions/30047808
复制