Правильный клиент REST для Android
Я сделал свою собственную клиентскую библиотеку REST для приложения для Android, но после просмотра презентации ввода/вывода Google по этому вопросу я понял, что у меня было все это неправильно (именно то, что они показывают слайд 9).
Теперь я ищу, чтобы сделать это снова правильно, но мне интересно, нет ли библиотеки, которая могла бы скрыть меня. Мы используем Джерси на стороне сервера.
Я рассмотрел различные решения: CRest и Resty, но я хотел бы найти решение для Android, поэтому мне не нужно самостоятельно реализовывать контент ContentProvider, а android-jbridge, но он не выглядит очень активным.
На этом этапе я рассматриваю возможность использования RestTemplate (от Spring Android) и собственноручно писать материал вокруг него, но это будет потребуется некоторое время.
Любая лучшая альтернатива?
Ответы
Ответ 1
"Разработка клиентских приложений REST для Android" Вирджила Добжански привела к большому дискуссиям, поскольку исходный код не был представлен во время сеанса или был предоставлен впоследствии.
Единственная эталонная реализация, которую я знаю (прокомментируйте, если вы знаете больше) доступна в Datadroid (сеанс Google IO упоминается в/презентации). Это библиотека, которую вы можете использовать в своем приложении.
Обновление
Существуют и другие библиотеки. Я не знаю, как они подтверждают шаблоны Добьянши, но я хотел бы перечислить их для справки (текст взят с домашней страницы библиотеки):
-
RoboSpice - это модульная андроидная библиотека, которая упрощает запись асинхронных длительных задач. Он специализируется на сетевых запросах, поддерживает кеширование и предлагает запросы REST из коробки с использованием модулей расширения.
-
RESTDroid (в настоящее время альфа) предоставляет способ обработки вызовов веб-сервисов REST. Он содержит только основную логику для обработки этих запросов, расширение возможно с помощью модулей (некоторые из них предоставляются).
Ответ 2
Другая отличная библиотека, похожая на RoboSpice, - Mechanoid Ops. Он следует шаблону, введенному/описанным Вирджилем в IO 2010. Механоид также предоставляет дополнительные функции, которые могут пригодиться, например, управление базами данных SQLite.
см. больше здесь
http://robotoworks.com/mechanoid/doc/index.html
Ответ 3
Из этого сообщается, что клиент Джерси поддерживает Android от версии 2.16.
Автор цитирует:
Из версии 2.16 от Джерси следует использовать Джерси-клиент на Android.
Однако я вижу, что есть ошибка которая до сих пор не решена (по состоянию на февраль 2015 г.).
Если ваш сервер использует реализацию RESTful в Джерси, лучшим вариантом является использование джерси-клиента. Если вы ищете клиент Android REST, вы должны попробовать версию дживера версии 2.16 (или вперед)