МЕНЮ
ПОПУЛЯРНЫЕ СТАТЬИ
» Higrade - Deaf Stuff (2024)
» Noise Generation - Molos (2024)
» Safe Miami 2024 (Selected By The Deepshakerz) (2024)
» Mascalito - Lab Creatures (2024)
» Avalanche Kaito - Talitakum (2024)
» Driftmoon - Twisted Lullaby (2024)
» Alberto Adami - Survive The Drop (2024)
» Undead Ronin - God Vessel II (2024)
» Neik & Dief - Artificial Mind (2024)
» Words X Chuck Chan - Dieselnoi: The Sky Piercing Knee ( ...
» Noise Generation - Molos (2024)
» Safe Miami 2024 (Selected By The Deepshakerz) (2024)
» Mascalito - Lab Creatures (2024)
» Avalanche Kaito - Talitakum (2024)
» Driftmoon - Twisted Lullaby (2024)
» Alberto Adami - Survive The Drop (2024)
» Undead Ronin - God Vessel II (2024)
» Neik & Dief - Artificial Mind (2024)
» Words X Chuck Chan - Dieselnoi: The Sky Piercing Knee ( ...
Реклама
Android для программистов. Создаем приложения. Эта книга даст вам всё, что нужно, для начала разработки приложений для Android и быстрой публикации их на Android Market. Авторы используют приложение-ориентированный подход, при котором описание каждой технологии рассматривается на примере 16 полностью протестированных приложений для Android.
Кроме описания процесса создания приложений, в книге дано пошаговое руководство по размещению ваших приложений на Android Market и примеры успешных публикаций.
Предисловие. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Авторские права и лицензии на код . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Целевая аудитория . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Особенности книги . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Соглашения, используемые в книге . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Центры Deitel Online Android Resource Centers . . . . . . . . . . . . . . . . . . . . . . . . 19
Бюллетень Deitel & Associates, Inc. Online . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Как связаться с авторами книги . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Благодарности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Рецензенты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Об авторах . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Подготовительные действия . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Требования к аппаратному и программному обеспечению . . . . . . . . . . . . . . . 23
Установка Java Development Kit (JDK) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Установка Eclipse IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Установка Android SDK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Установка плагина ADT для Eclipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Установка платформы Android . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Создание виртуальных устройств Android (AVD) для использования
в эмуляторе Android . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Производительность AVD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
(Дополнительно) Настройка устройства Android для разработки . . . . . . . . . . 29
(Дополнительно) Альтернативные среды разработки приложений Android . . . 30
Где взять примеры кода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Глава 1. Введение в Android . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
1.1. Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
1.2. Обзор платформы Android . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Открытость платформы и открытый исходный код . . . . . . . . . . . . . . . . . 35
Java . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Мультисенсорный экран . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Встроенные приложения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Соглашения относительно именования версий Android . . . . . . . . . . . . . . 38
1.3. Android 2.2 (Froyo) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Новые функции Android 2.2, предназначенные для разработчиков . . . . . 41
1.4. Android 2.3 (Gingerbread) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
1.5. Android 3.0 (Honeycomb) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
1.6. Android Ice Cream Sandwich . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.7. Загрузка приложений из Android Market . . . . . . . . . . . . . . . . . . . . . . . . .
1.8. Пакеты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.9. Android Software Development Kit (SDK) . . . . . . . . . . . . . . . . . . . . . . . . .
Интегрированная среда разработки Eclipse . . . . . . . . . . . . . . . . . . . . . .
Плагин Android Development Tools (ADT) для Eclipse . . . . . . . . . . . . . . .
Эмулятор Android . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.10. Краткий обзор объектной технологии . . . . . . . . . . . . . . . . . . . . . . . . . .
Автомобиль в качестве объекта . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Методы и классы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Создание экземпляра класса . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Повторное использование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Сообщения и вызовы методов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Атрибуты и переменные экземпляра класса . . . . . . . . . . . . . . . . . . . . .
Инкапсуляция . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Наследование . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Объектно-ориентированный анализ и проектирование . . . . . . . . . . . . .
1.11. Тестирование приложения Doodlz на виртуальном устройстве AVD . . . .
Выполнение приложения Doodlz на устройстве Android . . . . . . . . . . . . .
1.12. Ресурсы Deitel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.13. Ресурсы для Android-разработчиков . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.14. Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
50
51
52
54
54
55
55
57
57
58
58
58
58
59
59
59
59
60
68
70
71
73
Глава 2. Google Play и бизнес-вопросы, связанные с разработкой
приложений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
2.1. Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
2.2. Создание выдающихся Android-приложений . . . . . . . . . . . . . . . . . . . . . 75
2.3. Лучшие методики для разработчиков Android-приложений . . . . . . . . . . 76
2.3.1. Совместимость . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
2.3.2. Поддержка нескольких экранов . . . . . . . . . . . . . . . . . . . . . . . . . . 79
2.3.3. Советы по разработке интерфейса пользователя Android . . . . . . . 79
2.4. Регистрация на Google Play . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
2.5. Создание учетной записи Google Checkout Merchant . . . . . . . . . . . . . . . 85
2.6. Файл AndroidManifest.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
2.7. Подготовка приложений к публикации . . . . . . . . . . . . . . . . . . . . . . . . . 87
2.8. Загрузка приложений на Google Play . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
2.9. Другие «рынки приложений» Android . . . . . . . . . . . . . . . . . . . . . . . . . . 96
2.10. Вопросы ценообразования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
2.11. Монетизация приложений с помощью встроенной рекламы . . . . . . . . . . 99
2.12. Монетизация приложений: продажа виртуальных товаров
с помощью сервиса In-app Billing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
2.13. Запуск приложения Market из пользовательского приложения . . . . . . 103
2.14. Управление приложениями, находящимися на Google Play . . . . . . . . . 103
2.15. Маркетинг приложения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
2.16. Другие популярные платформы приложений . . . . . . . . . . . . . . . . . . .
2.17. Документация для Android-разработчиков . . . . . . . . . . . . . . . . . . . . . .
2.18. Шутим вместе с Android . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.19. Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
110
111
112
112
Глава 3. Приложение Welcome: знакомимся с Eclipse
и модулем ADT Plugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
3.1. Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
3.2. Обзор применяемых технологий . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
3.3. Интегрированная среда разработки Eclipse . . . . . . . . . . . . . . . . . . . . . . 115
Введение в Eclipse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
3.4. Создание нового проекта . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Окно Package Explorer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
3.5. Создание графического интерфейса пользователя приложения
Welcome с помощью визуального макетного редактора модуля ADT . . . 120
Графический интерфейс пользователя, заданный по умолчанию . . . . . 121
Конфигурирование Visual Layout Editor для использования
соответствующей библиотеки Android SDK . . . . . . . . . . . . . . . . . . . . . . 122
Удаление и воссоздание файла main.xml . . . . . . . . . . . . . . . . . . . . . . . 122
Настройка размера и разрешения экрана для Visual Layout Editor . . . . . 123
Размеры и разрешение изображений и экрана . . . . . . . . . . . . . . . . . . . 124
Шаг 1. Добавление изображений в проект . . . . . . . . . . . . . . . . . . . . . . 125
Шаг 2. Изменения свойства Id макета RelativeLayout . . . . . . . . . . . . . . . 126
Шаг 3. Присваивание свойству Background значения RelativeLayout . . . . 127
Шаг 4. Добавление компонента TextView . . . . . . . . . . . . . . . . . . . . . . . 127
Шаг 5. Настройка свойства Text компонента TextView с помощью
строковых ресурсов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Шаг 6. Настройка свойств Text size и Padding top компонента
TextView — пиксели, независимые от плотности
и от масштабирования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
Шаг 7. Настройка дополнительных свойств компонента TextView . . . . . 131
Шаг 8. Отображение логотипов Android и Deitel Bug с помощью
компонентов ImageViews . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
3.6. Структура файла main.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
welcomeRelativeLayout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
welcomeTextView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
droidImageView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
3.7. Выполнение приложения Welcome . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137
3.8. Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Глава 4. Приложение Tip Calculator App: создание приложения Android
с помощью Java. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
4.1. Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
4.2. Тестирование приложения Tip Calculator . . . . . . . . . . . . . . . . . . . . . . . . 142
4.3. Обзор применяемых технологий . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
4.4. Создание графического интерфейса приложения . . . . . . . . . . . . . . . . .
4.4.1. Знакомство с классом TableLayout . . . . . . . . . . . . . . . . . . . . . . . .
4.4.2. Создание проекта, добавление класса TableLayout и компонентов .
4.4.3. Просмотр созданного макета . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4.4. Завершение проекта путем настройки компонентов . . . . . . . . . . .
4.4.5. Завершенная XML-разметка GUI приложения Tip Calculator . . . . .
4.4.6 Файл strings.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5. Включение дополнительных функций в приложение . . . . . . . . . . . . . . .
4.6. Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
143
144
145
149
150
154
157
157
169
Глава 5. Приложение Favorite Twitter® Searches: настройки Shared
Preferences, кнопки, вложенные структуры, интенты,
диалоговые окна Alert Dialogs, «раздувание» XML-разметки
и файла манифеста . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
5.1. Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
5.2. Тестирование приложения Favorite Twitter Searches . . . . . . . . . . . . . . . 173
5.3. Обзор применяемых технологий . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
5.4. Создание графического интерфейса приложения и файлов ресурсов . . 177
5.4.1. Компонент main.xml TableLayout . . . . . . . . . . . . . . . . . . . . . . . . . 178
5.4.2. Создание проекта . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
5.4.3. Создание файлов ресурсов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
5.4.4. Добавление класса TableLayout и компонентов . . . . . . . . . . . . . . 181
5.4.5. Создание компонента TableRow, отображающего кнопки
Search и Edit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
5.5. Создание приложения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
5.6. Файл AndroidManifest.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
5.7. Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
Глава 6. Приложение Flag Quiz Game: ресурсы, AssetManager,
анимация с переходами, обработчик, меню и регистрация
сообщений об ошибках . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
6.1. Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
6.2. Тестирование приложения Flag Quiz Game . . . . . . . . . . . . . . . . . . . . . . 207
6.3. Обзор применяемых технологий . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
6.4. Создание графического интерфейса приложения и файлов ресурсов . . 210
6.4.1. Компонент main.xml LinearLayout . . . . . . . . . . . . . . . . . . . . . . . . . 210
6.4.2. Создание проекта . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
6.4.3. Создание и редактирование файлов ресурсов . . . . . . . . . . . . . . . 211
6.4.4. Добавление компонентов в макет LinearLayout . . . . . . . . . . . . . . 213
6.4.5. Создание динамически «раздуваемой» кнопки . . . . . . . . . . . . . . 216
6.4.6. Создание анимации «развевающегося флага» . . . . . . . . . . . . . . . 216
6.5. Создание приложения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
6.6. Файл AndroidManifest.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
6.7. Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
Глава 7. Приложение Cannon Game: прослушивание касаний
и жестов, покадровая анимация, графика, звук, потоки,
SurfaceView и SurfaceHolder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
7.1. Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
7.2. Тестирование приложения Cannon Game . . . . . . . . . . . . . . . . . . . . . . . 239
7.3. Обзор применяемых технологий . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
7.4. Создание графического интерфейса пользователя приложения
и файлов ресурсов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
7.4.1. Создание проекта . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
7.4.2. Файл AndroidManifest.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
7.4.3. Файл strings.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
7.4.4. Файл main.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
7.4.5. Добавление звуков в приложение . . . . . . . . . . . . . . . . . . . . . . . . 245
7.5. Создание приложения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
7.5.1. Определение концов линии с помощью класса Line . . . . . . . . . . . 246
7.5.2. Подкласс CannonGame класса Activity . . . . . . . . . . . . . . . . . . . . . 246
7.5.3. Подкласс CannonView класса View . . . . . . . . . . . . . . . . . . . . . . . . 250
7.6. Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Глава 8. Игра SpotOn: анимация свойств, класс ViewPropertyAnimator,
интерфейс AnimatorListener, потоково-безопасные коллекции,
объекты SharedPreferences, заданные по умолчанию
для деятельности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
8.1. Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
8.2. Тестирование приложения SpotOn Game . . . . . . . . . . . . . . . . . . . . . . . . 271
8.3. Обзор применяемых технологий . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
8.4. Создание графического интерфейса и файлов ресурсов приложения . . 274
8.4.1. Файл AndroidManifest.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
8.4.2. Файл main.xml RelativeLayout . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
8.4.3. Файл разметки untouched.xml ImageView для нового пятнышка . . 276
8.4.4. Файл разметки life.xml ImageView для новых попыток . . . . . . . . . 277
8.5. Создание приложения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
8.5.1. Подкласс SpotOn класса Activity . . . . . . . . . . . . . . . . . . . . . . . . . . 277
8.5.2. Подкласс SpotOnView класса View . . . . . . . . . . . . . . . . . . . . . . . . 279
8.6. Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
Глава 9. Приложение Doodlz: двумерная графика, диспетчер
SensorManager, мультитач-события и объекты Toast . . . . . . . . . . . 294
9.1. Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
9.2. Тестирование приложения Doodlz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
9.3. Обзор применяемых технологий . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
9.4. Создание графического интерфейса пользователя и файлов ресурсов
приложения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
9.4.1. Создание проекта . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
9.4.2. Файл AndroidManifest.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
9.4.3. Файл strings.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.4.4. Файл main.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.4.5. Файл color_dialog.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.4.6. Файл width_dialog.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.5. Создание приложения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.5.1. Подкласс Doodlz класса Activity . . . . . . . . . . . . . . . . . . . . . . . . .
9.5.2. Подкласс DoodleView класса View . . . . . . . . . . . . . . . . . . . . . . .
9.6. Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
300
301
301
303
303
304
318
329
Глава 10. Приложение Address Book: компоненты ListActivity,
AdapterViews, адаптеры, несколько деятельностей, SQLite,
стили GUI, ресурсы меню и MenuIn?ater . . . . . . . . . . . . . . . . . . . . 330
10.1. Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 331
10.2. Тестирование приложения Address Book . . . . . . . . . . . . . . . . . . . . . . . 331
10.3. Обзор применяемых технологий . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
10.4. Создание графического интерфейса пользователя и файлов ресурсов . . 336
10.4.1. Создание проекта . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
10.4.2. Файл AndroidManifest.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
10.4.3. Файл styles.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
10.4.4. Файл textview_border.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
10.4.5. Файл разметки AddressBook класса Activity:
contact_list_item.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
10.4.6. Разметка для класса ViewContact класса Activity:
view_contact.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
10.4.7. Разметка для класса AddEditContact класса Activity:
файл add_contact.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
10.4.8. Определение компонентов MenuItems приложения
с помощью ресурсов меню, заданных в XML-формате . . . . . . . . 341
10.5. Создание приложения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
10.5.1. Подкласс AddressBook класса ListActivity . . . . . . . . . . . . . . . . . . 343
10.5.2. Подкласс ViewContact класса Activity . . . . . . . . . . . . . . . . . . . . 350
10.5.3. Подкласс AddEditContact класса Activity . . . . . . . . . . . . . . . . . . 356
10.5.4. Класс утилиты DatabaseConnector . . . . . . . . . . . . . . . . . . . . . . 360
10.6. Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366
Глава 11. Приложение Route Tracker: Google Maps API, GPS,
LocationManager, MapActivity, MapView и Overlay . . . . . . . . . . . . . 368
11.1. Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
11.2. Тестирование приложения Route Tracker . . . . . . . . . . . . . . . . . . . . . . . 371
11.3. Обзор применяемых технологий . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
11.4. Создание графического интерфейса пользователя
и файлов ресурсов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
11.4.1. Создание проекта . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
11.4.2. Файл AndroidManifest.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
11.4.3. Разметка приложения Route Tracker: файл main.xml . . . . . . . . . 378
11.5. Создание приложения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11.5.1. Подкласс RouteTracker класса MapActivity . . . . . . . . . . . . . . . . .
11.5.2. Подкласс BearingFrameLayout класса FrameLayout . . . . . . . . . . .
11.5.3. Подкласс RouteOverlay класса Overlay . . . . . . . . . . . . . . . . . . .
11.6. Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
378
379
391
395
399
Глава 12. Приложение Slideshow: доступ к библиотекам Gallery и Media,
встроенные поставщики Content Providers, плеер MediaPlayer,
переходы между изображениями, пользовательские макеты
Custom ListActivity и шаблон View-Holder . . . . . . . . . . . . . . . . . . . . 401
12.1. Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
12.2. Тестирование приложения Slideshow App . . . . . . . . . . . . . . . . . . . . . . 405
12.3. Обзор применяемых технологий . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
12.4. Создание графического интерфейса пользователя
и файлов ресурсов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
12.4.1. Создание проекта . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
12.4.2. Использование стандартных пиктограмм Android
в графическом интерфейсе приложения . . . . . . . . . . . . . . . . . 411
12.4.3. Файл AndroidManifest.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
12.4.4. Разметка элементов ListView в ListActivity приложения
Slideshow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
12.4.5. Меню ListActivity приложения Slideshow . . . . . . . . . . . . . . . . . . 412
12.4.6. Макет компонента EditText, определенный в диалоговом окне
Set Slideshow Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
12.4.7. Макет компонента ListActivity из SlideshowEditor . . . . . . . . . . . . 413
12.4.8. Макет элементов ListView в SlideshowEditor . . . . . . . . . . . . . . . 414
12.4.9. Макет компонента Activity из SlideshowPlayer . . . . . . . . . . . . . . 414
12.5. Создание приложения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
12.5.1. Класс SlideshowInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
12.5.2. Подкласс Slideshow класса ListActivity . . . . . . . . . . . . . . . . . . . . 417
12.5.3. Подкласс SlideshowEditor класса ListActivity . . . . . . . . . . . . . . . . 428
12.5.4. Подкласс SlideshowPlayer класса ListActivity . . . . . . . . . . . . . . . 437
12.6. Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
Глава 13. Приложение Enhanced Slideshow App: сериализация данных,
фотографирование с помощью приложения Camera
и воспроизведение видеороликов с помощью VideoView . . . . . . 447
13.1. Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
13.2. Тестирование приложения Enhanced Slideshow App . . . . . . . . . . . . . . . 448
13.3. Обзор применяемых технологий . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
13.4. Создание графического интерфейса пользователя
и файлов ресурсов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452
13.4.1. Создание проекта . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452
13.4.2. Файл AndroidManifest.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
13.4.3. Измененная разметка SlideshowEditor из ListActivity . . . . . . . . . 454
13.4.4. Разметка PictureTaker класса Activity . . . . . . . . . . . . . . . . . . . . .
13.4.5. Измененная разметка SlideshowPlayer класса Activity . . . . . . . .
13.5. Создание приложения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13.5.1. Класс MediaItem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13.5.2. Класс SlideshowInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13.5.3. Класс Slideshow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13.5.4. Класс SlideshowEditor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13.5.5. Подкласс PictureTaker класса Activity . . . . . . . . . . . . . . . . . . . . .
13.5.6. Класс SlideshowPlayer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13.6. Резюме . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
454
454
455
455
456
458
464
467
474
480
Глава 14. Приложение Weather Viewer: веб-службы, документы JSON,
фрагменты, ListFragment, DialogFragment, ActionBar,
навигационная панель с вкладками, виджеты, объекты
Broadcast Intents и BroadcastReceivers . . . . . . . . . . . . . . . . . . . . . . 481
14.1. Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
14.2. Тестирование приложения Weather Viewer . . . . . . . . . . . . . . . . . . . . 484
14.3. Обзор применяемых технологий . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
14.4. Создание графического интерфейса пользователя и файлов
ресурсов приложения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488
14.4.1. Файл AndroidManifest.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488
14.4.2. Разметка класса WeatherViewerActivity, определенная
в файле main.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489
14.4.3. Использование файла arrays.xml для хранения заданных
по умолчанию городов и почтовых индексов . . . . . . . . . . . . . . 490
14.4.4. Разметка меню WeatherViewerActivity, определенная
в файле actionmenu.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
14.4.5. Разметка и конфигурирование виджета приложения
с помощью файла WeatherProvider . . . . . . . . . . . . . . . . . . . . . 491
14.5. Создание приложения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492
14.5.1. Класс WeatherViewerActivity . . . . . . . . . . . . . . . . . . . . . . . . . . 492
14.5.2. Класс CitiesFragment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508
14.5.3. Класс AddCityDialogFragment . . . . . . . . . . . . . . . . . . . . . . . . . 516
14.5.4. Класс ForecastFragment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
14.5.5. Класс SingleForecastFragment . . . . . . . . . . . . . . . . . . . . . . . . . 520
14.5.6. Класс ReadLocationTask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527
14.5.7. Класс ReadForecastTask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532
14.5.8. Класс FiveDayForecastFragment . . . . . . . . . . . . . . . . . . . . . . . . 537
14.5.9. Класс ReadFiveDayForecastTask . . . . . . . . . . . . . . . . . . . . . . . . 544
14.5.10. Класс DailyForecast . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
14.5.11. Класс WeatherProvider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 550
Название: Android для программистов. Создаем приложения
Автор: П. Дейтел, Х. Дейтел, Э. Дейтел, М. Морган
Издательство: Питер
Год: 2012
Страниц: 560
Язык: Русский
Формат: pdf, doc / rar
Размер: 22,08 Mb
Скачать Android для программистов. Создаем приложения П. Дейтел и др.
Наш сайт не предоставляет ссылки на скачивание |
Наш сайт не предоставляет ссылки на скачивание |
Наш сайт не предоставляет ссылки на скачивание |
Коментариев: 0 | Просмотров: 242 |
Ключевые теги: Android для программистов, Создаем приложения, Встроенные приложения, среда разработки Eclipse
Другие новости по теме:
Создание и продажа Android приложений (2013)(видеокурс) Разработка мобильных приложений под Android. Видеокурс 2012 YouWave for Android 2.0.0 YouWave for Android 2.1.2 YouWave for Android 2.3.2
Напечатать Комментарии (0)
Другие новости по теме:
Напечатать Комментарии (0)
ТЕГИ
2023, 2024, Album, Chillout, Club, dance, Deep House, Downtempo, electro, Electronic, EP, House, Lounge, Metal, Minimal, mp3, Music, Pop, Progressive, Radioshow, Rap, Rock, Single, Singles, Tech House, Techno, trance, Uplifting Trance, VA, VA-Album, Web, книги, литература, мп3, Музыка, отечественная, Скачать, софт, фантастика, фэнтези
Показать все теги
Показать все теги
КАЛЕНДАРЬ
ДРУЗЬЯ САЙТА
Новости
СЧЕТЧИКИ