5. Работа над итоговым проектом.

#### **Создание телефонного справочника**

Необходимо создать проект, в котором предусмотрена возможность работать с телефонным справочником. Необходимо хранить ФИО и номер телефона. Предусмотреть возможность поиска по ФИО, номеру. Организовать вывод всего справочника, с сортировками по ФИО. Так же необходима возможность удаления из справочника записи. Для хранения данных использовать базу данных SQLite. Примерный вариант формы приложения представлен на рис. 83.

#### **Запуск приложения на реальном устройстве**

Тестируя приложения на эмуляторе, мы никогда не будем точно знать, смогли ли мы написать нечто работоспособное. Чтобы действительно увидеть, что приложение будет работать на смартфоне, нужно запустить его на реальном устройстве. Возможность тестирования на смартфоне предоставляется ADB (Android Debug Bridge).

Android Debug Bridge (ADB) является универсальным инструментом командной строки, который способствует взаимодействию между средой разработки, в нашем случае Android Studio, и AVD-эмуляторами или физическими Android-устройствами для возможности запуска и отладки приложений.

ADB состоит из клиента, из сервера, который работает в качестве фонового процесса, на компьютере разработчика и из демона, который работает в качестве фонового процесса на каждом экземпляре эмулятора или реального устройства.

**Настройка Android-устройства для работы с ADB**

Для того, чтобы использовать ADB с устройством, подключенным по USB, необходимо разрешить USB-отладку в системных настройках телефона или планшета в разделе "Параметры разработчика" (название может отличаться). На некоторых устройствах этот раздел по умолчанию скрыт. Рассмотрим шаги в случае, когда нет нужного раздела настроек.

Зайдите в настройки,раздел "Об устройстве"

1. Найдите пункт "Номер сборки" и щёлкните по нему 7 раз. Должно появиться окно, оповещающее о том, что активирован режим разработчика.
2. Теперь в настройках должен появиться раздел параметров разработчика.
3. Включите в нём опцию "Отладка USB".

Теперь, когда вы подключаете устройство к компьютеру, в зависимости от модели у вас может появиться новый вариант подключения, рис. 84.

**Настройка ADB на Windows**

При настройке Windows, во-первых, убедитесь, что у вас установлен Google USB Driver. Зайдите в SDK Manager и найдите Google USB Driver, установите его в случае необходимости, рис. 85.

**Запуск приложения на реальном устройстве**

Всё тоже самое, что и в случае запуска на эмуляторе. Откройте в Android Studio наш проект, нажмите на зелёный треугольник, но в появившемся окне выбора устройства выберите ваш девайс, рис. 86.

Если написано, что девайс offline, переподключите USB к телефону и разрешите USB-отладку компьютеру, рис. 87.

**Построение APK-файла**

Так же можно не подключая телефон к компьютеру создать установочный **APK-файл**, который можно распространять на смартфоны и устанавливать ваше приложение.

Чтобы сгенерировать **APK-файл**, нужно в меню **Build** выбрать **Build APK**, рис. 88.

Далее появится сообщение, в котором нужно нажать Show in Explorer, рис. 89.

Или пройти в папке вашего проекта по пути \app\build\outputs\apk.

В этой папке будет располагаться файл app-debug.apk, это и есть ваш установочный APK-файл.

#### **Задачи для самостоятельной работы**

1. Программа "Заметки". Пользователь в программе создает текстовые заметки, они представлены в виде списка. Заметки можно редактировать.
2. Программа "Быки и коровы". Пользователь пытается отгадать загаданное четырехзначное число. После каждой попытки выставляется «оценка», указывая количество угаданного без совпадения с их позициями (количество «коров») и полных совпадений (количество «быков»). Игра идет до тех пор, пока число не будет отгадано.
3. Программа "Угадай число". Загадывается трехзначное число. Пользователь пытается отгадать число вводя свой вариант. На что получает варианты ответа: вы угадали, ваше число больше загаданного, ваше число меньше загаданного. Игра заканчивается, когда число будет отгадано.
4. Программа "Угадай слово". Пользователь пытается отгадать слово вводя свой каждый раз по одной букве. Если такая буква есть, то оно появляется в слове, если ее нету, то у вас теряется одна попытка. Если вы допустили 5 ошибок раньше, чем отгадали слово полностью, то вы проиграли.
5. Программа "Крестики-нолики". Девять кнопок, первое нажатие – крестик, второе – нолик, до выигрыша, правила знают все.
6. Программа "Калькулятор треугольника". Имеется несколько полей, характеризующих треугольник (длины трех сторон, три угла в градусах). Из информации по этим полям можно посчитать площадь и периметр треугольника, sin и cos, и т.д. Когда вводятся данные в поля, если их достаточно для расчетов каких-то значений, то эти значения вычисляются. Дополнительное оповещение об ошибках, недостающих значениях
7. Программа "Смешивание цветов". Выбираем два цвета. Двигаем ползунок, показывающий пропорции между двумя цветами для создания третьего. Третий цвет отображается в фоне приложения
8. Программа "Что есть поесть?". Два списка: продукты и рецепты (у рецептов указываются продукты). В начале отмечается, какие продукты есть в холодильнике (три продукта). На основе выбора показываются рецепты, первыми идут те, для которых достаточно этих продуктов, потом те, для которых нужны ещё другие.
9. Программа "Шифрование/Дешифрование данных". Вводим текст и ключ (ключ – целое число от -5 до 5). Применяем к тексту "шифр Цезаря" (сдвигаем по алфавиту каждый символ на число, указанное в ключе). Также должна иметься возможность из шифра восстановить текст.
10. Игра "Ну-ка, повтори". На экране – три кнопки. Ход: кнопки подсвечиваются в определенном порядке, после чего игрок должен повторить. На следующем ходу к этой последовательности добавляется ещё одно нажатие. Игра заканчивается выигрышем, если игрок дошел до 20 кнопок и повторил их. Последовательность генерируется в начале игры. Также кроме подсветки можно использовать звуковые сигналы.

#### **Рекомендуемые источники**

1. Александр Климов. Освой программирование играючи. URL: http://developer.alexanderklimov.ru/android/index.php
2. Официальный сайт AndroidStudio. Android Studio The Official IDE for Android. URL: http://developer.android.com/sdk/index.html
3. Start Android - учебник по Android для начинающих и продвинутых. URL: http://startandroid.ru/ru/
4. Android. Работа с базой данных SQLite. URL: http://devcolibri.com/357
5. Основы языка разметки гипертекста – HTML. URL: http://about-html.narod.ru/
6. Основы языка разметки гипертекста HTML - Основы HTML. Сайт о правильных сайтах. URL: http://www.cssblok.ru/osnova/index4.html
7. Расширяемый язык разметки XML. Технологии на основе XML. Что такое XML? URL: http://www.4stud.info/web-programming/xml.html
8. Расширяемый язык разметки (XML) 1.0 (вторая редакция). Рекомендация W3C от 6 октября 2000 года. URL: http://www.solarix.ru/for\_developers/cpp/xml/xml\_1\_0.shtml
9. Синтаксис и основные понятия языка XML, создание валидных документов. URL: http://www.script-coding.com/XML.html
10. Основы XML для начинающих пользователей. Введение в правильную разметку. URL: https://www.ibm.com/developerworks/ru/library/x-newxml/
11. Школы Консорциума W3C. Семейство XML. URL: http://xml.nsu.ru/xml/xml\_home.xml