Я не очень хорошо знаком с библиотекой OkHttp, и у меня есть некоторые сомнения в том, как ее использовать для асинхронных запросов.OkHttp-асинхронные вызовы: AsyncTask или OkHttp async api?
Для программирования Android, я использовал андроида библиотеку для HTTP и я использовал AsyncTask для некоторого запроса.
Но так как я хотел попробовать библиотеку OkHttp, я столкнулся с некоторой «проблемой» относительно того, как правильно ее использовать.
Пример:
Представьте, что вы хотите осуществить запрос асинхронного использования OkHttp. Я читал, что у OkHttp есть собственный async api (https://github.com/square/okhttp/blob/master/samples/guide/src/main/java/okhttp3/recipes/AsynchronousGet.java).
Но тогда я наткнулся на это сообщение (Square`s OkHttp. Download progress), в котором парень использовал «старую» асинхронную программу, но с запросом OkHttp (я также нашел на других форумах, что люди используют AsyncTask с OkHttp).
Это смутило быть немного потому что это может быть сделано просто с этим кусок кода, который может быть также приспособленной для POST:
OkHttpClient client = new OkHttpClient();
// GET request
Request request = new Request.Builder()
.url("http://google.com")
.build();
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Request request, IOException e) {
Log.e(LOG_TAG, e.toString());
}
@Override
public void onResponse(Response response) throws IOException {
Log.w(LOG_TAG, response.body().string());
Log.i(LOG_TAG, response.toString());
}
});
ВОПРОС:
- , что является правильным способ использовать async-запросы с помощью OkHttp?
- Полезно ли использовать AsyncTask с помощью OkHTTP?
- В каких случаях я должен использовать AsyncTask с помощью OkHttp вместо того, чтобы использовать OkHttp async api?