Android, Разработка приложений для чайников - Фелкер Донн (2012)
-
Год:2012
-
Название:Android, Разработка приложений для чайников
-
Автор:
-
Жанр:
-
Оригинал:Английский
-
Язык:Русский
-
Издательство:ДИАЛЕКТИКА
-
Страниц:201
-
ISBN:978-5-8459-1748-5
-
Рейтинг:
-
Ваша оценка:
•Рады приветствовать вас в Android! Овладейте навыками создания современных приложений для Android, использования инструментов разработки, работы с экранами портативных устройств и организовывания процесса разработки. •Вашему приложению необходимо полюбиться пользователям. Обучитесь создавать графический интерфейс приложения визуально примечательным и пригодный для использования.
•Обучитесь программированию приложений. Познакомьтесь с жизненным кругом приложения и обычными библиотечными классами Android. Обучитесь применять в своих интересах эмулятор портативных устройств и отладчик Eclipse. •Важна не только база. Овладейте знаниями, как создавать приложения, отображающие информацию на многих экранах и которые могут взаимодействовать с базами данных SQLite. •Обозначьте цену и продайте плод своего упорного труда. Обучитесь публиковать их в онлайн-магазине Adroid Marketдля продажи миллионам пользователей и обозначать правильную цену собственным приложениям.
Android, Разработка приложений для чайников - Фелкер Донн читать онлайн бесплатно полную версию книги
Чтобы с помощью класса AlarmManager запустить некоторый процесс, нужно
сначала установить и сконфигурировать сигнал оповещения. В приложении Task
Reminder лучше всего это сделать непосредственно после сохранения задачи в мето-
де saveState(). Однако, прежде чем приступить к кодированию, нужно добавить в
проект четыре класса.
ReminderManager.java. Этот класс отвечает за конфигурирование
напоминаний с помощью класса AlarmManager.
OnAlarmReceiver.java. В этом классе обрабатываются широкове-
щательные сообщения, передаваемые при генерации сигналов классом
AlarmManager. В файл манифеста приложения AndroidManifest.xml
необходимо добавить приведенный ниже код.
<receiver android:name=".OnAlarmReceiver" />
Точка перед OnAlarmReceiver информирует платформу Android о том,
что приемник широковещательных сообщений, определенный в файле
AndroidManifest.xml, находится в текущем пакете.
WakeReminderIntentService.java. Этот абстрактный класс отвеча-
ет за получение и отмену блокировки отключения процессора.
ReminderService.java. Данный класс является реализацией базово-
го класса WakeReminderIntentService, который обрабатывает созда-
ние уведомления (см. главу 14).
Чтобы приложение распознавало службу WakeReminderIntentService,
в элемент приложения в файле AndroidManifest.xml нужно добавить
следующий код:
<service android:name=".ReminderService" />
284 Часть III. Создание мощных приложений
Android Application Development For Dum.indb 284 08.11.2011 12:24:06
Создание класса ReminderManager
Как сказано выше, класс ReminderManager отвечает за установку расписания
сигналов операционной системы с помощью класса AlarmManager. Для достижения
высокого уровня абстракции в классе ReminderManager выполняются все действия,
имеющие отношение к установке расписания в классе AlarmManager.
Добавьте приведенный ниже код в конец метода saveState() класса Reminder-
EditActivity, чтобы добавить в расписание сигнал о данной задаче.
new ReminderManager(this).setReminder(mRowId, mCalendar);
Эта строка приказывает классу ReminderManager установить в объекте
AlarmManager для задачи с идентификатором mRowId новое напоминание в момент
времени, определенный в переменной mCalendar.
В листинге 13.1 приведен код класса ReminderManager.
Листинг 13.1. Класс ReminderManager
public class ReminderManager {
private Context mContext;
private AlarmManager mAlarmManager;
public ReminderManager(Context context) { 6
mContext = context;
mAlarmManager =
(AlarmManager)context.getSystemService(
Context.ALARM_SERVICE); 9
}
public void setReminder(Long taskId,
Calendar when) { 12
Intent i =
new Intent(mContext, OnAlarmReceiver.class); 13
i.putExtra(RemindersDbAdapter.KEY_ROWID,
(long)taskId); 14
PendingIntent pi =
PendingIntent.getBroadcast(mContext, 0, i,
PendingIntent.FLAG_ONE_SHOT); 16
mAlarmManager.set(AlarmManager.RTC_WAKEUP,
when.getTimeInMillis(), pi); 17
}
}
Ниже приведено описание отмеченных строк кода.
6. Заголовок конструктора класса ReminderManager. В качестве пара-
метра конструктор принимает объект context.
9. Получение объекта AlarmManager путем вызова метода getSystem-
Service().