2016-05-05 4 views
-1

Я создаю довольно простое приложение для отслеживания данных. Используя runnable, каждые 5 секунд мое приложение проверяет, сколько данных пользователь потребляет и обновляет пользовательский интерфейс.Правильно ли это использовать службу?

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

Я никогда не пользовался службой раньше, и, прочитав некоторую документацию, я все еще не уверен, что это то, что мне нужно. Мне нужно иметь возможность обновлять пользовательский интерфейс, и в зависимости от объема данных запустите асинтез для обновления сервера.

Прямо сейчас эта часть происходит из runnable, но из того, что я читал об услугах, похоже, что взаимодействие с пользовательским интерфейсом затруднено.

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

Заранее благодарим за любую информацию!

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

ответ

0

Правильно ли это использовать службу?

Да.

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

Это не так сложно. Самое простое решение - использовать EventBus.

Другое решение без библиотеки: Activity связывается с Service в onCreate. Service возвращает Binder. Activity передает Listener тому Binder. Service вызывает listener, как только пользовательский интерфейс должен быть обновлен.

Смежные вопросы