在Android中调用Rest webservice

时间:2011-06-27 11:23:38

标签: android

我有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

3 个答案:

答案 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

检查一下,它可能会有帮助。