mipmap содержат файлы изображений, которые предназначены для создания иконки приложения при различных разрешениях экрана.
values

mipmap содержат файлы изображений, которые предназначены для создания иконки приложения при различных разрешениях экрана.
values хранит различные xml-файлы, содержащие коллекции ресурсов - различных данных, которые применяются в приложении. По умолчанию здесь есть два файла и одна папка:
colors.xml хранит описание цветов, используемых в приложении
strings.xml содержит строковые ресурсы, используемые в приложении
themes хранит две темы приложения - светлую и темную
В программировании для Android не говорят «Главное окно приложения», а говорят «Активность». Каркас макета для Активности это каркас внешнего вида для размещения «Элементов Управления» Термин «Элемент Управления» для Android-программирования не всегда используется. Используется термин «Виджет» — «Widget»
Активность — одна четко определенная операция, которую может выполнить пользователь. Например, в приложении могут присутствовать активности для составления сообщения электронной почты, поиска контакта или создания снимка. Активности обычно ассоциируются с одним экраном и программируются на Java.
Макет описывает внешний вид экрана. Макеты создаются в виде файлов в разметке XML и сообщают Android, где располагаются те или иные элементы экрана
Для запуска и тестирования приложения можно использовать эмуляторы или реальные устройства. Лучше тестировать на реальных устройствах, так как эмуляторы требуют больших аппаратных ресурсов, и не каждый компьютер может потянуть требования эмуляторов.
Виртуальное устройство (AVD — Android Virtual Device) — это конфигурация некоторого реального устройства для эмулирования на персональном компьютере. Перед тем как запускать эмулятор для тестирования приложения, необходимо, чтобы было создано одно или несколько виртуальных устройств .
Для создания виртуального устройства нужно использовать AVD менеджер (Tools-AVD manager)
В этом окне отображается список ранее созданных виртуальных устройств с краткой информацией (версия API, разрешение экрана устройства, занимаемое место на жестком диске и т.д.).
Эти виртуальные устройства можно изменять и удалять.
Для создания нужно нажать на кнопку «Create Virtual Device». Появится окно выбора типа устройства с основными доступными характеристиками (размер экрана, количество точек на дюйм).
В следующем окне нужно выбрать версию API и образ операционной системы для эмулятора. Если образ отсутствует, предоставляется возможность загрузить его.
AVD Name — Понятное имя виртуального устройства. При запуске разрабатываемого вами приложения из Android Studio будет предлагаться список виртуальных устройств для выбора, на каком из устройстве необходимо запустить приложение. Список виртуальных устройств будет содержать эти самые понятные имена. Рекомендуется в имя включать модель устройства, версию
Startup size and orientation / Scale — Масштаб экрана виртуального устройства для случая, если разрешение экрана виртуального устройства превышает размеры монитора компьютера, на котором разрабатывается приложение. По умолчанию опция установлена в значение «Auto» — автоматический масштаб.
Startup size and orientation / Orientation — Ориентация устройства при запуске виртуального устройства в эмуляторе. Портретная и альбомная ориентация. Вне зависимости от выбора ориентации, есть возможность менять ориентацию устройства в процессе тестирования приложения в эмуляторе.
Use Host GPU (GPU это Graphics Processing Unit) — Опция разрешает эмуляцию графики средствами видеокарты вашего персонального компьютера для увеличения скорости исполнения эмулируемого приложения в случае, если это приложение использует OpenGL технологию работы с графикой. Рекомендуется оставить эту опцию выбранной, так как ее отключение может повлечь к предупреждениям на этапе компиляции/исполнения вашего приложения, даже если ваше приложение не использует OpenGL.
Store a snapshot for faster startup — Опция позволяет сделать снимок виртуального устройства и сохранить его на диск, чтобы в дальнейшем запуск виртуального устройства осуществлялся намного быстрее.
На практике было замечено, что в некоторых случаях использование снимка виртуального устройства приводило к необъяснимым ошибкам в работе эмулируемого приложения, которые исчезали и больше не появлялись, если разработчики отказывались от использования снимка виртуального устройства.
Результат запуска на эмуляторе:
Для запуска на реальном устройстве нужно в телефоне открыть опции разработчика (по умолчанию скрыты). Чтобы сделать их доступными, надо зайти в Settings > About phone (Настройки > О телефоне) (в Android 8 это в Settings > System > About phone (Настройки > Система > О телефоне)) и семь раз нажать Build Number (Номер сборки) или Версия MIUIU.
После возврата к предыдущему экрану нужно перейти по появившейся ссылке Developer options (Для разработчика) и включить возможность отладки по USB.
Выполнение приложения Android по умолчанию начинается с класса MainActivity, который по умолчанию открыт в Android Studio.
package com.example.myproject_1; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } }
По умолчанию MainActivity наследуется от класса AppCompatActivity. Класс AppCompatActivity по сути представляет отдельный экран (страницу) приложения или его визуальный интерфейс. И MainActivity наследует весь этот функционал.
В метод setContentView() передается ресурс разметки графического интерфейса
xml version="1.0" encoding="utf-8"?>
xmlns:android="http://schemas.android.com/apk/res/android": содержит основные атрибуты, которые предоставляются платформой Android, применяются в элементах управления и определяют их визуальные свойства (например, размер, позиционирование)
xmlns:app="http://schemas.android.com/apk/res-auto": содержит атрибуты, которые определены в рамках приложения
xmlns:tools="http://schemas.android.com/tools": применяется для работы с режиме дизайнера в Android Studio
Атрибут android:layout_height="match_parent" определяет высоту контейнера Значение "match_parent" указывает, что ConstraintLayout будет растягивается по всей длине контейнера (экрана устройства).
Атрибут tools:context определяет, какой класс activity (экрана приложения) связан с текущим определением интерфейса. В данном случае это класс MainActivity. Это позволяет использовать в Android Studio различные возможности в режиме дизайнера, которые зависят от класса activity.
Добавим на экран поле для ввода и кнопку, при нажатии на которую будет появляться всплывающее сообщение
import android.os.Bundle; import android.view.View; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } //Нажатие кнопки public void showMessage(View view) { EditText editText = (EditText) findViewById(R.id.editTextMessage); Toast.makeText(this, "Вы набрали сообщение "+editText.getText(), Toast.LENGTH_SHORT).show(); } }