Я хочу реализовать класс, который будет обрабатывать все HTTP-запросы моего приложения, которые будут в основном:Android HTTP Request AsyncTask
- Получить список бизнес (GET);
- Выполнение логина (POST);
- Обновить местоположение (POST).
Итак, мне нужно будет получить строку результата с сервера (JSON) и передать ее другим методам обработки ответов.
я в настоящее время это методы:
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());
}
Но g.get()
возвращает пустой ответ. Как я могу это исправить?
добавить заявление журнала в вашем doInBackground, который регистрирует струнный returno после того, как прибудете было чтобы убедиться, что сообщение возвращается. –