我不知道我是否以正确的方式使用 POST 以 JSON 格式发送数据。我想在 JSONObject“ReportCode”上发送一个数据。到目前为止我得到了这个?请告诉我我的代码有什么问题以及我需要做什么才能以 JSON 格式传递数据。谢谢。
public class DoPost extends AsyncTask<String, Void, Boolean>
{
Exception exception = null;
private ProgressDialog progressDialog;
Context mContext = null;
BufferedReader in;
InputStream is;
public DoPost(Context context) {
mContext = context;
}
protected void onPreExecute()
{
progressDialog = new ProgressDialog(mContext);
progressDialog.setMessage("Validating....");
progressDialog.show();
progressDialog.setCancelable(false);
}
@Override
protected Boolean doInBackground(String... arg0)
{
JSONObject jObject = new JSONObject();
try{
jObject.put("ReportCode","13-T001");
List<NameValuePair> pairs = new ArrayList<NameValuePair>();
pairs.add(new BasicNameValuePair("ReportData", jObject.toString()));
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost("http://phsjulchs4.tias.com.ph:1217/api/report");
httpPost.setEntity(new UrlEncodedFormEntity(pairs, "UTF-8"));
HttpResponse httpResponse = httpClient.execute(httpPost);
HttpEntity httpEntity = httpResponse.getEntity();
is = httpEntity.getContent();
}catch (Exception e){
Log.e("ClientServerDemo", "Error:", e);
exception = e;
//Toast.makeText(getApplicationContext(), e.getMessage().toString(), 5).show();
}
return true;
}
@Override
protected void onPostExecute(Boolean valid)
{
progressDialog.dismiss();
//Update the UI
if(exception != null){
Toast.makeText(mContext, "Sent", 6).show();
}else{
// mContext.startActivity(new Intent(mContext, S_2nd_Main.class));
}
}
}