- Для кого
- Выбор способа обмена. Описание API.
- Реализация API на стороне 1С.
- Android. Cтруктура приложения.
- BroadcastReceiver. Получаем данные ШК на примере АТОЛ Smart.Lite.
- Реализуем обмен и хранение данных. Используем Retrofit 2, Room, Coroutines.
- Пользовательский интерфейс. LiveData, PagedList.
Рубрика «retrofit»
Приложение на ТСД и связь с 1С: Предприятие 8.3 через HTTP-Сервис
2019-10-28 в 15:58, admin, рубрики: 1c, android, api, kotlin, retrofit, Разработка под androidРабота с сетью в Android с использованием корутин и Retrofit
2018-11-08 в 7:43, admin, рубрики: coroutines, kotlin, retrofit, rxjava, Разработка под androidЧем больше я читал и смотрел доклады про корутины в Kotlin, тем больше я восхищался этим средством языка. Недавно в Kotlin 1.3 вышел их стабильный релиз, а значит, настало время начать погружение и опробовать корутины в действии на примере моего существующего RxJava-кода. В этом посте мы сфокусируемся на том, как взять существующие запросы к сети и преобразовать их, заменив RxJava на корутины.
5 простых шагов к созданию сервера для тестирования android REST-запросов
2018-08-22 в 18:04, admin, рубрики: android, loopback, node.js, rest, retrofit, Разработка под androidДобрый день.
Не так давно возникла необходимость реализации в android приложении общения с API сервера посредством REST-запросов. Реализовать программную часть на android не составило большого труда, в связи с наличием удобной и простой библиотеки Retrofit. Однако, написав пару GET/POST-запросов к существующим открытым API (например, Github и прочие стандартные примеры Retrofit) возникла необходимость начать тестировать логику работы приложения. В данном случае, конечно бы хотелось иметь свой сервер, содержащий свои модели данных и имеющий взаимосвязи между моделями, а также различные уровни доступа к конкретным моделям данных. В данной статье я хотел бы рассказать, как за несколько маленьких шагов создать локальный сервер, добавить необходимые модели, настроить взаимосвязи между ними и обеспечить удаленный доступ к данному серверу.
Читать полностью »
Retrofit на Android с Kotlin
2017-08-21 в 8:08, admin, рубрики: android, java, kotlin, retrofit, rxjava, разработка мобильных приложений, Разработка под android
Одним из самых захватывающих объявлений на Google I/O в этом году стала официальная поддержка Kotlin для разработки под Android.
Котлин на самом деле не новый язык, ему уже >5 лет и он довольно зрелый. Здесь вы можете получить более подробную информацию о языке
Я планирую поделиться некоторыми «практиками» использования Kotlin в разработке Android.
Batch loading с Retrofit и RxJava
2016-10-21 в 13:09, admin, рубрики: android, reactive programming, retrofit, rxjava, Разработка под androidДоброго времени суток! Работая над одним проектом, обнаружил, что через связку retrofit2 и retrofit2 adapter-rxjava нельзя реализовать batch loading в одном потоке.
Приведу пример. Имеем описание retrofit-сервиса:
interface Api {
@GET("query.json")
Observable<List<SomeEntityServerView>> getAll(
@Query("first") int first,
@Query("max") int batchSize);
}
Загрузка одного пакета:
service.getAll(0,20).map(list -> ...).observeOn(...).subscribe(...);
Для загрузки всех сущностей с сервера, нам придется каждый раз создавать новый observable для загрузки очередного пакета. Кроме того, как запихнуть все эти observable'ы в один поток, представляется крайне сложным.
Для решения это проблемы, предлагаю достаточно простой подход.
Читать полностью »
Используем RxJava и Retrofit на Android, учитывая поворот экрана
2016-07-12 в 8:04, admin, рубрики: android, github, java, retrofit, rxandroid, rxjava, разработка мобильных приложений, Разработка под androidРешил я однажды таки попробовать дико популярный нынче Rx. А заодно и Retrofit. И посмотреть, как с их помощью реализовать стандартную задачу: получить с сервера набор данных, отобразить их и при этом ничего не терять при поворотах экрана и не делать лишних запросов. Первый вариант у меня получился сразу почти — просто взял и вызвал cache() на Observable, получаемый из синглтона, но он меня не устраивал — для принудительного обновления приходилось, по какой-то причине, пересоздавать экземпляры классов Retrofit и его же реализации моего интерфейса для API. Пересоздание же самого Observable эффекта не давало — всегда возвращались старые данные вместо запуска нового сетевого запроса и получения новых данных.
После долгих мучений с новой для себя технологией выяснил, что во всём был виновен cache() (точнее, наверное, моё неправильное оного понимание). В итоге сделал так: фрагмент запускает метод, подписывающий Subscriber синглтона на Observable retrofit-a, коий запускает onNext и onError BehaviorSubject-a, на который подписывается уже Subscriber фрагмента. Код на GitHub тут, подробности — под катом.
Кюветы Android, Часть 2: SDK и Libraries
2016-04-08 в 18:02, admin, рубрики: android, Android sdk, fragments lifecycle, gson, java, retrofit, разработка мобильных приложений, Разработка под androidРазрабатывая под Android, всегда нужно быть начеку. Шаг влево / шаг вправо — и вот прошел ещё один час за дебагом. Кюветы могут быть какие угодно: начиная от обычных багов в SDK и заканчивая неочевидными именами методов с контекстно зависимым результатом (да-да, Fragment.getFragmentManager(), это я о тебе).
В предыдущей статье были описаны кюветы «на поверхности» SDK, в которые угодить очень легко. На этот же раз кюветы будут поглубже, помудрёнее и поспецифичнее. Также будет несколько моментов, связанных с Retrofit 2 & Gson.
Читать полностью »