Я открытия URL в фоновом режиме, так как при переходе к link он «любит» статью 3020Android - HttpClient работает только один раз
Я делаю это с HttpClient:
public static class LoadURL extends AsyncTask<Void, Integer, Void>{
@Override
protected Void doInBackground(Void... params) {
try {
second_client = new DefaultHttpClient();
String getURL = "http://website.com/" + id_string + "/like/";
HttpGet get = new HttpGet(getURL);
HttpResponse responseGet = second_client.execute(get, cookieStuff);
Log.i("Response", String.valueOf(response.getStatusLine().getStatusCode()));
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Void result) {
super.onPostExecute(result);
Toast.makeText(AFragment.context, "Article liked", Toast.LENGTH_LONG).show();
}
}
Проблема в том, что существует множество статей (3020-3021-3022 и т. Д.), Поэтому пользователь будет нажимать несколько раз кнопку «как». Это означает, что задача LoadURL выполняется несколько раз, но она работает только в первый раз. Все это после этого занимает 5 минут.
Кто-нибудь знает, как это решить? Или есть лучший способ, чем использовать HttpClient?
asynctask работать в одном потоке. Они не будут проходить параллельно. Вы можете использовать исполнитель для этой цели. Http: //developer.android.com/reference/java/util/concurrent/ExecutorService.html. http://developer.android.com/reference/java/util/concurrent/Executor.html – Raghunandan
Так что в onPostExecute мне нужно убить AsyncTask? Вы можете объяснить немного больше? – GromDroid
Как вы выполняете AsyncTask, создавая объект AsyncTask каждый раз для нажатия кнопки? –