Когда я реализую это, он говорит «NetworkOnMainThreadException».http get in android async task
Может ли кто-нибудь опубликовать пример, который работает?
Я пробовал много разных примеров и библиотек, но он не работал. мой код:
private class HttpGetter extends AsyncTask<URL, Void, Void> {
@Override
protected Void doInBackground(URL... urls) {
// TODO Auto-generated method stub
StringBuilder builder = new StringBuilder();
HttpClient client = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(String.valueOf(urls[0]));
try {
HttpResponse response = client.execute(httpGet);
StatusLine statusLine = response.getStatusLine();
int statusCode = statusLine.getStatusCode();
if (statusCode == 200) {
HttpEntity entity = response.getEntity();
InputStream content = entity.getContent();
BufferedReader reader = new BufferedReader(
new InputStreamReader(content));
String line;
while ((line = reader.readLine()) != null) {
builder.append(line);
}
Log.v("Getter", "Your data: " + builder.toString()); //response data
} else {
Log.e("Getter", "Failed to download file");
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
Вы уверены, что это ваш единственный код, в котором выполняются задачи HTTP? вы могли бы показать логарифм? –
Покажите, как вы это называете, и объясните *, как это не работает. Вы все еще получаете 'NetworkOnMainThreadException' или что-то еще? Кроме того, это весь код задачи? Вы переопределяете какие-либо другие методы «AsyncTask»? – codeMagic
Вы должны выполнять сетевое взаимодействие, где вы не должны находиться в другом месте – joao2fast4u