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

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

10.10.2019, 01:48. Показов 2009. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru