Android studio программирование

Содержание: В этой главе описывается. Как разрабатывать приложения с помощью Android Studio. Которая представляет собой интегрированную среду разработки (IDE) для Android.

Процесс разработки

Проект приложения для Android начинается с идеи и определения требований. Необходимых для реализации этой идеи. Вы можете нарисовать пользовательские интерфейсы (UI) для различных функций приложения. Чтобы показать. Как будет выглядеть пользовательский интерфейс и как он будет работать. Используйте чертежи. Макеты и прототипы.

Когда вы будете готовы начать кодирование. Вы используете Android Studio. Чтобы выполнить следующие шаги:

 Процесс разработки Android Studio

  1. Создайте проект в Android Studio и выберите подходящий шаблон.
  2. Определите макет для каждого экрана. Содержащего элементы пользовательского интерфейса. Вы можете разместить элементы пользовательского интерфейса на экране с помощью редактора макетов или написать код непосредственно на расширяемом языке разметки (XML).
  3. Напишите код. Используя язык программирования Java. Создайте исходный код для всех компонентов приложения.
  4. Создавайте и запускайте приложение на реальных и виртуальных устройствах. Используйте конфигурацию сборки по умолчанию или создавайте пользовательские сборки для различных версий вашего приложения.©

  5. Тестируйте и отлаживайте логику и пользовательский интерфейс приложения.
  6. Опубликуйте приложение. Собрав окончательный APK (файл пакета) и распространив его по таким каналам. Как Google Play.

Использование Android Studio

Android Studio предоставляет единую среду разработки для создания приложений для всех устройств на базе Android. Android Studio включает в себя шаблоны кода с образцами кода для общих функций приложения. Обширные инструменты тестирования и фреймворки. А также гибкую систему сборки.

Запуск проекта Android Studio

После успешной установки IDE Android Studio дважды щелкните значок приложения Android Studio. Чтобы запустить его.

Нажмите кнопку Запустить новый проект Android Studio в окне приветствия и назовите проект тем же именем. Которое вы хотите использовать для приложения.  Создание проекта Android

При выборе уникального домена компанииимейте в виду . Что приложения. Опубликованные в Google Play. Должны иметь уникальное имя пакета. Поскольку домены уникальны. Добавление имени приложения к вашему имени или доменному имени вашей компании должно обеспечить адекватное уникальное имя пакета. Если вы не планируете публиковать приложение. Вы можете принять пример домена по умолчанию.

Имейте в виду. Что изменение имени пакета позже-это дополнительная работа.

Выбор целевых устройств и минимального SDK

При выборе целевых устройств Android телефон и планшет выбираются по умолчанию. Как показано на рисунке ниже. Выбор, показанный на рисунке для минимального SDK—API 15: Android 4.0.3 (IceCreamSandwich), делает ваше приложение совместимым с 97% устройств на базе Android. Активных в Google Play Store.  Выбор целевых устройств на базе Android для приложения

Различные устройства работают под управлением различных версий системы Android. Таких как Android 4.0.3 или Android 4.4. Каждая последующая версия часто добавляет новые API. Недоступные в предыдущей версии.

Чтобы указать. Какой набор API доступен. Каждая версия определяет уровень API. Например, Android 1.0-это уровень API 1, а Android 4.0.3-уровень API 15.

Минимальный SDK объявляет минимальную версию Android для вашего приложения. Каждая последующая версия Android обеспечивает совместимость с приложениями. Созданными с использованием API предыдущих версий. Это означает. Что ваше приложение всегда должно быть совместимо с будущими версиями Android. Если вы используете документированные API Android.

Выбор шаблона действия

AnActivity-это единственная. Сфокусированная вещь. Которую может сделать пользователь.

Это важнейший компонент любого приложения для Android. ActivityОбычно с ним связан макет. Который определяет. Как элементы пользовательского интерфейса отображаются на экране.

Android Studio предварительно заполняет ваш проект минимальным кодом для Activityмакета и макета на основе шаблона. Доступные Activityшаблоны варьируются от практически пустого шаблона (не добавляйте никаких действий) до шаблонаActivity, включающего навигацию и меню опций.  Выберите Пустой шаблон действия

Вы можете настроить Activityего после того. Как выберете свой шаблон.

Например, выбор Пустое действие предоставляет один Activityресурс с одним макетом для экрана. После нажатия кнопки Далее появится экран Настройки активности . На экране Настройка активности вы можете принять обычно используемое имя для Activity(например, какMainActivity) или изменить его.

Совет: Этот курс охватывает Activityкласс более подробно в другой практической части. Вы также можете прочитать Введение в деятельность для всестороннего ознакомления.  Настройка действия

Экран Настройки активности отличается в зависимости от выбранного шаблона. В большинстве случаев вы можете выбрать следующие параметры. Если они еще не выбраны:

  • Создать файл макета: Оставьте этот флажок установленным . Чтобы создать связанный с ним ресурс макетаActivity, который обычно называется activity_main. Макет определяет пользовательский интерфейс для Activity.
  • Обратная совместимость (AppCompat): Оставьте этот флажок установленным. Чтобы включить AppCompatбиблиотеку. Используйте AppCompatбиблиотеку. Чтобы убедиться. Что приложение совместимо с предыдущими версиями Android. Даже если оно использует функции. Найденные только в более новых версиях Android.

Android Studio создает папку для ваших проектов и строит проект с

помощью Gradle.

Совет: Подробную информацию см. на странице Настройка разработчика сборки.

Изучение проекта

Проект Android Studio содержит весь исходный код и все ресурсы для приложения. Ресурсы включают макеты. Строки, цвета. Размеры и изображения. Главное окно Android Studio состоит из нескольких логических областей. Или панелей, как показано на рисунке ниже.  Панели проекта Android Studio

На рисунке выше:

  1. Панель инструментов: Предоставляет широкий спектр действий. Включая запуск приложения Android и запуск инструментов Android.
  2. Панель навигации: Навигация по проекту и открытие файлов для редактирования.
  3. Панель проекта: Отображает файлы проекта в иерархии.

    Выбранная иерархия на рисунке выше-это Android.

  4. Редактор: Содержимое выбранного файла в проекте. Например, после выбора макета (как показано на рисунке выше) на панели редактор отображается редактор макета с инструментами для редактирования макета. После выбора файла кода Java на панели редактора отображается код Java с инструментами для редактирования кода.
  5. Вкладки в левой. Правой и нижней частях окна: Вы можете щелкнуть вкладки. Чтобы открыть другие панели. Например Logcat, чтобы открыть панель Logcat с сообщениями журнала. Или TODO для управления задачами.

Строка состояния в нижней части окна Android Studio отображает состояние проекта и самой Android Studio. А также любые предупреждения или сообщения.

Вы можете следить за ходом сборки в строке состояния.

Совет: Вы можете организовать главное окно. Чтобы дать себе больше места на экране. Скрывая или перемещая панели. Вы также можете использовать сочетания клавиш для доступа к большинству функций. Полный список можно найти в разделе Сочетания клавиш.

Использование панели проекта

На панели Если он еще не выбран. Перейдите на вкладку Проект. (Вкладка Проект находится в столбце вертикальная вкладка в левой части окна Android Studio.)

Появится панель проекта. Чтобы просмотреть проект в стандартной иерархии проектов Android. Выберите Android со стрелкой вниз в верхней части панели проектов.

Примечание: Эта глава и другие главы относятся к панели проекта. Если она установлена на Android, как панель .

Файлы Gradle

При первом создании проекта приложения с Gradle Scriptsразвернутой папкой. Как показано ниже. Если Gradle Scriptsпапка не развернута. Щелкните треугольник. Чтобы развернуть ее. Эта папка содержит все файлы. Необходимые для построения системы.  Папка Gradle Scripts

build.gradle(Module:app)Файл указывает дополнительные библиотеки и конфигурацию сборки модуля.

Выбранный Activityшаблон создает этот файл. Файл содержит minSdkVersionатрибут. Объявляющий минимальную версию приложения, и targetSdkVersionатрибут. Объявляющий самую высокую (самую новую) версию. Для которой приложение было оптимизировано.

Этот файл также включает в себя список зависимостей, которые являются библиотеками. Необходимыми для кода—например, AppCompatбиблиотека для поддержки широкого спектра версий Android.

Код приложения

Для просмотра и редактирования кода Java разверните appпапку, javaпапку и com.example.android.helloworldпапку. Дважды щелкните MainActivity javaфайл. Чтобы открыть его в редакторе кода.

 Папка приложения

javaПапка включает в себя файлы классов Java. Каждый Activity, Service, или другой компонент (например, a Fragment) определяется как класс Java. Обычно в своем собственном файле. Тесты и другие файлы классов Java также находятся здесь.

javaПапка содержит три подпапки:

  • com.example.hello.helloworld (или указанное вами доменное имя): Все файлы для пакета находятся в папке. Названной в честь пакета. Для вашего приложения Hello World существует один пакет. И он содержит только MainActivity.javaего . Обычно вызывается первый Activity(экран). Который видит пользователь и который также инициализирует ресурсы всего приложения

    MainActivity. (Расширение файла опущено в панели .)

  • com.example.hello.helloworld(androidTest): Эта папка предназначена для ваших инструментальных тестов и начинается со скелетного тестового файла.
  • com.example.hello.helloworld(test): Эта папка предназначена для ваших модульных тестов и начинается с автоматически созданного скелетного файла модульного теста.

Файлы макета

Чтобы просмотреть и отредактировать файл макета. Разверните resпапку и layoutпапку. Чтобы увидеть файл макета.

На рисунке ниже вызывается файл макета activity_main.xml.

Дважды щелкните файл. Чтобы открыть его в редакторе макетов. Файлы макета записываются в формате XML.  Папка res

Файлы ресурсов

resПапка содержит ресурсы. Такие как макеты. Строки и изображения. An Activityобычно ассоциируется с макетом представлений пользовательского интерфейса. Которые определяются как XML — файл. Этот XML-файл обычно называется в честь its Activity. resПапка включает в себя следующие подпапки:

  • drawable: Храните все изображения вашего приложения в этой папке.
  • layout: Каждый Activityиз них имеет по крайней мере один файл XML-макета. Описывающий пользовательский интерфейс.

    Для Hello World эта папка содержит activity_main.xml.

  • mipmap: Значки запуска хранятся в этой папке. Существует подпапка для каждой поддерживаемой плотности экрана. Android использует плотность экрана (количество пикселей на дюйм) для определения требуемого разрешения изображения. Android группирует все фактические плотности экрана в обобщенные плотности. Такие как medium (mdpi). High (hdpi) или extra-extra-extra-high (xxxhdpi). ic_launcher.pngПапка содержит значки запуска по умолчанию для всех плотностей. Поддерживаемых вашим приложением.

  • values: Вместо жесткого кодирования таких значений, как строки. Размеры и цвета в ваших XML-и Java-файлах. Лучше всего определить их в соответствующих valuesфайлах. Эта практика облегчает изменение значений и обеспечивает согласованность значений в вашем приложении.

valuesПодпапка включает в себя следующие подпапки:

  • colors.xml: Показывает цвета по умолчанию для выбранной вами темы. Вы можете добавить свои собственные цвета или изменить их в зависимости от требований вашего приложения.
  • dimens.xml: Храните размеры видов и объектов для различных разрешений.
  • strings.xml: Создайте ресурсы для всех ваших строк.

    Это позволяет легко переводить строки на другие языки.

  • styles.xml: Все стили для вашего приложения и темы находятся здесь. Стили помогают придать вашему приложению согласованный вид для всех элементов пользовательского интерфейса.

Использование панели редактора

Если вы выберете файл. Появится панель редактора. Появится вкладка для файла. Чтобы вы могли открыть несколько файлов и переключаться между ними. Например. Если вы дважды щелкните activity_main.xml файл макета на панели появится редактор макета. Как показано ниже.  Редактор макетов

Если дважды щелкнуть файл MainActivity на панели , редактор изменится на редактор кода. Как показано ниже. С вкладкой для

MainActivity.java:  Редактор кода

В верхней части MainActivity.javaфайла находится packageинструкция. Определяющая пакет приложения. За этим утверждением пакета следует importблок. Сконденсированный с ..., как показано на рисунке выше. Щелкните точки. Чтобы развернуть блок для его просмотра. importОператоры импортируют библиотеки. Необходимые для приложения. Например, следующая инструкция импортирует AppCompatActivityбиблиотеку:

import android.support.v7.app.AppCompatActivity; 

Каждый Activityв приложении реализован как класс Java.

Следующее объявление класса расширяет AppCompatActivityкласс для реализации функций таким образом. Что он обратно совместим с предыдущими версиями Android:

public class MainActivity extends AppCompatActivity { // ... Rest of the code for the class. } 

Понимание манифеста Android

Прежде чем система Android сможет запустить компонент приложения . Такой как anActivity, система должна знать. Что Activityон существует. Он делает это. Читая файл приложенияAndroidManifest.xml, который описывает все компоненты вашего Android-приложения. Каждый Activityиз них должен быть указан в этом XML-файле вместе со всеми компонентами приложения.

Чтобы просмотреть и отредактировать AndroidManifest.xmlфайл. Разверните manifestsпапку на панели и дважды щелкните AndroidManifest.xmlее . Его содержимое появится на панели редактирования:

           

Пространство имен Android и тег приложения

Манифест Android закодирован в XML и всегда использует пространство имен Android:

xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.android.helloworld"> 

packageВыражение показывает уникальное имя пакета нового приложения.

Не изменяйте выражение пакета после публикации приложения.

Тег с его закрывающим тегом определяет параметры манифеста для всего приложения.

Автоматическое резервное копирование

Этот android:allowBackupатрибут включает автоматическое резервное копирование данных приложения:

android:allowBackup="true" 

Установка этого android:allowBackupатрибута trueпозволяет автоматически создавать резервные копии приложений и восстанавливать их по мере необходимости. Пользователи тратят время и усилия на настройку приложений. Переход на новое устройство может свести на нет всю эту тщательную настройку.

Система выполняет это автоматическое резервное копирование почти всех данных приложения по умолчанию. И делает это без необходимости разработчику писать какой — либо дополнительный код приложения.

Для приложений. Целевой версией SDK которых является Android 6.0 (уровень API 23) и выше. Устройства под управлением Android 6.0 и выше автоматически создают резервные копии данных приложений в облаке. Поскольку android:allowBackupатрибут по умолчанию trueравен if опущен. Для apps

Совет: Дополнительные сведения об автоматическом резервном копировании приложений см.

в разделе Настройка автоматического резервного копирования приложений.

Значок приложения

android:iconАтрибут устанавливает значок для приложения:

android:allowBackup="true" android:icon="@mipmap/ic_launcher" 

android:iconАтрибут присваивает приложению значок в mipmapпапке (внутри resпапки на панели ). Значок появляется на главном экране или на экране поиска приложений для запуска приложения. Этот значок также используется в качестве значка по умолчанию для компонентов приложения.  Стандартный значок запуска для нового проекта приложения появляется на экране Поиск приложений.

Метка приложения и строковые ресурсы

android:labelАтрибут показывает "Hello World"выделенную строку. Если вы нажмете на строку. Она изменится. Чтобы показать строковый ресурс

@string/app_name:

android:label="@string/app_name" 

Совет: Чтобы увидеть контекстное меню. Нажмите ctrl-click или щелкните правой кнопкой мыши app_nameна панели редактора. Выберите , чтобы увидеть. Где объявлен строковый ресурс: в strings.xmlфайле. Когда вы выберете или откроете файл двойным щелчком strings.xmlмыши внутри valuesпапки на панели , содержимое файла появится на панели редактор.

Открыв strings.xmlфайл, вы увидите. Что строковое имя app_nameимеет значение Hello World. Вы можете изменить имя приложения. Изменив Hello Worldстроку на что-то другое. Строковые ресурсы описаны в отдельном уроке.

Тема приложения

android:themeАтрибут задает тему приложения. Которая определяет внешний вид элементов пользовательского интерфейса. Таких как текст:

android:theme="@style/AppTheme"> 

themeАтрибут устанавливается в стандартную тему AppTheme. Темы описаны в отдельном уроке.

Объявление версии Android

Различные устройства могут работать под управлением различных версий системы Android. Таких как Android 4.0 или Android 4.4. Каждая последующая версия может добавлять новые API. Недоступные в предыдущей версии. Чтобы указать. Какой набор API доступен. Каждая версия определяет уровень API. Например, Android 1.0-это уровень API 1, а Android 4.4-уровень API 19.

Уровень API позволяет разработчику объявить минимальную версию. С которой совместимо приложение. Используя тег manifest и его minSdkVersionатрибут. Например, API поставщика календарей были добавлены в Android 4.0 (API level 14). Если ваше приложение не может функционировать без этих API. Объявите уровень API 14 в качестве минимальной поддерживаемой версии приложения следующим образом:

  // ... Rest of manifest information  

minSdkVersionАтрибут объявляет минимальную версию приложения, а targetSdkVersionатрибут-самую высокую (самую новую) версию. Которая была оптимизирована в приложении. Каждая последующая версия Android обеспечивает совместимость для приложений. Созданных с использованием API предыдущих версий. Поэтому приложение всегда должно быть совместимо с будущими версиями Android при использовании документированных API Android.

Этот targetSdkVersionатрибут не препятствует установке приложения на версии Android. Которые выше (новее) указанного значения. Тем не менее. Атрибут target важен. Поскольку он указывает системе. Должно ли приложение наследовать изменения поведения в более новых версиях.

Если вы не обновите targetSdkVersionего до последней версии. Система предполагает. Что ваше приложение требует обратно совместимого поведения при запуске на последней версии. Например, среди изменений поведения в Android 4.4 сигналы тревоги. Созданные с AlarmManagerпомощью API. Теперь неточны по умолчанию. Так что система может паковать сигналы тревоги приложений и сохранять мощность системы. Если целевой уровень API ниже "19", система сохраняет поведение предыдущего API для вашего приложения.

Понимание процесса сборки

Пакет приложений Android (APK) — это формат файла пакета для распространения и установки мобильных приложений Android. Процесс сборки включает в себя инструменты и процессы. Которые автоматически преобразуют каждый проект в APK.

Android Studio использует Gradle в качестве основы системы сборки. С более специфичными для Android возможностями. Предоставляемыми плагином Android для Gradle. Эта система сборки работает как интегрированный инструмент из меню Android Studio.

Понимание файлов build.gradle

При создании проекта Android Studio автоматически генерирует необходимые файлы сборки в Gradle Scriptsпапке на панели . Файлы сборки Android Studio называются build.gradleтак, как показано ниже:  Скрипты Gradle

build.gradle (Проект: apptitle)

Этот файл является файлом сборки верхнего уровня для всего проекта. Расположенным в корневой папке проекта. Которая определяет конфигурации сборки. Применимые ко всем модулям в вашем проекте. Этот файл, созданный Android Studio. Не следует редактировать. Чтобы включить зависимости приложений.

Если зависимость является чем-то иным. Чем локальная библиотека или файловое дерево. Gradle ищет файлы в тех онлайн-репозиториях. Которые указаны в блоке репозиториев этого файла. По умолчанию новые проекты Android Studio объявляют JCenter и Google (включая репозиторий Google Maven) в качестве местоположений репозитория:

allprojects { repositories { google() jcenter() } } 

build.gradle (Модуль: приложение)

Android Studio создает отдельные build.gradle (Module: app)файлы для каждого модуля. Вы можете изменить параметры сборки. Чтобы предоставить пользовательские параметры упаковки для каждого модуля. Такие как дополнительные типы сборки и типы продуктов. А также переопределить параметры в файле манифеста или файла build.gradle верхнего уровня. Этот файл чаще всего редактируется при изменении конфигураций на уровне приложения. Например при объявлении зависимостей в dependenciesразделе. Ниже показано содержимое build.gradle (Module: app)файла проекта:

apply plugin: 'com.android.application' android { compileSdkVersion 26 defaultConfig { applicationId "com.example.android.helloworld" minSdkVersion 15 targetSdkVersion 26 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'). 'proguard-rules.pro' } } } dependencies { implementation fileTree(dir: 'libs'. Include: ['*.jar']) implementation 'com.android.support:appcompat-v7:26.1.0' implementation 'com.android.support.constraint:constraint-layout:1.0.2' testImplementation 'junit:junit:4.12' androidTestImplementation 'com.android.support.test:runner:1.0.1' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1' } 

build.gradleФайлы используют синтаксис Gradle. Gradle-это доменный язык (DSL) для описания и управления логикой сборки с помощью Groovy, который является динамическим языком для виртуальной машины Java (JVM). Вам не нужно изучать Groovy. Чтобы вносить изменения. Потому что плагин Android для Gradle вводит большинство необходимых вам элементов DSL.

Совет: Чтобы узнать больше о плагине Android DSL. Ознакомьтесь со справочной документацией DSL.

Плагины и блоки Android

В build.gradle (Module: app)приведенном выше файле первый оператор применяет специфичные для Android задачи сборки плагина Gradle plug-in:

apply plugin: 'com.android.application' android { compileSdkVersion 26 // ... Rest of android block. } 

android { }Блок определяет целевую версию SDK для компиляции кода приложения ( compileSdkVersion 26) и несколько блоков информации.

Блок defaultConfig

Основные настройки и записи для приложения задаются в defaultConfig { }блоке внутри приложения. android { } block:

defaultConfig { applicationId "com.example.android.helloworld" minSdkVersion 15 targetSdkVersion 26 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } 

Параметры minSdkVersionи targetSdkVersionпереопределяют все AndroidManifest.xmlпараметры для минимальной версии SDK и целевой версии SDK. См. Раздел

Это testInstrumentationRunnerзаявление добавляет инструментальную поддержку для тестирования пользовательского интерфейса с использованием Espresso и UIAutomator. Эти инструменты описаны в отдельном уроке.

Типы сборки

Типы сборки для приложения задаются в buildTypes { }блоке. Который управляет тем. Как приложение создается и упаковывается.

buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'). 'proguard-rules.pro' } } 

Указанный тип сборки предназначен releaseдля выпуска приложения. Еще один распространенный тип сборки-это debug. Настройка типов сборки описана в отдельном уроке.

Зависимости

Зависимости для приложения определяются в dependencies { }блоке. Который является частью build.gradleфайла, которая. Скорее всего, изменится. Когда вы начнете разрабатывать код. Зависящий от других библиотек. Блок является частью стандартного Gradle API и принадлежит вне android { }блока.

dependencies { implementation fileTree(dir: 'libs'. Include: ['*.jar']) implementation 'com.android.support:appcompat-v7:26.1.0' implementation 'com.android.support.constraint:constraint-layout:1.0.2' testImplementation 'junit:junit:4.12' androidTestImplementation 'com.android.support.test:runner:1.0.1' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1' } 

В приведенном выше фрагменте оператор implementation fileTree(dir: 'libs'. Include: ['*.jar'])добавляет зависимость всех файлов libsпапки.

Синхронизация вашего проекта

При внесении изменений в файлы конфигурации сборки в проекте Android Studio требует синхронизации файлов проекта. Во время синхронизации Android Studio импортирует изменения конфигурации сборки и запускает проверки. Чтобы убедиться. Что конфигурация не создаст ошибок сборки.

Чтобы синхронизировать файлы проекта. Нажмите кнопку Синхронизировать сейчас в панели уведомлений. Которая появляется при внесении изменений (как показано на рисунке ниже). Или нажмите кнопку Синхронизировать проект с файлами Gradle  Синхронизация проекта с файлами Gradle в строке меню.  Изменение конфигурации приложения Gradle

Если Android Studio замечает какие — либо ошибки в конфигурации —например. Если исходный код использует функции API. Доступные только на уровне API выше, compileSdkVersionпоявляется окно сообщений с описанием проблемы.

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

С помощью эмуляторов виртуальных устройств вы можете протестировать приложение на разных устройствах. Таких как планшеты или смартфоны. С разными уровнями API для разных версий Android. Чтобы убедиться. Что оно хорошо выглядит и работает для большинства пользователей. Вам не нужно зависеть от наличия физического устройства. Доступного для разработки приложений.

Диспетчер виртуальных устройств Android (AVD) создает виртуальное устройство или эмулятор. Который имитирует конфигурацию для определенного типа устройств на базе Android. Используйте AVD Manager для определения аппаратных характеристик устройства и уровня его API. А также для сохранения его в качестве конфигурации виртуального устройства. Когда вы запускаете эмулятор Android. Он считывает указанную конфигурацию и создает эмулируемое устройство на вашем компьютере. Которое ведет себя точно так же. Как физическая версия этого устройства.

Создание виртуального устройства

Чтобы запустить эмулятор на вашем компьютере. Используйте AVD Manager для создания конфигурации. Описывающей виртуальное устройство. Выберите или щелкните значок AVD Manager  Значок AVD Managerна панели инструментов.

Появится экран Нажмите кнопку +Создать виртуальное устройство, чтобы создать новое виртуальное устройство.  Менеджер виртуальных устройств Android (AVD)

Вы можете выбрать устройство из списка предопределенных аппаратных устройств. Для каждого устройства таблица содержит столбец для его диагонального размера дисплея (Size), разрешения экрана в пикселях (Resolution) и плотности пикселей (Density). Например, плотность пикселей устройства Nexus 5 xxhdpiравна . Что означает. Что приложение использует значки в xxhdpiпапке mipmapпапки. Точно так же приложение использует макеты и чертежи из папок. Определенных для этой плотности.  Выбор аппаратного устройства

После нажатия кнопки Далеепоявится экран образа системы для выбора версии системы Android для данного устройства. На вкладке Рекомендуемые показаны рекомендуемые системы для данного устройства. Дополнительные версии доступны на вкладках Образы x86 и Другие образы. Если рядом с версией образа системы отображается ссылка для загрузки. То она еще не установлена. Нажмите на ссылку. Чтобы начать загрузку. И нажмите кнопку Готово, когда она будет завершена.

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

Чтобы запустить приложение на виртуальном устройстве. Созданном в предыдущем разделе. Выполните следующие действия:

  1. В Android Studio выберите или щелкните значок  Значок запуска Android StudioВыполнить на панели инструментов.

  2. В окне Выбор цели развертывания в разделе Доступные эмуляторы выберите созданное виртуальное устройство и нажмите кнопку ОК.

Эмулятор запускается и загружается точно так же. Как физическое устройство. В зависимости от скорости вашего компьютера процесс запуска может занять некоторое время. Приложение строится. И как только эмулятор готов. Android Studio загружает приложение в эмулятор и запускает его.

Вы должны увидеть приложение. Созданное из пустого шаблона активности (панель запуска Android Studio, отображающую действия. Выполняемые для запуска приложения на эмуляторе.

Совет: При тестировании на виртуальном устройстве рекомендуется запустить его один раз. В самом начале сеанса. Не закрывайте его до тех пор. Пока не закончите тестирование приложения. Чтобы ему не пришлось снова проходить процесс запуска устройства. Чтобы закрыть виртуальное устройство. Выберите пункт Выход из меню или нажмите Control-Q в Windows или Command-Q в macOS.  Эмулятор и журнал запуска

На рисунке выше показан эмулятор и журнал запуска:

  1. Эмулятор, на котором работает приложение.
  2. Панель Запуска, которая показывает действия. Предпринятые для установки и запуска приложения.
  3. Вкладка Выполнить, которую вы нажимаете. Чтобы открыть или закрыть панель Выполнить.

Запуск приложения на физическом устройстве

Всегда тестируйте свои приложения на физическом устройстве. Хотя эмуляторы полезны. Они не могут показывать все возможные состояния устройства, например. Что происходит. Если входящий вызов происходит во время работы приложения. Чтобы запустить приложение на физическом устройстве. Вам необходимо выполнить следующие действия:

  • Устройство на базе Android,например телефон или планшет.
  • Кабель для передачи данных для подключения вашего устройства на базе Android к компьютеру через USB-порт.
  • Если вы используете систему Linux или Windows. Вам может потребоваться выполнить дополнительные шаги для запуска на аппаратном устройстве. Проверьте документацию по использованию аппаратных устройств. Возможно, вам также потребуется установить соответствующий USB-драйвер для вашего устройства. См. Раздел OEM USB — драйверы.

Чтобы Android Studio могла взаимодействовать с вашим устройством на базе Android. Необходимо включить на нем отладку по USB. Вы включаете отладку по USB в настройках параметров разработчика устройства. (Обратите внимание. Что включение отладки USB-это не то же самое. Что укоренение вашего устройства.)

На Android 4.2 и выше экран параметров разработчика по умолчанию скрыт. Чтобы показать параметры разработчика и включить отладку по USB:

  1. На вашем устройстве откройте и нажмите Номер сборки семь раз.
  2. Вернитесь к предыдущему экрану (Настройки). Параметры разработчика отображаются в нижней части списка. Нажмите
  3. Выберите пункт Отладка по USB.
  4. Подключите устройство и запустите приложение из Android Studio.

Использование журнала

Журнал-это мощный инструмент отладки. С помощью которого можно просматривать значения. Пути выполнения и исключения. После добавления операторов ведения журнала в приложение ваши сообщения журнала появляются вместе с общими сообщениями журнала на панели Logcat.

Просмотр сообщений журнала

Чтобы увидеть панель Logcat, перейдите на вкладку Logcat в нижней части окна Android Studio. Как показано на рисунке ниже.  Android Studio Logcat

На рисунке выше:

  1. Вкладка Logcat для открытия и закрытия панели Logcat, которая отображает информацию о вашем приложении во время его работы. Если вы добавляете Logоператоры в свое приложение, Logздесь появляются сообщения.
  2. Меню Logуровня установлено на Verbose (по умолчанию). Которое показывает все Logсообщения. Другие настройки включают Отладку, Ошибку, Информациюи Предупреждение.

Добавление операторов ведения журнала в ваше приложение

Операторы ведения журнала добавляют в журнал все указанные вами сообщения. Добавление операторов ведения журнала в определенные точки кода позволяет разработчику просматривать значения. Пути выполнения и исключения. Например, следующая инструкция logging добавляет "MainActivity"and "Hello World"в журнал:

Log.d("MainActivity". "Hello World");

Ниже приведены элементы этого утверждения:

  • Log: LogКласс для отправки сообщений журнала на панель Logcat.
  • d: Параметр Logуровня отладки для фильтрации отображения сообщений журнала на панели Logcat. Другие уровни журнала предназначены eдля ошибок, wпредупрежденийи iинформации. Вы назначаете уровень журнала. Чтобы можно было фильтровать сообщения журнала с помощью раскрывающегося меню в центре панели Logcat.
  • "MainActivity": Первый аргумент-это тег. Который можно использовать для фильтрации сообщений в панели Logcat. Этот тег обычно является именем тогоActivity, из которого исходит сообщение. Однако вы можете назвать тег чем угодно. Что полезно для отладки.
  • "Hello world": Второй аргумент-это фактическое сообщение.

По соглашению теги журнала определяются как константы дляActivity:

private static final String LOG_TAG = MainActivity.class.getSimpleName(); 

Используйте константу в операторах ведения журнала:

Log.d(LOG_TAG. "Hello World"); 

После добавления Log.dинструкции. Показанной выше. Выполните следующие действия. Чтобы увидеть сообщение журнала:

  1. Если панель Logcat еще не открыта. Перейдите на вкладку Logcat в нижней части Android Studio. Чтобы открыть ее.
  2. Измените Logуровень на панели Logcat на Отладочный. (Вы также можете оставить Logуровень многословным, потому что в журнале очень мало сообщений.)
  3. Запустите приложение на виртуальном устройстве.

На панели Logcat должно появиться следующее сообщение:

11-24 14:06:59.001 4696-4696/? D/MainActivity: Hello World 

Соответствующая практическая программа-это 1.1 Android Studio и Hello World.

Узнать больше

Документация Android Studio:

Руководство по API Android, раздел

Прочее: