2012-06-04 8 views

ответ

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 ([метод], [дополнительный необязательный Params]) Результата от запроса помещается в объекте 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. 
Смежные вопросы