Отчет о прохождении учебной практики


Модуль настроек приложения


Download 0.57 Mb.
bet10/14
Sana07.10.2023
Hajmi0.57 Mb.
#1694500
TuriОтчет
1   ...   6   7   8   9   10   11   12   13   14
Bog'liq
jv

7.2 Модуль настроек приложения


Как и любое приложение, в данном приложении используются настройки и начальные данные. Ввиду особенностей приложения и его способа хранения данных, был реализован сервис предоставления данных приложению в момент его установки и первого запуска.
Системой Android предоставляется интерфейс хранения настроек, однако он не выполнял всех поставленных требований, посему был разработан модуль, расширяющий стандартный функционал.
Был разработан класс Settings.java. Рассмотрим основные его функции.
public static Settings instance() - данная функция инициализирует класс. Класс является синглтон паттерном.
public static read (String key, def) - данная функция получает значение параметра, в случае неудачи(не существует такого параметра, ошибка чтения) возвращается значение по умолчанию.
public static write(String key, def) - данный метод производит сохранение параметра и немедленную запись обновленных данных в файловую систему.

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:
1   ...   6   7   8   9   10   11   12   13   14




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling