Разработка мобильных приложений. Первые шаги
Покупка
Издательство:
Лаборатория знаний
Под ред.:
Тарапата Виктор Викторович
Год издания: 2019
Кол-во страниц: 338
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-00101-640-3
Артикул: 718137.01.99
Эта книга — практическое руководство для тех, кто уже делает первые шаги в разработке мобильных приложений под Android или пока только мечтает об этом. С ней вы легко освоите основы разработки, познакомитесь со средой разработки Android Studio, создадите собственные приложения, которыми можно поделиться с друзьями и со всем миром. Для дополнительного образования в школе и дома. Будет полезна учащимся 8—11 классов школы, учителям информатики, руководителям кружков, студентам и всем, кто хочет войти в мир Android-разработки.
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.03: Прикладная информатика
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
Москва Лаборатория знаний 2019 М. А. Федотенко ◀ Ш К О Л А Ю Н О Г О П Р О Г Р А М М И С Т А ▶ Разработка мобильных приложений Первые шаги Под редакцией Электронное издание В. В. Тарапаты
УДК 004.9 ББК 32.97 Ф34 С е р и я о с н о в а н а в 2018 г. Федотенко М. А. Ф34 Разработка мобильных приложений. Первые шаги [Электронный ресурс] / М. А. Федотенко ; под ред. В. В. Тарапаты. — Эл. изд. — Электрон. текстовые дан. (1 файл pdf : 338 с.). — М. : Лаборатория знаний, 2019. — (Школа юного программиста). — Систем. требования: Adobe Reader XI ; экран 10". ISBN 978-5-00101-640-3 Эта книга — практическое руководство для тех, кто уже делает первые шаги в разработке мобильных приложений под Android или пока только мечтает об этом. С ней вы легко освоите основы разработки, познакомитесь со средой разработки Android Studio, создадите собственные приложения, которыми можно поделиться с друзьями и со всем миром. Для дополнительного образования в школе и дома. Будет полезна учащимся 8–11 классов школы, учителям информатики, руководителям кружков, студентам и всем, кто хочет войти в мир Android-разработки. УДК 004.9 ББК 32.97 Деривативное электронное издание на основе печатного аналога: Разработка мобильных приложений. Первые шаги / М. А. Федотенко ; под ред. В. В. Тарапаты. — М. : Лаборатория знаний, 2019. — 335 с. : ил. — (Школа юного программиста). — ISBN 978-5-00101-192-7. В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных техническими средствами защиты авторских прав, правообладатель вправе требовать от нарушителя возмещения убытков или выплаты компенсации ISBN 978-5-00101-640-3 c○ Лаборатория знаний, 2019 2
Оглавление Оглавление От автора . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Благодарности . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Загрузка и установка Android Studio . . . . . . . . . . . . . . . . . . . . . . 9 Разработка Android-приложений . . . . . . . . . . . . . . . . . . . . . . . . . 13 Глава 1. «Hello, world!» или первое приложение . . . . . . . . . . . 14 1.1. Запуск Android Studio и создание проекта . . . . . . . . . . 14 1.2. Знакомство с интерфейсом Android Studio . . . . . . . . . . 20 1.2.1. Структура проекта Android Studio . . . . . . . . . . . . 22 1.3. Работа в режиме дизайна . . . . . . . . . . . . . . . . . . . . . . . . . 27 1.3.1. TextView — текстовые элементы . . . . . . . . . . . . . 27 1.3.2. Resources — библиотеки ресурсов . . . . . . . . . . . . 30 1.3.3. ID — уникальный идентификатор . . . . . . . . . . . . 32 1.3.4. ImageButton — изображение-кнопка . . . . . . . . . . 34 1.4. Работа в режиме кода . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 1.4.1. AndroidManifest — файл манифеста . . . . . . . . . . 47 1.5. Сборка проекта . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 1.6. Тестирование приложения. . . . . . . . . . . . . . . . . . . . . . . . . 50 1.6.1. Файл APK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 1.6.2. Эмулятор . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 1.6.3. USB-отладка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Итоги главы 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Глава 2. Основы проектирования интерфейса . . . . . . . . . . . . . . 62 2.1. Макеты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 2.1.1. FrameLayout — расположение элементов друг над другом . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 2.1.2. LinearLayout (vertical) — линейное расположение элементов по вертикали . . . . . . . . 70 2.1.3. LinearLayout (horizontal) — линейное расположение элементов по горизонтали . . . . . . 73 2.1.4. GridLayout — сеточное расположение элементов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 2.1.5. Строковые ресурсы . . . . . . . . . . . . . . . . . . . . . . . . . 81 2.2. Ориентация экрана . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 2.3. Разработка приложений для планшетов . . . . . . . . . . . . . 87 2.4. Приложение «Калькулятор» . . . . . . . . . . . . . . . . . . . . . . . 90 Итоги главы 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 Глава 3. Способы оповещения пользователей . . . . . . . . . . . . . 104 3.1. Всплывающие сообщения . . . . . . . . . . . . . . . . . . . . . . . . 104 3.2. Диалоговые окна . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 3.2.1. Диалоговые окна с множественным выбором . . 113
Оглавление 3.3. Уведомления . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114 3.3.1. Удаление уведомлений . . . . . . . . . . . . . . . . . . . . . 118 3.3.2. Большая иконка . . . . . . . . . . . . . . . . . . . . . . . . . . 119 3.3.3. Приоритет уведомлений . . . . . . . . . . . . . . . . . . . . 119 3.3.4. Звуковое и световое оповещение . . . . . . . . . . . . . 120 3.3.5. Уведомление, отображающее ход выполнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 3.3.6. Уведомления на экране блокировки . . . . . . . . . 121 3.4. Звуковые эффекты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 3.5. Приложение «Маленький принц» . . . . . . . . . . . . . . . . . 126 Итоги главы 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139 Глава 4. Дизайн и юзабилити мобильных приложений . . . . 140 4.1. Дизайн и юзабилити . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 4.2. Логотип приложения . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142 4.2.1. Назначение и роль логотипа . . . . . . . . . . . . . . . . 142 4.2.2. Виды логотипов . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 4.2.3. Создание логотипа . . . . . . . . . . . . . . . . . . . . . . . . . 144 4.2.4. Установка логотипа приложения . . . . . . . . . . . . 151 4.3. Загрузочный экран приложения . . . . . . . . . . . . . . . . . . 152 4.3.1. Анимация элементов и класс AnimationUtils . . 157 4.3.2. ProgressBar — индикатор загрузки . . . . . . . . . . 159 4.4. Темы и стили . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 4.4.1. Стили . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 4.4.2. Темы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164 4.5. Меню. Виды меню . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 4.5.1. Меню-шторка . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175 4.5.2. Фрагменты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178 4.5.3. Главное меню . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 4.6. Навигация. Переключение между несколькими экранами . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184 Итоги главы 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194 Глава 5. Работа с текстом, изображениями и жестами . . . . . 195 5.1. Работа с текстом . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195 5.1.1. Длинный текст . . . . . . . . . . . . . . . . . . . . . . . . . . . 196 5.1.2. ScrollView — контейнер с возможностью прокрутки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198 5.1.3. ScrollingActivity — прокручиваемый экран . . . 201 5.2. Обработка касаний и жестов . . . . . . . . . . . . . . . . . . . . . 204 5.2.1. Двойное нажатие . . . . . . . . . . . . . . . . . . . . . . . . . . 206 5.2.2. Долгое нажатие . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 5.2.3. Отпущенное одиночное нажатие . . . . . . . . . . . . . 207 5.2.4. Скроллинг и свайпинг . . . . . . . . . . . . . . . . . . . . . 208 5.3. Работа с камерой . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Оглавление 5.4. Приложение «Скетчбук творческой личности» . . . . . . 212 Итоги главы 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 Глава 6. Интернет и базы данных . . . . . . . . . . . . . . . . . . . . . . 226 6.1. Интернет . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226 6.2. Базы данных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228 6.2.1. Подключение БД к проекту Android Studio . . . 238 6.3. Инструмент Firebase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 6.4. Приложение «Посторонним вход воспрещен» . . . . . . . 249 Итоги главы 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 Глава 7. Сторонние приложения и встроенные инструменты . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 7.1. Работа со сторонними приложениями . . . . . . . . . . . . . . 263 7.1.1. Телефон . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 7.1.2. Браузер . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264 7.1.3. Электронная почта . . . . . . . . . . . . . . . . . . . . . . . . 264 7.1.4. Магазин приложений Google Play . . . . . . . . . . . 265 7.1.5. Фонарик . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266 7.1.6. Switch — переключатель . . . . . . . . . . . . . . . . . . . 268 7.2. Конвертация сайта в мобильное приложение . . . . . . . 270 7.3. Чтение QR-кодов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275 7.4. Работа с картами Google . . . . . . . . . . . . . . . . . . . . . . . . . 283 7.4.1. Установка маркера . . . . . . . . . . . . . . . . . . . . . . . . 287 7.4.2. Изменение типа и настроек карты . . . . . . . . . . . 289 7.4.3. Определение текущего местоположения . . . . . . 290 7.5. Приложение «Вокруг света за 80 дней» . . . . . . . . . . . . 291 Итоги главы 7 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298 Глава 8. Итоговый проект «Общалка». Уровень: продвинутый Android-разработчик . . . . . . . . . . . . . . . . .299 Итоги главы 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312 Заключение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 Приложения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .315 Магазины приложений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315 Девять шагов к идеальному приложению . . . . . . . . . . . . . . 318 Спортивное ориентирование по проекту Android Studio . . 319 Исправление типичных ошибок . . . . . . . . . . . . . . . . . . . . . . . 321 Глоссарий . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
От автора Посвящается Виталию Ивановичу Кулишу Кажется, что сегодня буквально все можно сделать мобильным приложением. А вы как раз давно хотели стать разработчиком мобильных приложений, но не знали, с чего начать? Смотрите на многочисленные приложения и думаете, что это сложно? Легко ли создавать приложения для AndroidТМ?1 Если задать этот вопрос в Интернете — большинство ответов будет «сложно». Но в магазине приложений Google Play миллионы приложений. Если бы это было очень сложно, их было бы тысячи; невероятно сложно — сотни, причем их разработка была бы «по плечу» только крупным компаниям. Но их миллионы! А значит, вы вполне можете стать одним из сотен тысяч разработчиков по всему миру и создать новый продукт, который будут использовать и любить миллионы пользователей. Не стоит оглядываться на пессимистов! В чем отличие этой книги от остальных книг по And roidразработке? Она проста и понятна для начинающих, яркая и увлекательная. Следуя подробным пошаговым инструкциям, вы уже на первом уроке создадите приложение, которое можно запустить и которым можно поделиться с друзьями и не только. Думаете, нужно заранее досконально изучить несколько языков программирования? Нет, для начала будет достаточно понимания их основ, которое вы получите в процессе чтения данной книги2. При этом вы сможете называться настоящими Android-разработчиками, в отличие от тех, кто пользуется различными конструкторами приложений. Вам не придется на протяжении всей книги идти к одному-единственному результату. Результатом изучения нескольких уроков будет готовый продукт (калькулятор, скетчбук или викторина), который можно совершенствовать и далее3. А в конце вы создадите собственный мессенджер и, при желании, сможете развить его до уровня WhatsApp или Viber. Этому мало где учат. Далеко не во всех, даже ведущих, университетах есть курсы Android-разработки, а значит, с уверенно 1 Android является товарным знаком Google Inc. 2 Основы программирования также можно изучить с помощью книг серии «Школа юного программиста» издательства «Лаборатория знаний». 3 Примеры приложений из этой книги можно найти на ее странице на сайте издательства «Лаборатория знаний».
Благодарности стью можно сказать, что большинство разработчиков — самоучки. Что же мешает вам? Задача этой книги — дать вам основные инструменты, с помощью которых вы сами сможете создать собственный ВКонтакте, или… Кто знает? Успехов вам, будущие Android-разработчики! Благодарности Искренняя признательность профессору МПГУ Надежде Николаевне Самылкиной, благодаря которой написание этой книги стало возможным. Благодарю моего научного руководителя, Марину Леонидовну Соболеву, за ее поддержку и бесценные советы. Спасибо моим любимым студентам за проявленный интерес и помощь в испытании проектов этой книги на практике. Отдельная благодарность моим коллегам, Виктору Викторовичу Тарапате и Алене Антоновне Салаховой, а также замечательному коллективу издательства «Лаборатория знаний» — всем, кто работал с рукописью и способствовал ее улучшению. И самая главная благодарность всем, кто прочитает эту книгу. Сердечно благодарю мою дорогую семью за всестороннюю помощь и веру в мои силы.
Введение Эта книга посвящена основам разработки мобильных приложений под Android в интегрированной среде разработки1 Android Studio. Android Studio — официальная среда разработки мобильных приложений для устройств с операционной системой Android от компании Google. Это доступный и универсальный инструмент. Он обладает широкими возможностями и достаточно прост в освоении. Работа в Android Studio с помощью этой книги станет намного проще и гораздо интереснее. Например, в разработке мобильных приложений под Android задействованы сразу четыре языка программирования и разметки (Java, XML, SQL и Groovy), однако мы не будем тратить время на изучение основ каждого языка в отдельности — все произойдет в процессе обучения разработке мобильных приложений, а на выходе получится довольно внушительный набор IT-навыков. Глава 1 этой книги мало похожа на стандартную главу учебника, в ней нет блока вводной теории, вопросов, дополнительных заданий. Она содержит только один урок, скорее напоминающий руководство пользователя IDE Android Studio. Задача главы 1 — провести краткий экскурс в мир разработки мобильных приложений, показать весь процесс от запуска Android Studio до запуска приложения на смартфоне. Все последующие главы содержат по несколько уроков. В каждом уроке создается мини-приложение с набором основных функций современных мобильных приложений. После прохождения нескольких уроков изученные функции объединяются в одно полноценное приложение. Завершает книгу итоговый проект, в котором мы с помощью всех полученных навыков создадим собственный мессенджер. Развернутое оглавление книги поможет легко ориентироваться в расположении описания изученных функций. Если в процессе реализации десятого приложения мы забудем, как создавать АРК, достаточно заглянуть в оглавление и глоссарий. Его можно найти в Приложениях, так же как Руководство по исправлению основных ошибок и подробное описание структуры проекта Android Studio. Готовы стать настоящим Android-разработчиком? Давайте пройдем этот путь вместе! 1 Интегрированная среда разработки (Integrated development environment, IDE) — среда разработки, которая уже включает в себя все необходимые для разработки средства, такие как компилятор, текстовый редактор, средство автоматизации сборки и отладчик.
Загрузка и установка Android Studio Интегрированная среда разработки Android Studio является свободно распространяемой. Текущая версия доступна для загрузки на официальном сайте разработчика https://developer.android. com/studio/index.html На открывшейся странице сайта есть кнопка Download Android Studio (скачать Android Studio). Она запускает скачивание текущей версии для 64-разрядной Windows: Если на компьютере установлена другая операционная система, нужно пролистать страницу вниз и найти раздел System Requirements (системные требования). В нем содержатся заявленные разработчиком системные требования: Для Windows: Microsoft® Windows® 7/8/10 (32- или 64-разрядная версия); минимум 3 Гб ОЗУ (рекомендуется 8 Гб) плюс 1 Гб для эмулятора Android (виртуального устройства для тестирования приложений); минимум 2 Гб доступного места на диске (рекомендуется 4 Гб); минимальное разрешение экрана 1280 800.
Загрузка и установка Android Studio Для Mac OS: Mac® OS X® 10.10 (Yosemite) или выше; минимум 3 Гб ОЗУ (рекомендуется 8 Гб) плюс 1 Гб для эмулятора Android; минимум 2 Гб доступного места на диске (рекомендуется 4 Гб); минимальное разрешение экрана 1280 800. Для Linux: рабочий стол GNOME или KDE; библиотека GNU С (glibc) 2.19 или более поздней версии; минимум 3 Гб ОЗУ (рекомендуется 8 Гб) плюс 1 Гб для эмулятора Android; минимум 2 Гб доступного места на диске (рекомендуется 4 Гб); минимальное разрешение экрана 1280 800. Перед разделом системных требований идет раздел Android Studio downloads (загрузки), в котором представлены ссылки для скачивания Android Studio для разных платформ:Выбираем свою операционную систему и скачиваем соответствующий установочный пакет из поля Android Studio package (пакет Android Studio).