В книгата се разглежда Android 8.x
Тази книга ще ви помогне да се научите да разработвате приложения за Android и ще ви покаже как да се възползвате от възможностите, които ви предлагат мобилните устройства, работещи под управлението на тази операционна система.
Първата част на книгата е посветена на предварителната подготовка. Последователно са разгледани инсталирането и конфигурирането на необходимото програмно осигуряване – JDK, Android Studio, Android SDK и емулаторът за Android. Отделено е нужното внимание и на решаването на някои непредвидени, срещащи се в практиката ситуации, свързани с проблемите, които могат да се срещнат при стартирането на емулатора или на приложенията.
От втората част ще научите каква е структурата на проектите за Android и кои са компонентите на приложенията и процесите в операционната система. Тук е разгледан и потребителският интерфейс с различните типове лейаут и основните му уиджети и диалогови прозорци. Обърнато е внимание на работата с графика, както и на възпроизвеждането на звук и видео. Разгледани са и начините за съхраняване на данните на приложенията.
Третата част е посветена на създаването на сложни приложения. Обяснено е междупроцесното взаимодействие на приложенията, обърнато е внимание на сървисите и нишките. Ще се научите как да работите с хардуера на телефона – различните видове датчици, камерата, Bluetooth и вибрацията. От тази част ще научите и как от вашето приложение може да избeрете номер, да покажете номера на входящото обаждане, да изпратите SMS съобщение, да създадете собствен браузър, как да получите информация за състоянието на телефона, ориентацията на екрана и др. Пак тук ще научите как да използвате видовете анимация и базите данни.
Последната четвърта част е посветена на емулатора Genymotion, дебъгването на приложенията и използването на App Inventor – среда за бърза разработка на приложения. Тук ще разберете и как да локализирате, подпишете и подготвите готовото приложение за разпространение чрез Google Play.
Съдържание
Въведение…7
Версии на Android…7
За кого е предназначена тази книга?…10
Част 1. Подготовка за работа
Глава 1. Инсталиране на среда за разработчика…11
1.1. Какво ви трябва, за да създадете приложение за Android?…11
1.2. Инсталиране на JDK…14
1.3. Инсталиране на средата за разработка Android Studio…17
1.4. Нива на API…24
1.5. Състав на Android SDK…25
Глава 2. Първо приложение за Android…26
2.1. Създаване на нов проект…26
2.2. Структура на приложението…31
2.3. Основен прозорец на Android Studio…31
2.4. Подготовка на емулатора на Android…34
2.5. Стартиране на приложението…39
2.5.1. В емулатора…39
2.5.2. На реално устройство…43
2.6.Проблеми при стартирането на приложение…43
2.6.1. Нюанси при стартирането на приложение в емулатора…43
2.6.2. Включване на режима на USB поправки на реално устройство…44
2.7. Управление на виртуалното устройство с помощта на командите на adb…44
2.8. Команден ред…47
2.8.1. Създаване на проект от команден ред…47
2.8.2. Стартиране на проект от команден ред…47
2.9. Как се прави снимка на екрана на виртуалното устройство…47
2.10. Подробно за системните изисквания…49
Част 2. Основи на програмирането за Android
Глава 3. Какво трябва да знаете за приложенията…50
3.1. Структура на проект за Android…50
3.2. Компоненти на приложенията за Android…59
3.3. Архитектура на Android…..60
3.4. Процеси в операционната система Android…62
3.5. Подробно за файла AndroidManifect.xml…64
3.6. Разрешения за Android приложения…67
Глава 4. Потребителски интерфейс…71
4.1. Лейаут…71
4.1.1. Редактор на лейаута…71
4.1.2. Различни типове лейаут…74
4.2. Основни уиджети на графичния интерфейс…94
4.2.1. Текстово поле…94
4.2.2. Бутони…100
4.2.3. Индикатор ProgressBar…112
4.2.4. Средства за показване на графика…117
Глава 5. Диалог с потребителя…119
5.1. Уведомления…119
5.1.1. Просто изскачащо уведомление…119
5.1.2. Уведомления в лентата на състоянията…122
5.1.3. Канали за известия в Android 8.0…127
5.1.4. Деклариране на действия на уведомлението…128
5.1.5. Бутони за действие…129
5.1.6. Изтриване на собствените уведомления…130
5.1.7. Звукова, светлинна и сигнализация чрез вибрация…130
5.1.8. Показване на дълъг текст…131
5.2. Диалогови прозорци…132
5.2.1. AlertDialog…132
5.2.2. DatePickerDialog: диалог за избор на дата…134
5.2.3. TimePickerDialog: диалог за избор на време…140
5.3. Меню…144
5.3.1. Дефиниране на менюто в XML-файл…145
5.3.2. Създаване на основно меню (меню с параметри)…147
5.3.3. Създаване на контекстно меню…150
5.3.4. Създаване на изскачащо меню…154
Глава 6. Двумерна графика…157
6.1. Клас Drawable…157
6.2. Клас TransitionDrawable: преход между изображения…161
6.3. Клас ShapeDrawable…166
Глава 7. Мултимедия…170
7.1. Какви мултимедийни формати поддържа Android…170
7.2. Работа със звук…171
7.2.1. Използване на MediaPlayer…171
7.2.2. Използване на MediaRecorder: запис на звук…173
7.2.3 Използване на AudioRecord/AudioTrack…174
7.3. Работа с видео…182
Глава 8. Съхраняване на данните на приложенията…185
8.1. Методи за достъп до данните…185
8.2. Непосредствен достъп до файловете…186
8.2.1. Текстови файлове…186
8.2.2. Файлове с изображения…189
8.3. Преференции: запис на настройките на приложението…190
Част 3. Създаване на сложно приложение
Глава 9. Междупроцесно взаимодействие на приложенията…199
9.1. Активити и намерения…199
9.2. Режими на стартиране singleInstance и singleTask…205
9.3. Съхраняване и възстановяване на състоянието на активити…206
9.4. Предаване на данни между активити…207
Глава 10. Сървиси и нишки…209
10.1. Въведение в нишките…209
10.1.1. Стартиране на нишка…209
10.1.2. Приоритет на нишките…211
10.1.3. Прекъсване на нишките…211
10.1.4. Клас Handler…211
10.2. Сървиси…215
10.3. Клас BroadcastReceiver…225
Глава 11. Хардуерът на смартфона…229
11.1. Датчици в смартфона…229
11.2. Работа с камера…233
11.3. Работа с Bluetooth…240
11.4. Вибрация…245
11.5. Избиране на номер…246
11.6. Показване номера на входящо обаждане…246
11.7. Получаване на информация за телефона…248
11.8. Ориентация на екрана…250
Глава 12. Достъп до Интернет и изпращане на SMS…252
12.1. Клас WebView…252
12.2. Клас SmsManager…254
Глава 13. Бази данни…258
13.1. Въведение в базите данни в Android…258
13.2. Подготовка на спомагателния клас…259
13.3. Работа с бази данни…265
13.3.1. Създаване на бази данни…265
13.3.2. Добавяне на записи…266
13.3.3. Четене на данни…267
Глава 14. Анимация…269
14.1. Анимация с преобразуване…269
14.2. Традиционна покадрова анимация…273
Част 4. Допълнителна информация за разработката на приложения
Глава 15. App Inventor – среда за бърза разработка на приложения…276
15.1. Какво е App Inventor…276
15.2. Първи стъпки с App Inventor…278
15.3. Основният екран на App Inventor…281
15.4. Проектиране на приложение…282
Глава 16. Дебъгване на приложения…287
16.1. Дебъгване чрез Android Studio…287
16.1.1. Избор на конфигурация за стартиране…287
16.1.2. Процесът на дебъгване…290
16.1.3. Профилиране…291
16.1.4. Изследване на файловата система на устройството…292
16.1.5. Logcat…293
16.2. Инструменти за дебъгване в Android SDK…295
16.2.1. Android Debug Bridge…295
16.2.2. Системни инструменти за дебъгване…295
16.2.3. Дебъгерът GDB и Android…296
Глава 17. Разпространяване на програмите чрез Google Play…298
17.1. Въведение в Google Play…298
17.2. Правила за качване на приложения в Google Play…300
17.3. Теория и практика…301
17.4. Регистрация на акаунт на разработчика…304
17.5. Конзолата Google Play Console…305
17.6. Подготовка на приложението за продажба…308
17.6.1. Тестване на различни устройства…308
17.6.2. Поддръжка на друга разделителна способност на екрана…309
17.6.3. Локализация…309
17.6.4. Икона за приложението…309
17.6.5. Подписване и подготвяне на .apk-файла за качване…310
Глава 18. Емулаторът Genymotion…313
18.1. Основни сведения за емулатора…313
18.2. Създаване на виртуално устройство…314
Заключение…319