Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
1 / 1 / 0
Регистрация: 19.09.2019
Сообщений: 102

Как правильно опрашивать RestAPI

10.10.2019, 01:48. Показов 2058. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет

Подскажите как правильно опрашивать сервер на предмет новых данных

В моем приложении есть чат, списки товаров , списки заказов и множество других списков все эти данные
Приложение получается rest api

Для получения новых заказов я использую таймер который каждые 30 секунд шлёт запросы на сервер получает ответ и если ответ вернул данные

Дагда добавляет данные в базу данных и если открыто окно списка заказов то обновляет список а если это окно закрыто то вешает на кнопку меню количество новых

Для чата опрос сервера идёт каждую секунду

Все это работает но удирает батарейку и трафик

Вопрос что использовать для того что бы в фоне получать новые данные но при этом не удирать сильно ресурсы?

Добавлено через 6 минут
Дополнительно в бд сервера создаю дублирующие данные для всех заиегенных усстройств

Например

Заказы хранятся в таблице заказов в этой таблице есть колонка

App_id

Так вот один и тот же заказ дублируется столько раз сколько усстройств для админки интернет магазина это считается дефолтным АПП ид

И эта запись всегда остаётся в бд

А вот для всех остальных дублей каждое из усстройств после того как загрузило ту или иную свою порцию данных шлёт запрос на сервер на предмет удаления этих данных из бд

Это реализовано уже давно для обмена данными между cms и виндовым приложением


На андроид делаю приложение но не знаю как умерить аппетит его )
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.10.2019, 01:48
Ответы с готовыми решениями:

Как получить и разобрать ответ от RestAPI
Всем привет не получается принять ответ от АПИ вот мой корявый код ) ChatActivity.kt var mAPIServiceAllMessage:...

D_LINK - как опрашивать состояние ?
привет, у меня D_LINK ADSL-модем (одна из первых модификаций "DSL-200") у меня также WIN-XP SP2 дело вот в чём: иногда он...

Как менее ресурсоёмко опрашивать сервер?
К какой связке прибегнуть, что бы реализовать такое: Вся логика сайта, апи, написана на php. Нужно опрашивать сервер каждую...

7
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
10.10.2019, 09:47
Список товаров получать только тогда, когда юзер открывает окно с этими товарами. Для чата сервер сам должен пушить сообщения на телефон, а приложение должно разбирать эти пуши и кешировать все запросы.
1
1 / 1 / 0
Регистрация: 19.09.2019
Сообщений: 102
10.10.2019, 09:57  [ТС]
Добавлено через 2 минуты
Цитата Сообщение от ExFau$t Посмотреть сообщение
Список товаров получать только тогда, когда юзер открывает окно с этими товарами. Для чата сервер сам должен пушить сообщения на телефон, а приложение должно разбирать эти пуши и кешировать все запросы.

дайте пожалуйста ссылку на пример с использоватением пуша и Рест АПИ ато я не понимаю логики (

как разтаки товары да приложение получает только когда открывается окно а вот с заказами и др данными например заказ обратного звонка, новые комментарии, сообщения и т д все это должно автоматом обновляться

как использовать пуш?

Добавлено через 6 минут
я для уведомлений использую Firebase но все что мне удалось сделать это просто получать уведомления но при нажатии на уведомление открывается приложение на главный экран и все

я не понимаю как мне например пушить данные сервером

и как потом принимать эти данные на приложении

в смысле мне например необходимы такие данные

для чата мы должны принимать списки новых посетителей и их сообщения

для заказов

1. новые заказы,
2. когда один из менеджеров жмет взять заказ то приложение должно уведомить о все другие приложения (включая сервер) о том что тот или инной менеджер забрал этот заказ себе (и не позволять редактировать его)

и т д
0
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
10.10.2019, 10:05
С пушом можно отправить какие-то данные в json, диплинк на какое-то окно в приложении или просто по событию пуша вызвать обновление данных с сервака.
В документации где-то есть статья, как связать сервак и cloud messaging. Можно использовать сервисы с более удобными функциями и документацией https://onesignal.com/
1
1 / 1 / 0
Регистрация: 19.09.2019
Сообщений: 102
10.10.2019, 10:41  [ТС]
Цитата Сообщение от ExFau$t Посмотреть сообщение
С пушом можно отправить какие-то данные в json, диплинк на какое-то окно в приложении или просто по событию пуша вызвать обновление данных с сервака.
В документации где-то есть статья, как связать сервак и cloud messaging. Можно использовать сервисы с более удобными функциями и документацией https://onesignal.com/

только хотел написать о onesignal

но в любом случае не понимаю хорошо я принял уведомление о том что что то пришло новое но как дальше его разобрать то? :-)

дайте пожалуйста ссылку на похожий пример

прост ов интернете нахожу примеры только чата (без пользователей) не мессаджер а именно общего чата с одной комнатой для всех

вот если бы найти хотябы чат с комнатами где можно выбирать юзера тогда понятнее было бы навреное но не могу найти (

Добавлено через 31 минуту
подрубил к апи onesignal уведомления приходят но всеравно не понимаю как принять ид скажем постеителя и обновить данные на экране (
0
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
10.10.2019, 10:55
Лучший ответ Сообщение было отмечено Grigory20191 как решение

Решение

Там есть механизмы отправки уведомлений конкретному юзеру или сегменту юзеров, нужно только разобраться и настроить.
Цитата Сообщение от Grigory20191 Посмотреть сообщение
как дальше его разобрать то?
В доке есть это https://documentation.onesigna... edhandler-
1
1 / 1 / 0
Регистрация: 19.09.2019
Сообщений: 102
10.10.2019, 11:00  [ТС]
Цитата Сообщение от ExFau$t Посмотреть сообщение
спасибо буду читать
0
1 / 1 / 0
Регистрация: 19.09.2019
Сообщений: 102
10.10.2019, 20:05  [ТС]
Все домучал получается принимать данные осталось их показать на экране

Спасибо за помощь!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.10.2019, 20:05
Помогаю со студенческими работами здесь

QTimer - как опрашивать оборудование чаще 1мс
Моя программа делает опрос оборудования, связь с оборудованием через QSerialPort. Опрос происходит по срабатыванию таймера QTimer....

Как опрашивать устройство по COM-порту и скорость тоже интересует
Руководствуясь ссылкой написАл программу для опроса устройства, но оно медлено опрашивается. Фабричная настройка устройства на...

Delphi RestApi + Bitrix24
Добрый день! Пытаюсь сейчас создать приложение которое для Bitrix24 CRM. Не могу толком найти инфу о подключении к CRM через форму. ...

Получение данных по звонкам из битрикс по RestApi
Ку, можно ли получить данные по звонкам из битрикс по RestApi например или как-то еще? И эти данные потом уже использовать для статистики.

Автоматизация запросов к веб-интерфейсу (RestAPI) Python3
Доброго времени суток, коллеги, Есть необходимость выгружать JSON-файл с данными за определенный промежуток времени из веб-интерфейса...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru