Полный список
Для того, чтобы тестировать приложения, нам понадобится Android Virtual Device (AVD). Это эмулятор Android-смартфона, на который мы сможем устанавливать созданные нами приложения, и запускать их там. Давайте его создадим.
Урок обновлен 04.06.2017
На прошлом уроке мы установили среду разработки и Android SDK.
Теперь наконец-то мы можем создать наше первое приложение и посмотреть, как оно работает.
Чтобы создать приложение, нам нужно в Android Studio создать проект. При создании проекта, в нем создается модуль. В этом модуле мы рисуем экраны приложения и пишем код. И при запуске этого модуля мы получаем готовое приложение. Поэтому модуль по сути и является приложением. А проект — контейнер для модуля.
Т.е. в самом простом случае структура проекта такова:
Есть проект, и в нем есть модуль. При запуске проекта запускается модуль и мы получаем Android-приложение, которое создано в этом модуле.
В этом случае: один проект = одно Android-приложение (один модуль).
Но в одном проекте может быть несколько модулей. Да и проектов можно создать несколько.
Здесь в первом проекте созданы два модуля, а во втором проекте – три модуля.
При запуске какого-либо проекта необходимо будет указать, какой именно модуль вы хотите запустить. И каждый модуль является отдельным Android-приложением.
Т.е. в этом случае: один проект = несколько Android-приложений (несколько модулей).
Пока не будем вдаваться в детали, какая из предложенных схем лучше и удобнее. Для прохождения уроков можно создать один проект, и в нем создавать модули для каждого урока. Либо можно создавать отдельный проект, например, на каждые 10 уроков. Можно вообще создавать отдельный проект на каждый урок.
Я думаю, что мы начнем с варианта: один проект под все уроки. А со временем, как освоитесь, сами решите, какой вариант вам удобнее.
Давайте создадим проект. Открываем Android Studio. Ярлык для запуска должен быть в меню пуск. Либо вы можете открыть папку, куда устанавливали Android Studio на прошлом уроке. В подпапке bin должен быть EXE-файл.
Открылась среда разработки. Жмем Start a new Android Studio project.
Появилось окно создания проекта. Давайте заполнять.
Application name – имя проекта. Оно будет отображаться в списке проектов при открытии Android Studio. Напишем здесь Android lessons (т.е. Android уроки).
Company Domain – имя сайта, пишем startandroid.ru.
Package name – это понятие из Java, подробно можно посмотреть здесь. Вкратце – это префикс для имени классов нашего приложения. Как видите, пакет автоматически составился из имени сайта и имени проекта. Его всегда можно отредактировать вручную нажав на ссылку edit справа.
Project location – папка на компе, где будут находиться все файлы проекта. Мы на прошлом уроке создавали папку android, куда установили Android Studio и SDK. Там же создайте папку AndroidStudioProjects – в этой папке будем хранить все проекты Android Studio. И в ней создайте папку Androidlessons для нашего текущего проекта.
Скорее всего сейчас ничего не понятно. Это нормально, не волнуйтесь. В каждом уроке я буду подсказывать, что заполнять в этих полях, и со временем понимание придет.
Визард спрашивает под какую платформу будем кодить и Minimum SDK (минимальная версия Android, на которой можно будет запустить приложение). Оставляем все как есть.
Визард может подгрузить необходимые ему компоненты.
Далее выберите Empty Activity.
Здесь ничего не меняем. Пока что нам нет необходимости знать, зачем все это нужно.
Далее открывается студия. После открытия, она может показывать подсказки.
Если они вам не нужны, выключайте чекбокс.
Жмем Close.
Но снизу виден прогресс бар. Это означает, что еще выполняются какие то действия, и надо подождать.
И в итоге проект открывается
Нам сразу открыты на редактирование некоторые файлы. В них мы ничего менять не будем, в этом пока нет необходимости.
В левой части мы видим слово app – это модуль. По умолчанию при создании проекта создается модуль app. Нам он не интересен, т.к. мы будем создавать свои модули. Но пусть он остается, удалять его я вам не советую. Тот визард, который мы только что прошли при создании проекта, в основном касался как раз этого модуля.
Итак, проект создан. Теперь создадим в проекте свой модуль. Повторюсь, что почти для каждого урока мы будем создавать модуль в этом проекте. Сейчас создадим модуль (приложение) для этого текущего урока. Эта процедура будет частично похожа на создание проекта, но с небольшими отличиями.
Чтобы создать модуль – в меню выбираем File -> New -> New module
Тип модуля выбираем Phone and Tablet Application
Application/Library name – непосредственно имя приложения, которое будет отображаться в списке приложений в смартфоне. Пишем тут FirstProject.
Module name – это название модуля. Т.е. это название будет отображаться слева в списке модулей, там, где сейчас есть app. Давайте придумаем шаблон для названия модулей.
На номер урока выделим три цифры, на номер проекта – одну. Также, будем добавлять название приложения — FirstProject. И все это напишем маленькими буквами и без пробелов. Получится такое имя модуля: p0031firstproject.
Package name – имя пакета отредактируем вручную, нажав edit справа. Оставим там ru.startandroid и добавим точку и имя модуля.
Minimum SDK оставляйте без изменений.
Далее выберите Empty Activity.
Здесь ничего не меняем
Жмем Finish и ждем.
Через какое-то время модуль будет создан и мы увидим его в списке слева. Это p0031firstproject — значение, которое мы указали в поле Module name.
Можно раскрыть этот модуль и посмотреть его содержимое.
Вкратце пройдемся по интересующим нас элементам
Файл AndroidManifest.xml – манифест или конфиг-файл приложения
В папке java и ее подпапках будет весь, написанный нами, код приложения
Папка res используется для файлов-ресурсов различного типа.
Все это мы будем в дальнейшем использовать, и станет понятнее, что и зачем нужно.
Давайте наконец-то запустим наше первое приложение! Для этого надо выбрать соответствующий ему модуль в выпадающем списке сверху
И жмем (чуть правее списка) кнопку с зеленым треугольником (либо комбинацию Shift+F10).
Чтобы запустить приложение, нужно какое-нить реальное Android-устройство или эмулятор.
У нас пока не на чем запускать приложение. Можете подключить шнуром реальное устройство, и оно здесь появится (если не возникнет проблем с драйверами или настройками устройства).
Либо можно создать эмулятор. Жмем Create New Virtual Device
Здесь можно выбрать форм-фактор устройства. Оставляйте то, что выбрано по умолчанию.
Жмем Next
Далее переходите на вкладку x86 Images и там должен быть образ, в названии которого нет слова Download. Т.е. он уже загружен и мы можем его использовать.
В данном случае на эмулятор будет установлен Android версии 7.1.1. Если вам нужна другая версия, то загружайте ее и используйте.
Далее нам предлагают указать название эмулятора и поменять его настройки. Оставляем все как есть
Жмем Finish
В итоге в списке устройств появляется только что созданный эмулятор и мы можем использовать его для запуска приложения.
Жмем Ok
Через какое-то время (вплоть до нескольких минут) появится эмулятор
И в нем начнет запускаться Android
И в итоге запустится наше приложение
Название в заголовке — FirstProject. Именно его мы указывали при создании приложения.
Т.е. вы создали и запустили ваше первое приложение, с чем вас и поздравляю) Впереди сотни таких приложений и запусков.
Если эмулятор не показал ваше приложение, то убедитесь, что Android Studio «видит» этот эмулятор. Для этого снизу слева нажмите вкладку Android Monitor
И в списке устройств чуть выше должен быть виден эмулятор Nexus_5X_API_25
Если эмулятор есть в списке, а приложение не отобразилось, то попробуйте снова запустить приложение, нажав зеленый треугольник (Shift+F10).
Если эмулятора в списке нет, то закройте эмулятор и попробуйте снова запустить приложение.
Этот урок был обновлен в июне 2017. А многие последующие уроки были написаны аж в 2011-2012. Поэтому скриншоты в них могут отличаться от ваших. Это нормально.
Также, должен предупредить, что я делал и тестировал первые уроки под Android версии 2.3.3. Это указано в начале уроков. Но это вовсе не означает, что уроки уже безнадежно устарели и читать их смысла нет никакого. Код под 2.3.3 и 7.1.1 в подавляющем большинстве случаев абсолютно один и тот же. В новых версиях Android добавляются новые компоненты, а прошлые обычно остаются без изменений и достаточно редко меняются или объявляются устаревшими.
Если у вас открыт проект и вы хотите снова увидеть стартовое окно Android Studio, в меню выберите File > Close Project.
Вы увидите стартовое окно, слева будет список ваших проектов.
Если у вас имя пользователя русскими буквами, то могут возникнуть проблемы. Как их решить, можно прочесть на форуме в ветке этого урока.
Если строка выше не помогла, то попробуйте еще такое решение.
На следующем уроке будем добавлять в наше приложение различные элементы и менять их свойства.
Присоединяйтесь к нам в Telegram:
— в канале StartAndroid публикуются ссылки на новые статьи с сайта startandroid.ru и интересные материалы с хабра, medium.com и т.п.
— в чатах решаем возникающие вопросы и проблемы по различным темам: Android, Kotlin, RxJava, Dagger, Тестирование
— ну и если просто хочется поговорить с коллегами по разработке, то есть чат Флудильня
— новый чат Performance для обсуждения проблем производительности и для ваших пожеланий по содержанию курса по этой теме
Источник
Эмуляторы в Android
В последнее время эмуляция ОС Android на компьютере стала очень популярной. Пользователям зачастую необязательно знать принципов работы, достаточно просто скачать из Интернета специальный эмулятор с уже установленной ОС на борту и запустить его, благо эмуляторов сейчас существует большое множество. Единственное, что должен учесть пользователь, это то, соответствует ли его компьютер системным требованиям эмулятора.
Существует много разных причин, по которым люди используют эмуляторы Android. Кто-то играет на эмуляторе в мобильные игры, кто-то пользуется возможностями Android, недоступными на реальном устройстве, а кому-то просто нравится пользоваться мобильными приложениями на своём компьютере. Для разработчиков приложений эмуляторы тоже очень полезны, поскольку позволяют тестировать приложение на разных конфигурациях и отлаживать его работу.
Главным преимуществом эмулятора при тестировании является то, что он даёт мгновенный доступ к любой версии Android или любому устройству, на котором нужно проверить работу приложения. Кроме того, разработчику не нужно волноваться по поводу того, что эмулятор перестанет корректно работать — в этом случае достаточно будет просто сбросить его до базовых параметров.
К недостатку такого подхода можно отнести то, что у разработчика нет возможности увидеть, как приложение действительно выглядит на устройстве, например, с AMOLED дисплеем. Также у эмуляторов нет доступа к некоторым аппаратным функциями реальных устройств.
В этой статье мы рассмотрим, как работать с родным эмулятором от Android Studio, а также рассмотрим несколько сторонних эмуляторов.
Эмулятор Android Studio
Эмулятор Android от Google на протяжении этих лет прошёл долгий путь. Когда-то он был проклятием в жизни разработчика, демонстрируя самые главные недостатки среды разработки. Безумно медленный инструмент с огромным нереализованным потенциалом, призванным улучшить жизнь разработчика.
Но за последние годы Google сильно потрудился над своим эмулятором и превратил его в один из лучших инструментов для разработки: быстрый, гибкий и полезный при тестировании и отладке приложений.
Эмулятор Android может имитировать работу смартфона, планшета, часов Wear OS и устройств Android TV. Он содержит в себе конфигурации популярных типов устройств и работает быстрее, чем реальное устройство, подключенное по USB.
С его помощью можно имитировать входящие звонки и сообщения, указывать местоположение, тестировать различные скорости мобильного интернета, повороты экрана и различные датчики, как у реального устройства. Однако не все возможности поддерживаются эмулятором, в частности он не поддерживает следующее:
- Bluetooth
- NFC
- Работу с SD-картой
- Работу с наушниками
- USB
Поэтому если вам нужно протестировать что-то из вышеперечисленного, то придётся воспользоваться реальным устройством, в остальном же эмулятор полностью повторяет функционал.
Примечание: что касается эмулятора Wear OS, то он не поддерживает кнопку Обзор (Последние приложения), D-pad и датчик отпечатков пальцев.
Каждый экземпляр эмулятора использует AVD (Android Virtual Device). AVD — это конфигурация, которая определяет характеристики устройства, который нужно эмулировать: форм-фактор, версию Android и различные характеристики. Он содержит следующие компоненты:
- Профиль устройства
Профиль устройства определяет характеристики устройства, которое нужно эмулировать. Менеджер AVD содержит в себе несколько предустановленных профилей (такие устройства, как Nexus и Pixel), но также позволяет создавать свои собственные. Кроме того, некоторые профили включают Google Play, такие профили полностью совместимы с CTS и позволяют использовать образы системы с установленным приложением Google Play. - Образ системы
Содержит нужную версию Android. Для полноты тестирования лучше всего создавать AVD для каждой версии Android, которую поддерживает приложение. Некоторые образы системы помечены надписью Google APIs: это означает, что они включают в себя доступ к сервисам Google Play. Если же образы помечены как Google Play, то кроме сервисов Google Play они включают также само приложение Google Play. - Область хранения
AVD имеет специальную область хранения на компьютере. В ней хранятся пользовательские данные, данные устройства, такие как установленные приложения и настройки, а также эмулированная SD-карта. Если есть такая необходимость, с помошью Менеджера AVD можно удалять с эмулятора пользовательские данные, приводя ему к «заводскому» виду. - Скин
Скин нужен для того, чтобы задать устройству внешний вид. Менеджер AVD содержит несколько предустановленных скинов, также имеется возможность использовать сторонние скины.
Для того, чтобы создать новый AVD, нужно запустить AVD Manager. Для этого нужно в Android Studio в меню выбрать Tools — AVD Manager. Откроется окно менеджера, в котором будет отображаться список созданных эмуляторов.
Чтобы создать новый эмулятор, нужно нажать на Create Virtual Device в Менеджере AVD. Откроется окно, в котором будет предложено выбрать тип устройства и профиль.
После того, как будет выбран профиль, нужно нажать на Next для перехода далее. Здесь нужно выбрать, какой образ системы использовать.
На вкладке Recommended перечислены рекомендуемые образы системы. Другие вкладки содержат более полный список доступных образов. Справа приводится информация о выбранном образе (уровень API, версия).
Примечание: образы x86 работают на эмуляторе быстрее всего.
Уровень API важен, поскольку если он будет меньше, чем тот, что указан в манифесте приложения, приложение не будет установлено на этот эмулятор.
Если образ ранее не был скачан, рядом с названием появится кнопка Download, нажатие на которую начнёт процесс скачивания. Для скачивания образа потребуется доступ к Интернету.
Чтобы перейти на следующий этап, нужно нажать Next. В новом окне будет предложено изменить дополнительные свойства AVD (название AVD, ориентацию экрана).
После нажатия на Show Advanced Settings откроются дополнительные настройки, в которых можно изменить следующее:
- Фронтальную/основную камеру. Вместо эмуляции изображения есть возможность использовать в качестве камеру подключённую вебкамеру.
- Скорость и качество интернет-соединения.
- Способ загрузки. Если выбрать Quick Boot, то эмулятор будет сохранять текущее состояние при выключении и загружать его при включении. Cold Boot — холодный старт.
- Количество выделенной оперативной памяти и места на диске.
- Включение\отключение внешнего вида эмулятора.
- Включение\отключение ввода с клавиатуры.
Важно! Использование Quick Boot может сильно замедлить работу компьютера, если у него будет недостаточно свободной оперативной памяти для загрузки-сохранения данных. В этом случае лучше использовать Cold Boot.
После того, как AVD будет настроен, останется только нажать Finish. После этого созданный AVD можно будет увидеть в окне Менеджера AVD.
Если нужно будет изменить настройки AVD, это легко можно сделать, нажав на кнопку Edit рядом с нужным эмулятором в списке Менеджера AVD.
Чтобы запустить эмулятор, достаточно в Менеджере AVD нажать на кнопку Run.
Протестировать приложение на эмуляторе можно, нажав на кнопку Run в Android Studio.
Откроется окно Select Deployment Target, в котором будет предложено выбрать, на каком устройстве нужно запустить приложение.
После нажатия OK начнётся запуск выбранного эмулятора, если он не до сих пор запущён, либо установка APK на эмулятор.
Примечание: также установить приложение на эмулятор можно, просто перетащить APK-файл на экран эмулятора.
Эмулятор Android позволяет тестировать самые разные функции. Их можно настроить, нажав на кнопку Extended Controls в меню рядом с эмулятором.
Откроется окно с настройками, разбитыми на различные категории. Здесь можно настроить отправку данных, различные свойства устройства и так далее. Рассмотрим некоторые из категорий.
Вкладка Location позволяет симулировать изменение местоположения устройства. В этом окне можно задавать широту, долготу и высоту и отслеживать изменение координат.
Вкладка Cellular содержит параметры, регулирующие качество связи и мобильного интернета. Например, можно настроить тип сети, выбрав LTE, GPRS или другие варианты, силу сигнала и домашний регион/роуминг.
На вкладке Battery можно установить уровень заряда батареи и её состояние (заряжается, разряжается и так далее).
Вкладка Phone позволяет симулировать входящие звонки и смс-сообщения.
Для того, чтобы отправить входящий вызов, достаточно нажать на кнопку Call device, после чего на эмуляторе появится соответствующее уведомление. При желании можно также задать свой номер телефона.
Аналогичным образом можно отправить текстовое сообщение, введя текст сообщения в поле SMS Message и нажав Send Message.
Вкладка Directional pad представляет собой дополнительный набор элементов управления, встроенных в устройство или подключенных внешне, который обеспечивает управление направлением (вверх, вниз, вправо, влево).
На вкладке Fingerprnt можно симулировать использование датчика отпечатков. На выбор предлагается несколько предустановленных отпечатков пальцев для различных тестов. Чтобы сообщить датчику о том, что пользователь прикладывает палец, нужно нажать на кнопку Touch the sensor.
Вкладка Virtual sensors отвечает за симуляцию работы различных датчиков, таких как гироскоп, акселерометр и магнитометр.
С их помощью можно тестировать приложение на предмет изменения положения устройства в пространстве, ориентации или того и другого. Эмулятор имитирует способ реагирования датчиков акселерометра и магнитометра при перемещении или повороте реального устройства.
Кроме того, на вкладке Additional sensors находятся различные датчики положения и окружения. На этой вкладке можно настроить следующее:
- Температура окружающей среды
Имитирует температуру воздуха. - Магнитное поле
Имитирует изменение окружающего магнитного поля, значения указываются в микротеслах (мкТ). - Близость
Определяет расстояние до какого-либо объекта. - Свет
Имитирует изменение уровня освещённости, измеряется в люксах. - Давление
Измеряет давление окружающего воздуха, значения указаны в миллибар. - Относительная влажность
Изменяет собственно относительную влажность окружающей среды.
Что касается остальных пунктов меню эмулятора, то они вкратце перечислены ниже.
- Кнопка включания/выключения экрана. При удерживании включает/выключает устройство.
- Кнопка увеличения громкости
- Кнопка уменьшения громкости
- Поворот экрана налево
- Поворот экрана направо
- Создание скриншота экрана. По умолчанию, скриншот сохраняется на рабочий стол и имеет название Screenshot_yyyymmdd-hhmmss.png.
- Изменяет курсор на лупу. Клик левой кнопкой мыши по экрану увеличивает масштаб на 25%, правой кнопкой мыши — уменьшает. Для возврата из режима нужно повторнго нажать на кнопку.
- Возвращает к предыдущему экрану либо закрывает диалоговое окно, меню опций, панель уведомлений или экранную клавиатуру.
- Возвращает на домашний экран.
- Открывает список недавних приложений.
Вот всё основное, что можно сказать о том, какие возможности предоставляет встроенный эмулятор Android Studio. Функционал весьма богат и позволяет тестировать самые разные возможности приложений.
Сторонние эмуляторы
Genymotion
Genymotion является одним из самых популярных эмуляторов Android за счёт своего быстродействия и развития разработчиками. Этот проект был развит из AndroidVM и на данный момент обзавёлся большим количеством улучшений.
Genymotion, аналогично эмулятору Android Studio, обладает большим количеством возможностей. К недостаткам же можно отнести то, что он является платным, для ознакомления на сайте доступна 30-дневная триал-версия. Также стоит отметить, что для работы Genymotion нужно, чтобы на компьютере был установлен Oracle VM VirtualBox.
Регистрация на сайте, а также скачивание и установка достаточно просты, поэтому здесь не имеет смысла останавливаться. При запуске Genymotion появляется окно с пустым списком эмуляторов.
Для создания нового эмулятора нужно нажать Add.
Здесь будет представлен список заготовленных образов и конфигураций устройств. Причём список весьма богат и включает в себя устройства Motorola, Sony, Samsung и другие.
Когда нужная конфигурация выбрана, нужно нажать Next. На следующем экране будет показана суммарная информация о выбранной конфигурации, а также будет предложено дать название эмулятору.
После нажатия на Next начнётся скачивание образа выбранной версии Android и создание эмулятора. Как только всё будет завершено, останется только нажать на Finish.
После создания эмулятор будет отображаться в списке на основном окне.
Чтобы запустить эмулятор, нужно выбрать нужную конфигурацию и нажать Start. В результате откроется окно с эмулятором и меню управления.
Как можно видеть, в триал-версии не все особенности поддерживаются, активны только следующие:
- Battery
В этом окне можно настраивать уровень заряда, заряжается ли батарея или нет.
Например, можно выставить низкий заряд батареи, после чего на эмулятор сразу придёт уведомление о низком уровне заряда. - GPS
Здесь можно включить определение местонахождения устройства по геоданным. Можно ввести все координаты (широту, долготу, высоту) и нажать Map, после чего на карте будут показаны введённые координаты. Или наоборот, можно кликнуть по точке на карте и в окне GPS отобразятся координаты этой точки. - Camera
В этом окне можно включить симуляцию камеры. При этом можно выбрать, что использовать для отображения камеры. Также в окне Preview будет показано, как всё это будет выглядеть.
Таким образом, Genymotion предлагает неплохой и удобный функционал по работе с приложениями, однако полный его потенциал раскрывается в коммерческой версии.
Источник