如何执行排球请求并等待响应?
我正在尝试将凌空响应值发送给onCreate方法。
我发现这个link可以帮助我将截击响应值返回给onCreate方法。
但是它返回了截击的先前响应,它与之前的运行有关。
例如,如果最后一行ID为215,则返回214.我该如何解决。
预先感谢。
我的uploadP.java类
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_upload);
btn_upload.setOnClicklistener(new View.OnClicklistener() {
@Override
public void onClick(View v) {
final String user_id = u5;
final String pha_code = id;
uploadImage(user_id,pha_code);
SharedPreferences m = PreferenceManager.getDefaultSharedPreferences(UploadP.this);
final String u55 =m.getString("Response","");
Intent intent=new Intent(UploadP.this,InsertAddress.class);
intent.putExtra("upload_id",upload_id);
startactivity(intent);
});
}
齐射
private void uploadImage(final String user_id,final String pha_code){
final ProgressDialog loading = ProgressDialog.show(this,"Uploading...","Please wait...",false,false);
StringRequest stringRequest = new StringRequest(Request.Method.POST,UPLOAD_URL,new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.e(TAG,"Response: " + response.toString());
try {
JSONObject jObj = new JSONObject(response);
success = jObj.getInt(TAG_SUCCESS);
upload_id=jObj.getInt(TAG_UPLOAD_ID);
if (success == 1) {
Log.e("v Add",jObj.toString());
sharedResponse(String.valueOf(upload_id));
Toast.makeText(com.haman.PUpload.UploadP.this,jObj.getString(TAG_MESSAGE),Toast.LENGTH_LONG).show();
} else {
Toast.makeText(com.haman.PUpload.UploadP.this,Toast.LENGTH_LONG).show();
}
} catch (JSONException e) {
e.printStackTrace();
}
loading.dismiss();
}
},new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
loading.dismiss();
Toast.makeText(com.haman.PUpload.UploadP.this,error.getMessage().toString(),Toast.LENGTH_LONG).show();
Log.e(TAG,error.getMessage().toString());
}
}) {
@Override
protected Map<String,String> getParams() {
//membuat parameters
Map<String,String> params = new HashMap<String,String>();
//menambah parameter yang di kirim ke web servis
params.put(KEY_IMAGE,getStringImage(decoded));
params.put(KEY_EMAIL,user_id.trim());
params.put(KEY_PHA_CODE,pha_code.trim());
//kembali ke parameters
Log.e(TAG,"" + params);
return params;
}
};
// queue.add(stringRequest);
AppController.getInstance().addToRequestQueue(stringRequest,tag_json_obj);
}
upload_id是一个json对象,它是mysql数据库中最后插入的行的ID。
日志消息为:
响应:{“成功”:1,“ upload_id”:201,“消息”:“成功上传”}