我想發送文本值到服務器,這是名稱,電話,位置,備註,但每次每個值都丟失 第一次名稱不會,下次撥打電話和下一個位置。 ..我的JSONObject發送空值到服務器
更新:
Jsoncode:
public static String POST(String url, Persoenter code heren person){
InputStream inputStream = null;
String result = "";
try {
HttpClient httpclient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
String json = "";
JSONObject jsonObject = new JSONObject();
jsonObject.accumulate("name",person.getName());
jsonObject.accumulate("phone", person.getPhone());
jsonObject.accumulate("remarrks",person.getRemarks());
jsonObject.accumulate("credated_dt", person.getCreatedat());
jsonObject.accumulate("emp_code", person.getCreatedby());
jsonObject.accumulate("location", person.getLocation());
jsonObject.accumulate("add_fld1", "Test");
jsonObject.accumulate("add_fld2", "Test");
jsonObject.accumulate("add_fld3", "Test");
json = jsonObject.toString();
StringEntity se = new StringEntity(json);
Log.e("sent",""+json);
httpPost.setEntity(se);
httpPost.setHeader("Accept", "application/json");
httpPost.setHeader("Content-type", "application/json");
HttpResponse httpResponse = httpclient.execute(httpPost);
inputStream = httpResponse.getEntity().getContent();
if(inputStream != null)
result = convertInputStreamToString(inputStream);
else
result = "Did not work!";
} catch (Exception e) {
Log.d("InputStream", e.getLocalizedMessage());
}
return result;
}
Httppost
private class sync extends AsyncTask<String, String, String> {
InputStream inputStream = null;
OutputStream outputStream = null;
protected String doInBackground(String... urls) {
person = new Person();
person.setName(eName.getText().toString());
person.setPhone(ePhonenumber.getText().toString());
person.setLocation(eLocation.getText().toString());
person.setRemarks(eRemarks.getText().toString());
person.setCreatedby(eCreatedby.getText().toString());
person.setCreatedat(eCreatedat.getText().toString());
return POST(urls[0],person);
}
@Override
protected void onPreExecute() {
progress.setTitle("Connecting to server");
progress.setMessage("Sending Data.... Please wait!");
progress.setCanceledOnTouchOutside(false);
progress.show();
}
@Override
protected void onPostExecute(String s) {
progress.dismiss();
Intent Homeintent = getIntent();
Homeintent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
finish();
startActivity(Homeintent);
}
輸出 1:{ 「名稱」: 「beta33」, 「電話」: 「33」, 「remarrks」: 「33」, 「credated_dt」:「2017年12月20日11 :56:32「,」emp_code「:」[email protected]「,」location「:」33「} 2:{」name「:」beta33「,」phone「:」33「,」remarrks「: 「33」,「credated_dt」:「2017-12-20 11:56:43」,「emp_code」:「[email protected]」,「location」:「33」} 3:{「name」:「 「,」電話「:」34「,」remarrks「:」34「,」credated_dt「:」2017-12-20 11:56:52「,」emp_code「:」[email protected]「,」位置「 :「34」}
在嘗試了一兩次嘗試之後,名字不會出現,我不知道爲什麼......請別人幫我解決這個問題
我建議你使用一個網絡庫,如排球或改造來處理這些類型的操作。這種程序已過時,並且隨着項目擴展而變得難以維護。 – KBJ
是的,我想使用凌空..但截至目前這是必需的 – Flash
在調試模式下檢查'JSONObject joj = getonline();'的值。你是否獲得預期的價值。 –