Android, Разработка приложений для чайников - Фелкер Донн (2012)
-
Год:2012
-
Название:Android, Разработка приложений для чайников
-
Автор:
-
Жанр:
-
Оригинал:Английский
-
Язык:Русский
-
Издательство:ДИАЛЕКТИКА
-
Страниц:201
-
ISBN:978-5-8459-1748-5
-
Рейтинг:
-
Ваша оценка:
•Рады приветствовать вас в Android! Овладейте навыками создания современных приложений для Android, использования инструментов разработки, работы с экранами портативных устройств и организовывания процесса разработки. •Вашему приложению необходимо полюбиться пользователям. Обучитесь создавать графический интерфейс приложения визуально примечательным и пригодный для использования.
•Обучитесь программированию приложений. Познакомьтесь с жизненным кругом приложения и обычными библиотечными классами Android. Обучитесь применять в своих интересах эмулятор портативных устройств и отладчик Eclipse. •Важна не только база. Овладейте знаниями, как создавать приложения, отображающие информацию на многих экранах и которые могут взаимодействовать с базами данных SQLite. •Обозначьте цену и продайте плод своего упорного труда. Обучитесь публиковать их в онлайн-магазине Adroid Marketдля продажи миллионам пользователей и обозначать правильную цену собственным приложениям.
Android, Разработка приложений для чайников - Фелкер Донн читать онлайн бесплатно полную версию книги
private RemoteViews buildUpdate(Context context) { 30
RemoteViews updateViews=new
RemoteViews(context.getPackageName(),R.layout.widget); 32
AudioManager audioManager =
(AudioManager)context.getSystemService(
Activity.AUDIO_SERVICE); 34
if(audioManager.getRingerMode() ==
AudioManager.RINGER_MODE_SILENT) {
updateViews.setImageViewResource(R.id.phoneState,
R.drawable.phone_state_normal); 40
audioManager.setRingerMode(
AudioManager.RINGER_MODE_NORMAL);
} else {
updateViews.setImageViewResource(R.id.phoneState,
R.drawable.phone_state_silent); 45
audioManager.setRingerMode(
AudioManager.RINGER_MODE_SILENT);
}
Intent i=new Intent(this, AppWidget.class); 49
PendingIntent pi
= PendingIntent.getBroadcast(context, 0, i,0); 52
updateViews.setOnClickPendingIntent(
R.id.phoneState,pi); 54
return updateViews; 56
}
}
}
Ниже приведено описание операций, выполняемых в отмеченных строках кода.
6. Создание экземпляра службы ToggleService. Объект context в
этой строке кода ссылается на объект Context операционной системы
Android, являющийся интерфейсом глобальной информации о прило-
жении. Контекст передается в методы onReceive() и onUpdate(). Но-
вое намерение создается, чтобы Android знала, что должно произойти.
182 Часть II. Создание и публикация приложения Android
Android Application Development For Dum.indb 182 08.11.2011 12:24:00
Метод onReceive() инициируется прикосновением пользователя к
виджету приложения на главном экране.
16. Та же операция, что и в строке 6, но для обновления виджета.
19. Реализация фоновой службы IntentService, которая делает то
же, что и MainActivity (т.е. переключает режим звонка), но с учетом
инфраструктуры виджета приложения. Данный статический класс вло-
жен в класс виджета приложения.
22. Вызов конструктора базового класса, полезного для отладки пото-
ков. Если опустить этот вызов, будет сгенерирована ошибка компиля-
ции, сообщающая о том, что вы должны явно вызвать конструктор ба-
зового класса. Если виджет приложения назван как-либо иначе, нужно
привести его имя в параметре метода.
26. Метод onHandleIntent() обрабатывает намерение, полученное
службой. В данном примере это намерение создано в строках 6–16.
Поскольку намерение явное (т.е. задано имя выполняемого класса),
дополнительные данные не предоставляются. Следовательно, после
достижения строки 26 намерение больше не нужно. Однако можно
предоставить дополнительную информацию объекту Intent, кото-
рый был извлечен из параметра этого метода. В данном случае объект
Intent — всего лишь носитель, передающий службе ToggleService
приказ начать обработку намерения.
27. Создание объекта ComponentName, используемого совместно с
AppWidgetManager (см. далее) в качестве провайдера нового содержи-
мого, которое будет передано виджету приложения посредством экзем-
пляра RemoteViews.
28. Экземпляр AppWidgetManager получен путем статического вызова
AppWidgetmanager.getInstance(). Класс AppWidgetManager от-
вечает за обновление состояния виджета приложения и предоставляет
необходимую информацию об установленном виджете приложения.
Мы будем использовать его для обновления состояния виджета при-
ложения.
29. Виджет приложения обновляется путем вызова метода update-