Android Requête HTTP AsyncTask

Je veux implémenter une classe qui va gérer toutes les Requêtes HTTP de mon application, qui sera essentiellement:

  • Obtenir une liste d'une entreprise (OBTENIR);
  • Exécuter un login (POST);
  • Mise à jour de l'emplacement du (POST).

Donc, je vais avoir à obtenir de la chaîne de résultat à partir du serveur (JSON) et de le passer à une autre des méthodes pour gérer les réponses.

J'ai actuellement cette méthodes:

public class Get extends AsyncTask<Void, Void, String> {
@Override
protected String doInBackground(Void... arg) {
String linha = "";
String retorno = "";
mDialog = ProgressDialog.show(mContext, "Aguarde", "Carregando...", true);
//Cria o cliente de conexão
HttpClient client = new DefaultHttpClient();
HttpGet get = new HttpGet(mUrl);
try {
//Faz a solicitação HTTP
HttpResponse response = client.execute(get);
//Pega o status da solicitação
StatusLine statusLine = response.getStatusLine();
int statusCode = statusLine.getStatusCode();
if (statusCode == 200) { //Ok
//Pega o retorno
BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
//Lê o buffer e coloca na variável
while ((linha = rd.readLine()) != null) {
retorno += linha;
}
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return retorno;
}
@Override
protected void onPostExecute(String result) {
mDialog.dismiss();
}
}
public JSONObject getJSON(String url) throws InterruptedException, ExecutionException {
//Determina a URL
setUrl(url);
//Executa o GET
Get g = new Get();
//Retorna o jSON
return createJSONObj(g.get());
}

Mais la g.get() renvoie une réponse vide. Comment puis-je régler ce problème?

ajouter une instruction de journal à votre doInBackground que les journaux de la Chaîne de retorno après le get a été fini de faire en sorte qu'un message est retourné.

OriginalL'auteur Danniel Magno | 2012-01-12