Осваиваю java и android. Пишу программу, работающую с внешним сервисом через API.
Нашел библиотеку для асинхронных запросов
loopj.com/android-async-http
С простыми мелкими одиночными запросами проблем нет, но если пытаться реализовать полноценный API-клиент, то появляются неэффективные места, куча вложенных колбеков, разбор полученного json в основном потоке приложения и т.д.
Хотелось бы что-то такое по нажатию кнопки:
void onClick(View v) {
apiClient.getObjects(String param1, new RequestListener() {
onSuccess(Object result) {
//тут в result имеем готовый разобранный ответ от сервиса в виде java объекта
//причем разбор его был отдельном потоке, так как получаемый от сервиса json может быть большим
}
onFailure(Throwable e) {
//тут ошибка
}
});
}
В общем, подскажите хороший пример реализации api-клиента, а я уже по аналогии сделаю.