2010-10-27 3 views
0

Я пытаюсь реализовать asynchronus HTTP-клиент для Android и я имеющий неприятности с типом несоответствием:Android asynchronus проблема HTTP клиент

The method execute(HttpUriRequest) in the type HttpClient is not applicable for the arguments (HttpRequest)  

Я делаю все, на основе этого урока: http://blog.androgames.net/12/retrieving-data-asynchronously/

Have нашел тип в AsynchronousSender - частный запрос HttpRequest; но у меня есть проблема с выше, которая возникает в:

public void run() { 
    try { 
     final HttpResponse response; 
     synchronized (httpClient) { 
      response = getClient().execute(request); //<-- here is that problem 
     } 
     // process response 
     wrapper.setResponse(response); 
     handler.post(wrapper); 
    } catch (ClientProtocolException e) { 
     e.printStackTrace(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
} 

Вы можете что-нибудь предложить?

веселит, /Marcin

ответ

2

фрагментов кода на http://blog.androgames.net/12/retrieving-data-asynchronously/ неверны. Чтобы исправить это, просто замените HttpRequest на HttpUriRequest, так как подпись метода: HttpClient#execute(HttpUriRequest). Это не должно быть проблемой, поскольку большинство запросов, с которыми вы работаете, являются экземплярами HttpUriRequest.

+0

Не работает таким образом, как защищенный AsynchronousSender (HttpRequest запрос ... метод ожидает запрос быть HttpRequest типа – Marcin

+0

@Marcin: Да, но AsynchronousSender Фрагмент кода _incorrect_ - вы должны обновить и заменить HttpRequest с HttpUriRequest. – fornwall

Смежные вопросы