consuming webservice from android eclipse [closed]

2020-06-30 04:02发布

问题:

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 8 years ago.

I am pure beginner to [android-eclipse],here i need to consume web services from the url "http://122.248.240.105:93" through android eclipse so please list the steps to consume the web services, if possible send me demo as any one web service from that url or some other examples.

Thanks a lot

回答1:

you can consume restful services very easily. and for data exchange prefer json rather than XML. i am attaching one sample of restful service call from android client with JSON.

  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; 
    }
    }

    }

I have used restful WCF and used Json in my code. you can use this as template for restful services with json. for restful services.

i would prefer restful with json but if you want to read about ksoap tutorials i suggest you to read: http://www.devx.com/wireless/Article/39810/1954 How to call a WCF service using ksoap2 on android?

webservices: 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/

Please accept the answer if it is helpful for you. thanks