Вопрос по eclipse, android, web-services – Каковы наилучшие способы использовать веб-сервис от Android?

-3

Может кто-нибудь сказать мне, какой самый лучший, простой и гибкий способ использовать веб-сервис с Android? Я использую затмение.

Ваш Ответ

2   ответа
2

чтобы использовать веб-сервис, я предполагаю, что вы уже знаете, как отправлять данные с веб-сервера. Используете ли вы JSON или XML, или любой другой формат данных?

Я сам предпочитаю JSON, особенно для Android. Вашему вопросу все еще не хватает важной информации.

Лично я использую библиотеки веб-служб apache-mime4j и httpmime-4.0.1.

С этими библиотеками я использую следующий код

public void get(String url) {
    HttpResponse httpResponse = null;
    InputStream _inStream = null;
    HttpClient _client = null;
    try {

        _client = new DefaultHttpClient(_clientConnectionManager, _httpParams);
        HttpGet get = new HttpGet(url);

        httpResponse = _client.execute(get, _httpContext);
        this.setResponseCode(httpResponse.getStatusLine().getStatusCode());

        HttpEntity entity = httpResponse.getEntity();
        if(entity != null) {
            _inStream = entity.getContent();
            this.setStringResponse(IOUtility.convertStreamToString(_inStream));
            _inStream.close();
            Log.i(TAG, getStringResponse());
        }
    } catch(ClientProtocolException e) {
        e.printStackTrace();
    } catch(IOException e) {
        e.printStackTrace();
    } finally {
        try {
            _inStream.close();
        } catch (Exception ignore) {}
    }
}

Я делаю запрос через _client.execute ([метод], [дополнительные необязательные параметры]) Результат запроса помещается в объект HttpResponse.

Из этого объекта вы можете получить код состояния и объект, содержащий результат. У сущности я беру контент. В моем случае содержимое будет представлять собой строку JSON. Вы извлекаете это как InputStream, конвертируете поток в строку и делаете с ним все, что хотите.

Например

JSONArray result = new JSONArray(_webService.getStringResponse()); //getStringResponse is a custom getter/setter to retrieve the string converted from an inputstream in my WebService class.

В зависимости от того, как вы строите свой JSON. мой глубоко вложен в объекты в массиве и т. д. Но обработка этого является основным циклом.

JSONObject objectInResult = result.getJSONObject(count);//count would be decided by a while or for loop for example.

В этом случае вы можете извлечь данные из текущего объекта JSON, например:

objectInResult.getString("name"); //assume the json object has a key-value pair that has name as a key.
0

JSON & quot; Я рекомендую следующую библиотеку быстрее и лучше.

JSON-процессор Джексона Java

Похожие вопросы