我是android的新手。当前我正在做android中的web服务连接部分。我正在使用httpdelete方法。但是我无法将值发送到server.Here我附上我的代码。请给我一个解决方案。下面给出了传递JSON对象。
JSONObject obj = {"encrypted_device_id":"c02c705e98588f724ca046ac59cafece65501e36","card_name":"disc"}
CODE
public String getWebDataDelete(String page,JSONObject obj)
{
String result=null;
HttpParams myParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(myParams, 10000);
HttpConnectionParams.setSoTimeout(myParams, 10000);
HttpClient httpclient = new DefaultHttpClient(myParams);
try
{
HttpDelete httppost = new HttpDelete(Connector.URL+page);
httppost.setHeader("Content-type", "application/json");
httppost.setHeader("api_key", "123456");
StringEntity se = new StringEntity(obj.toString());
se.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
httppost.setEntity(se);
HttpResponse response = httpclient.execute(httppost);
result = EntityUtils.toString(response.getEntity());
}
catch (ClientProtocolException e)
{
}
catch (IOException e)
{
}
return result;
}
答案 0 :(得分:0)
Try this one, working for me
DefaultHttpClient httpclient = new DefaultHttpClient();
HttpPost request = new HttpPost(Url);
StringEntity se = new StringEntity(JSONobject.toString(), "UTF-8");
se.setContentType("application/json;charset=UTF-8");
se.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE,
"application/json;charset=UTF-8"));
request.setEntity(se);
HttpResponse httpresponse = httpclient.execute(request);
HttpEntity resultentity = httpresponse.getEntity();
InputStream inputstream = resultentity.getContent();
result = convertStreamToString(inputstream);
private static String convertStreamToString(InputStream inputstream) {
// TODO Auto-generated method stub
String line = "";
StringBuilder total = new StringBuilder();
BufferedReader rd = new BufferedReader(new InputStreamReader(
inputstream));
try {
while ((line = rd.readLine()) != null) {
total.append(line);
}
} catch (Exception e) {
}
return total.toString();
}