2012-03-16 46 views
-2

我是纯粹的初学者到[android-eclipse],在这里我需要通过android eclipse从url“http://122.248.240.105:93”使用web服务,所以 请列出步骤使用Web服务,如果可能的话,请将演示作为来自该URL或任何其他示例的任何一种Web服务。从android eclipse消费webservice

非常感谢

+0

你想要消耗哪种类型的服务? – 2012-03-16 07:33:59

+0

SOAP还是RESTful webservice? – 2012-03-16 08:49:50

回答

6

可以非常方便的消费RESTful服务。 和数据交换偏好json而不是XML。 我从JSON附加一个来自Android客户端的宁静服务调用示例。

public class LoginService { 

loginurl="http:/yourhostname.com/Service.svc/Service/ValidateMobileUser"; 
/** 
* This method is used to validate client name from wcf 
* 
* @param 1: username 
* @param 2: password * 
* @return true or false as string value 
*/ 
public String authenticate(String userName, String passWord 
     ) throws JSONException, IllegalStateException, 
     IOException,NullPointerException { 
    Log.d("input authenticate method", userName + passWord); 
    HttpPost request = new HttpPost(loginurl); 
    request.setHeader("Accept", "application/json"); 
    request.setHeader("Content-type", "application/json"); 
    JSONObject json = new JSONObject(); 
    json.put("UserName", userName); 
    json.put("Password", passWord);  
    json.toString(); 
    JSONStringer str = new JSONStringer().object().key("clientEntity") 
      .value(json).endObject(); 
    StringEntity entity = new StringEntity(str.toString()); 
    request.setEntity(entity); 
    DefaultHttpClient httpClient = new DefaultHttpClient(); 
    HttpResponse response = httpClient.execute(request); 
    Log.e("Status code ", "status code is " + response.getStatusLine()); 
    HttpEntity responseEntity = response.getEntity(); 
    char[] buffer = new char[(int) responseEntity.getContentLength()]; 
    InputStream stream = responseEntity.getContent(); 
    InputStreamReader reader = new InputStreamReader(stream); 
    reader.read(buffer); 
    stream.close(); 
    String response_str = new String(buffer); 
    int i = response.getStatusLine().getStatusCode(); 
    if (i == 200) { 
     Log.d("output authenticate method", response_str); 

     return response_str; 
    } else { 
     response_str = Integer.toString(i); 

     return response_str; 
    } 
    } 

    } 

我已经使用了restful WCF并在我的代码中使用了Json。 你可以使用它作为json平静服务的模板。 以享受宁静的服务。

我宁愿宁静的使用JSON,但如果你想了解KSOAP教程我建议你阅读: http://www.devx.com/wireless/Article/39810/1954 How to call a WCF service using ksoap2 on android?

web服务: http://sochinda.wordpress.com/2011/05/27/connecting-to-net-web-service-from-android/ http://android.vexedlogic.com/2011/04/17/android-lists-iv-accessing-and-consuming-a-soap-web-service-i/

的SAXParser:

http://www.anddev.org/parsing_xml_from_the_net_-_using_the_saxparser-t353.html

kshop: http://seesharpgears.blogspot.com/2010/11/returning-array-of-primitive-types-with.html

http://seesharpgears.blogspot.com/2010/11/basic-ksoap-android-tutorial.html

可绘制图片:http://androiddrawableexplorer.appspot.com/

请接受的答案,如果它是对你有帮助。谢谢