Firebase Jobdispatcher — использовать или не использовать

Я разрабатываю приложение, простую, но, надеюсь, захватывающую маленькую игру. Пользователь должен решить заранее заданные уровни как можно быстрее.

Информация об уровнях хранится онлайн в базе данных MySQL, которая также содержит среднее время, которое потребовалось всем игрокам для прохождения данного уровня. Кроме того, данные уровня хранятся локально в базе данных SQlite на телефоне.

Я хочу сделать следующее. Я хочу синхронизировать среднее время (от сервера к телефону) и загрузить время, которое потребовалось игроку для прохождения уровня (от телефона к серверу).

В идеале это происходит каждый раз, когда игрок запускает приложение или завершает уровень. Для этого я рассматриваю Firebase Jobdispatcher, но мне было интересно, является ли это излишним или нет. К вашему сведению: это не конец света, если среднее время, хранящееся в телефоне, не совсем актуально. Игра будет работать без обновлений. С другой стороны, я хочу, чтобы он регулярно обновлялся, так как производительность пользователя будет сравниваться со средним временем.

Я новичок, который хочет делать все правильно. Надеюсь, вы можете помочь.


person MWB    schedule 12.12.2017    source источник


Ответы (1)


Похоже, вы уже знаете, когда должна произойти какая-то работа. Как ты сказал:

В идеале это происходит каждый раз, когда игрок запускает приложение или завершает уровень.

Вам не нужен JobDispatcher для планирования работы, когда вы уже контролируете время, когда работа должна выполняться. JobDispatcher используется, когда вам нужно запланировать некоторую работу в какой-то момент времени или интервал, когда ваше приложение может даже не работать.

person Doug Stevenson    schedule 12.12.2017
comment
Итак, вы советуете простой AsyncTask? Как насчет IntentService? Что мне нравится в IntentService, так это то, что он выполняет обновление. Независимо от того, готово обновление или нет, я могу использовать локальные данные, когда захочу, используя свой ContentProvider. - person MWB; 13.12.2017