Отчет о прохождении учебной практики
Модуль настроек приложения
Download 0.57 Mb.
|
jv
- Bu sahifa navigatsiya:
- 7.3 Сервис фоновых процессов
7.2 Модуль настроек приложенияКак и любое приложение, в данном приложении используются настройки и начальные данные. Ввиду особенностей приложения и его способа хранения данных, был реализован сервис предоставления данных приложению в момент его установки и первого запуска. Системой Android предоставляется интерфейс хранения настроек, однако он не выполнял всех поставленных требований, посему был разработан модуль, расширяющий стандартный функционал. Был разработан класс Settings.java. Рассмотрим основные его функции. public static Settings instance() - данная функция инициализирует класс. Класс является синглтон паттерном. public static public static 7.3 Сервис фоновых процессовТак как приложение должно обновлять свои данные независимо от своего состояние, было принято решение разделить приложение на 2 части. Первая - является основной частью и выполняет отображение данных и общение с пользователем, может быть свернута либо закрыта. Вторая - фоновый сервис, работающий независимо от первой части, и предоставляющий последние обновленные данные первой части по ее первому требованию. Для выполнения поставленной задачи было решено использовать систему фоновых процессов с периодической нотификацией. Если опустить процесс создания и настройки фонового режима для сервиса, основной функционал занимает приемник широковещательных запросов на обновление. Данный приемник по получении сообщения будет вызывать процесс обновления данных для менеджера данных, в случае если это необходимо. Подробнее о менеджере данных будет рассмотрено в следующем разделе. Приемник сообщений является наследником от стандартного класса приемника сообщений и расширяет его функционал для выполнения поставленных задач. Ниже представлена его реализация.class TimeReceiver extends BroadcastReceiver { @Overridevoid onReceive(Context context, Intent intent) {.instance().postDelayed(new Runnable() { @Overridevoid run() { // Log.d(TAG, "obeying the time-tick"); ManagersController.instance().updateAll(); } }, timeOffset); } } Download 0.57 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling