我有Java Web应用程序服务器[就像服务器一样]。
在Android应用程序中,使用httppost我已经调用了restwebserive服务器。
我的呼叫是使用响应代码200来访问web服务。
现在我想将java类对象作为参数传递。
示例java类:
public Class Sample{
public String Username;
public String getUsername()
{
return Username;
}
public void setUsername(String user){
this.Username = user;
}}
使用过的代码:[不将我的类对象传递给服务器]
Sample sam = new Sample();
sam.setUsername("Test");
JSONObject json = new JSONObject();
json.put("Sample", sam);
StringEntity se = new StringEntity(json.toString());
Httppostrequest.setEntity(se);
当我调试服务器时,示例对象参数输入为空。[未正确通过]
如何在android中通过http post传递类对象?
请帮帮我。
提前致谢,
Kums
答案 0 :(得分:0)
如果你使用apache库,你可以一行
JSONSerializer.toJSON(SAM);
否则我认为你必须将其作为
发送 Sample sam = new Sample();
sam.setUsername("Test");
JSONObject json = new JSONObject();
json.put("sample", sam.getUserName());
StringEntity se = new StringEntity(json.toString());
Httppostrequest.setEntity(se);
答案 1 :(得分:0)
以下是代码段
public void callWebService(String q){
HttpClient httpclient = new DefaultHttpClient();
HttpGet request = new HttpGet(URL + q);
request.addHeader("deviceId", deviceId);
ResponseHandler<string> handler = new BasicResponseHandler();
try {
result = httpclient.execute(request, handler);
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
httpclient.getConnectionManager().shutdown();
Log.i(tag, result);
} // end callWebService()
}
使用此方法呼叫您的网络服务
答案 2 :(得分:0)
我已经构建了一个用于执行异步请求的库,您可以将参数请求发送到www.somedomain.com/action?param1="somevalue“等等。还可以选择使用字符串体。
https://github.com/darko1002001/android-rest-client
检查一下,它可能会有帮助。