从android eclipse消费webservice

时间:2012-03-16 07:24:26

标签: android eclipse web-services

我是[android-eclipse]的初学者,这里我需要通过android eclipse从网址“http://122.248.240.105:93”中使用网络服务所以 请列出使用Web服务的步骤,如果可能,请将该演示文稿作为任何一个Web服务从该URL或其他示例发送给我。

非常感谢

1 个答案:

答案 0 :(得分:6)

您可以非常轻松地享受宁静的服务。 而对于数据交换,更喜欢使用json而不是XML。 我正在使用JSON从android客户端附加一个restful service call的样本。

  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的restful服务的模板。 为了提供宁静的服务。

我更喜欢和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

Drawables pics:http://androiddrawableexplorer.appspot.com/

如果对您有帮助,请接受答案。感谢