2010-10-27 5 views
0

Je suis en train de mettre en œuvre asynchronus http client pour Android et je haveing ​​un problème avec incompatibilité de type:Android asynchronus problème client HTTP

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

que je fais tous basés sur ce tutoriel: http://blog.androgames.net/12/retrieving-data-asynchronously/

Avez trouvé un type dans AsynchronousSender - requête privée HttpRequest; mais j'ai encore un problème avec ci-dessus qui se produit dans:

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

Pouvez-vous proposer quelque chose?

acclamations, /Marcin

Répondre

2

Les extraits de code sur http://blog.androgames.net/12/retrieving-data-asynchronously/ sont fausses. Pour le réparer, il suffit de remplacer HttpRequest par HttpUriRequest puisque la signature de la méthode est: HttpClient#execute(HttpUriRequest). Cela ne devrait poser aucun problème puisque la plupart des requêtes avec lesquelles vous travaillez sont des instances HttpUriRequest.

+0

ne fonctionne pas de cette façon que AsynchronousSender protégée (HttpRequest demande ... méthode demande attend à être de type HttpRequest – Marcin

+0

@Marcin: Oui, mais est extrait AsynchronousSender _incorrect_ - vous devriez le mettre à jour et remplacer HttpRequest avec HttpUriRequest. – fornwall