Используемая технология:
В приведенном ниже вопросе «внешний интерфейс относится к Android», а «внутренний - к Node.js ".
Ограничения:
- У нас есть сельские пользователи на развивающемся рынке, поэтому inte rnet может быть медленным и / или нервным / нестабильным. Из-за дрожания нам нужно решение, в котором мы можем использовать любые (если не все) передаваемые данные.
- У нас достаточно большие данные (огромный список объектов), которые мы не можем просто передать через JSON (через простые REST API), так как до тех пор, пока не будут загружены все данные, мы ничего не получим (потому что мы используем Retrofit и его onResponse не вызывается).
Цель:
- Преобразовать список объектов (в бэкэнде) в двоичные данные. Таким образом, когда мы получаем данные во внешнем интерфейсе, мы можем получить доступ к сериализованным данным без распаковки. Достижение этого через FlatBuffers .
- Для передачи этих данных через потоковую передачу при запуске из внешнего интерфейса. Я хочу передавать данные так, как я хочу использовать (отображать в пользовательском интерфейсе в реальном времени) любые данные (список объектов), которые получил пользователь (даже если пользователь отключается во время передачи). У меня возникли проблемы, так как я не могу добиться этого с помощью комбинации REST API - Retrofit. Здесь нужна помощь о том, что использовать для потоковой передачи на основе триггера.
- Чтобы преобразовать список объектов в веб-интерфейсе в Java объектов и отобразить в пользовательском интерфейсе пользователя. Я использую FlatBuffer, так как он быстрый и способен использовать / сериализовать любые объекты, которые передаются. Нет необходимости в полной передаче данных.
Я могу успешно выполнить шаги 1 и 3 цели. Но я не могу разобраться в шаге 2.
Пожалуйста, предложите, какой хороший и простой способ добиться этого (потоковая передача двоичных данных из внутреннего интерфейса в внешний). Было бы лучше, если бы мы могли запускать и транслировать, используя Retrofit (если это возможно) во внешнем интерфейсе.