Введение. 1
На кого рассчитана эта книга. 1
Краткое описание глав. 2
Исходные коды примеров. 6
Благодарности. 6
Глава 1. Базовые сведения о платформе Android. 7
Уровень ядра. 7
Драйвер IPC. 8
Управление энергопотреблением. 9
Драйверы оборудования. 9
Уровень библиотек. 10
Системная библиотека libc. 10
Менеджер поверхностей. 10
Функциональные библиотеки. 11
Среда выполнения. 12
Dalvik Virtual Machine. 12
Core Libraries. 13
Уровень каркаса приложений. 13
Уровень приложений. 14
Глава 2. Среда разработки. 15
Создание среды разработки. 15
Системные требования. 15
Установка JDK. 16
Установка Eclipse. 17
Установка Android SDK. 17
Установка Android Development Tools. 18
Обзор Android SDK. 21
Версии SDK и Android API Level. 21
Инструменты для разработки и отладки приложений. 22
Android Virtual Device. 23
Глава 3. Первое приложение для Android. 31
Создание проекта в Eclipse. 31
Структура проекта. 35
Каталог ресурсов. 36
Подкаталог res/layout/. 37
Подкаталог res/drawable/. 37
Подкаталог res/values/. 37
Файл R.java. 38
Файл HelloAndroidActivity.java. 39
Файл AndroidManifest.xml. 40
Глава 4. Компоненты Android-приложения. 43
Деятельность. 43
Службы. 44
Приемники широковещательных намерений. 44
Контент-провайдеры. 45
Процессы и потоки. 45
Жизненный цикл процессов. 45
Приоритет и статус процессов. 46
Жизненный цикл компонентов приложения. 48
Активация компонентов. 49
Завершение работы компонентов. 49
Файл AndroidManifest.xml. 49
Общая структура манифеста. 51
. 52
. 53
. 53
. 54
. 54
. 54
. 54
. 56
. 57
. 57
. 57
< activity-al ias>. 57
. 58
. 58
. 58
. 59
Глава 5. Графический интерфейс пользователя. 61
Деревья представлений. 62
Разметка. 62
Объявление в XML. 64
XML-элементы и атрибуты. 65
Инициализация представлений. 67
Стандартные разметки. 68
FrameLayout. 68
LinearLayout. 70
TableLayout. 74
RelativeLayout. 78
Отладка интерфейса с помощью Hierarchy Viewer. 81
Layout View. 82
Pixel Perfect View. 83
Глава 6. Базовые виджеты. 85
Текстовые поля. 85
TextView. 86
EditText. 90
Добавление полос прокрутки. 92
Отображение графики. 95
Обработка событий. 97
Кнопки и флажки. 98
Button. 99
RadioButton и RadioGroup. 106
CheckBox. 109
Toggle Button. 112
ImageButton. 115
Закладки. 117
Индикаторы и слайдеры. 120
ProgressBar. 121
SeekBar. 125
RatingBar. 129
Компоненты отображения времени. 133
AnalogClock и DigitalClock. 134
Chronometer. 135
Глава 7. Виджеты-списки и привязка данных. 139
Адаптеры данных. 139
Текстовые поля с автозаполнением. 140
AutoCompleteTextView. 140
MultiAutoCompleteTextView. 143
Отображение данных в списках. 146
ListView. 147
Spinner. 149
GridView. 153
Отображение графики в списках. 157
Отображение графики в GridView. 157
Gallery. 161
SlidingDrawer. 164
Создание списка с собственной разметкой. 170
Глава 8. Уведомления. 175
Всплывающие уведомления. 175
Создание собственных всплывающих уведомлений. 179
Уведомления в строке состояния. 182
Создание собственных уведомлений для строки состояния. 187
Глава 9. Диалоговые окна. 191
Создание диалоговых окон. 192
AlertDialog. 193
AlertDialog с кнопками. 193
AlertDialog со списком. 197
AlertDialog с радиокнопками. 200
AlertDialog с флажками. 203
ProgressDialog. 206
DatePickerDialog. 211
TimePickerDialog. 216
Создание собственных диалогов. 219
Глава 10. Меню. 225
Меню выбора опций. 226
Меню со значками. 230
Расширенное меню. 233
Контекстное меню. 237
Подменю. 240
Добавление флажков и переключателей в меню. 244
Глава 11. Управление деятельностями. 249
Жизненный цикл деятельности. 249
Сохранение состояния деятельности. 253
Стек деятельностей. 254
Намерения. 254
Группы намерений. 257
Запуск деятельностей и обмен данными между деятельностями. 257
Фильтры намерений и запуск заданий. 271
Глава 12. Службы. 275
Жизненный цикл служб. 275
Создание службы. 277
Глава 13. Приемники широковещательных намерений. 285
Жизненный цикл приемников широковещательных намерений. 286
Приемники системных событий. 287
Использование широковещательных намерений. 288
Передача событий через намерения. 288
Прослушивание событий приемниками широковещательных намерений. 289
Пример приложения-приемника намерений. 290
Пример приложения-передатчика намерений. 292
Глава 14. Работа с файлами и сохранение пользовательских настроек. 295
Чтение и запись файлов. 295
Предпочтения. 301
Использование предпочтений. 302
CheckBoxPreference. 303
EditTextPreference. 310
ListPreference. 312
RingtonePreference. 315
PreferenceCategory. 316
PreferenceScreen. 317
Глава 15. База данных SQLite и контент-провайдеры. 323
15.1. База данных SQLite. 323
Создание базы данных: класс SQLiteOpenHelper. 323
Управление базой данных: класс SQLiteDatabase. 325
Контент-провайдеры. 326
Модель данных. 327
URI. 327
Создание контент-провайдера. 328
Расширение класса ContentProvider. 329
Декларирование контент-провайдера в файле манифеста. 331
Запросы к контент-провайдеру. 331
Чтение возвращаемых значений. 332
Позиционирование курсора. 333
Добавление записей. 334
Изменение записи. 334
Удаление записей. 334
Практическое приложение для работы с базой данных. 335
Глава 16. Ресурсы, активы и локализация приложений. 349
Доступные типы ресурсов. 349
Создание ресурсов. 350
Ссылки на ресурсы. 351
Использование ресурсов в коде программы 352
Загрузка простых типов из ресурсов. 353
Загрузка файлов произвольного типа. 358
Создание меню в XML. 360
Загрузка XML-документов. 364
Стили и темы. 368
Стили. 368
Темы. 369
Определение собственных стилей и тем. 370
Активы. 373
Локализация приложений. 377
Ресурсы, заданные по умолчанию. 377
Создание локализованных ресурсов. 378
Глава 17. Графика. 381
Объект Drawable. 381
Создание объектов Drawable в коде программы. 383
Класс TransitionDrawable. 384
Класс ShapeDrawable. 386
Рисование на канве. 393
Глава 18. Создание анимации. 401
Анимация преобразований. 401
Создание анимации в XML-файле. 402
Общие атрибуты. 403
Элемент . 404
Элемент . 404
Элемент . 405
Элемент . 405
Анимация графических примитивов. 405
Анимация графических файлов. 413
Анимация группы представлений. 417
Кадровая анимация. 421
Создание кадровой анимации в XML. 422
Создание анимации в коде программы. 425
Приложение. Описание компакт-диска и установка примеров. 429
Описание компакт-диска. 429
Установка примеров. 429
Предметный указатель. 433