Как называется компонент отображающий определенный экран в android приложениях
В этой статье пойдет речь о том, как рассказать человеку, ранее не знакомому с программированием под Android, об основных его компонентах. Заинтересовать и показать, что все не так сложно, как многие думают. При этом сделать это за 15 минут и не уходя в объяснение какой-то базовой теории, которую каждый может прочитать сам и вернуться уже с уточняющими вопросами.
Когда я попробовал сделать это первый раз, был неприятно удивлен собой. Мое "простое и понятное" объяснение превратилось в занудство, в рамках которого четко прослеживалась отчаянная попытка объять необъятное и рассказать в двух словах обо всем понемногу. Нужно ли говорить, что такой рассказ скорее не заинтересует, а напугает Вашего собеседника, попутно уменьшив желание сделать что-то свое, даже если раньше в планах был небольшой калькулятор.
Не секрет, что в Интернете размещено огромное количество статей на эту тему, но в моем случае повествование будет немного отличаться: здесь будет только наглядная практика, без определений и прочих деталей. То есть смотрим — видим — комментируем происходящее. Смотрится, на мой взгляд, все достаточно просто и наглядно, куски кода получились тоже небольшие и очень простые, готовые к быстрому использованию в собственном проекте. Мне кажется, такой подход дает достаточно широкую обзорную картину классических инструментов Android, и при написании первого приложения вместо вопросов "что мне использовать" будут более конкретные вопросы "как именно мне использовать компонент Х". А уже все подробности об этом человек сможет узнать сам — если захочет.
Изучаем компоненты
Устанавливаем приложение, запускаем его, и… пока достаточно того, что перед нами открылось MainActivity. На вопрос "почему именно оно" ответ будет дан позднее.
Первым делом рассмотрим, откуда оно берется — из main_activity.xml, где объявлены все элементы интерфейса. Размещены они в LinearLayout, поэтому вопросы здесь вряд ли возникнут.
Простые компоненты
Toast
Теперь перейдем в MainActivity.java и первой кнопке его интерфейса — "Показать Toast" (всплывающее уведомление).
Находим идентификатор кнопки в main_activity.xml и переходим к ее OnClickListener в MainActivity.java.
Оказывается, чтобы вывести всплывающее уведомление, достаточно одной строки кода! Здорово, не правда ли?
Взаимодействие с другим Activity
Первая Activity
Вторая Activity
Теперь попробуем перейти куда-нибудь за пределы главной страницы приложения. Например, на другую такую страницу! Переходим во "Взаимодействие с другим Activity" — и мы попадаем в другую активность с другими элементами управления. Как разные активности в одном приложении передают данные между собой? Здесь самое время рассказать про два различных механизма: постоянное хранилище значений — shared_prefs, а также startActivityForResult / onActivityResult (не хотелось вставлять такое в начало, но все-таки кратко: если из открытой активности запустить новую активность при помощи startActivityForResult, то по завершении второй активности будет вызван onActivityResult в первой активности. Не пугайтесь, если это пока не понятно).
И, конечно же, продемонстрировать на практике!
Как называется компонент отображающий определенный экран в Android-прилож.?
Как называется компонент, отображающий определенный экран в Android-приложениях?
Чтобы правильно ответить на вопрос, надо дать каждому предлагаемому ответу пояснение.
Сначала определим, что такое Activity
Этот ответ там подходит, но разберем и другие понятия.
Следующее понятие, это слово Intent:
Оно нам не подходит.
Рассмотрим последнее определение View
Теперь не составит труда ответить на вопрос. Верный ответ: Activity.
Очередной вопрос от VK Testers касается операционной системы Android.
Когда одновременно используется несколько экранов, то в какой-то определенный момент активен только один или два, поэтому предположу, что определяется экран тот, который активен, компонентом с названием Activity.
Ответ на этот вопрос: 1.
Урок 4. Элементы экрана и их свойства
Давайте посмотрим, как в Андроид приложениях формируется то, что мы видим на экране.
Если проводить аналогию с Windows, то приложение состоит из окон, называемых Activity. В конкретный момент времени обычно отображается одно Activity и занимает весь экран, а приложение переключается между ними. В качестве примера можно рассмотреть почтовое приложение. В нем одно Activity – список писем, другое – просмотр письма, третье – настройки ящика. При работе вы перемещаетесь по ним.
Примерно это можно изобразить так:
Необходимо заметить, что View обычно размещаются в ViewGroup. Самый распространенный пример ViewGroup – это Layout. Layout бывает различных типов и отвечает за то, как будут расположены его дочерние View на экране (таблицей, строкой, столбцом …)
Подробней об этом можно почитать в хелпе: User Interface и Common Layout Objects.
Наверно уже запутал новыми словами и терминами, давайте посмотрим это все на практике. Создадим проект со следующими свойствами:
Project name: P0041_BasicViews
Build Target: Android 2.3.3
Application name: BasicViews
Package name: ru.startandroid.develop.BasicViews
Create Activity: MainActivity
В нашем проекте нам интересен файл: res > layout > main.xml
Это layout-файл, в нем мы определяем набор и расположение элементов View, которые хотим видеть на экране. При запуске приложения, Activity читает этот файл и отображает нам то, что мы настроили. Давайте откроем его и посмотрим, какой набор View он содержит по умолчанию.
Слева видим список View, разделенный на группы. Здесь отображены все View-элементы, которые вы можете использовать в своих приложениях.
Возможно, у вас он будет немного другого вида. Это регулируется в меню Palette, чуть выше.
Обратим внимание на белый экран. Мы видим, что на экране сейчас присутствует элемент с текстом Hello world! Чтобы узнать, что это за View нажмите на этот текст. Справа во вкладке Outline вы видите все элементы, которые описаны в main.xml.
Видим, что выделенный нами элемент – это TextView. Обратите внимание, что он вложен в элемент RelativeLayout – это ViewGroup, про которые я писал выше.
Добавим еще элементов на экран, пусть это будут Button и CheckBox. Для этого просто перетащите их из списка слева на белый экран вашего будущего приложения. Также можно перетащить их на RelativeLayout во вкладке Outline, результат будет почти тот же. Кроме Button и CheckBox, добавим еще на экран Plain Text из группы Text Fields.
В Outline они появятся под названиями button1, checkBox1 и editText1. Это ID, которые им были присвоены автоматически. Пока оставим их такими, позднее научимся их менять и будем делать более осмысленными.
Теперь на нашем экране несколько элементов. Давайте изменим надписи на них. Во вкладке Outline жмем на TextView. Теперь нам нужна вкладка Properties. Она отображает свойства выделенного в Outline или на экране View-элемента. Располагается она обычно сразу под Outline.
Найдем в Properties свойство Text. Сейчас там стоит ссылка на текстовую константу. Где создаются эти константы мы рассмотрим в следующих уроках, а пока просто давайте напишем сюда свой текст: «Какой-то текст»
Аналогично изменим свойство Text для элементов button1, checkBox1 и editText1 на произвольные тексты. Все эти изменения пишутся в main.xml. Сохраним все CTRL+SHIFT+S и запустим CTRL+F11.
Приложение отображает нам MainActivity, а оно в свою очередь читает файл main.xml и отображает все View, которые мы создавали и настраивали.
На этом уроке мы:
узнали, что выводится на экран в Android-приложении
научились формировать layout-файл – добавлять View и настраивать их свойства
На следующем уроке мы:
Android — операционная система, основанная на Linux с интерфейсом программирования Java. Это предоставляет нам такие инструменты, как компилятор, дебаггер и эмулятор устройства, а также его (Андроида) собственную виртуальную машину Java (Dalvik Virtual Machine — DVM). Android создан альянсом Open Handset Alliance, возглавляемым компанией Google.
Android использует специальную виртуальную машину, так званую Dalvik Virtual Machine. Dalvik использует свой, особенный байткод. Следовательно, Вы не можете запускать стандартный байткод Java на Android. Android предоставляет инструмент «dx», который позволяет конвертировать файлы Java Class в файлы «dex» (Dalvik Executable). Android-приложения пакуются в файлы .apk (Android Package) программой «aapt» (Android Asset Packaging Tool) Для упрощения разработки Google предоставляет Android Development Tools (ADT) для Eclipse. ADT выполняет автоматическое преобразование из файлов Java Class в файлы dex, и создает apk во время развертывания.
2. Основные компоненты Android
Android-приложения состоят из следующих частей:
Другими частями Android являются виджеты, или живые папки (Live Folders), или живые обои (Live Wallpapers). Живые папки отображают источник любых данных на «рабочем столе» без запуска соответствующих приложений.
3. Безопасность и разрешения
Android определяет конкретные разрешения для определенных задач.
Android-приложения описываются файлом «AndroidManifest.xml». В этих файлах должны быть объявлены все активити, службы, приемники и контент-провайдеры приложения. Также он должен содержать требуемые приложением разрешения. Детальное описание полей смотри в здесь.
5. R.java, Resources и Assets
Каталог «gen» в Android-проекте содержит генерированные значения.
Тогда как каталог „res“ хранит структурированные значения, известные платформе Android, каталог „assets“ может быть использован для хранения любых данных. В Java Вы можете получить доступ к этим данным через AssetsManager и метод getAssets().
6. Активити и Макеты (layout)
Пользовательский интерфейс для деятельности (Activity) определяется с помощью макетов. Во время исполнения макеты — экземпляры «android.view.ViewGroups». Макет определяет элементы пользовательского интерфейса, их свойства и расположение. Элементы UI основываются на классе «android.view.View».
Макет может быть определен с помощью Java-кода или с помощью XML.
7. Активити и жизненный цикл
Операционная система контролирует жизненный цикл Вашего приложения.
Наиболее важные методы:
onSaveInstanceState() — вызывает, если активити остановлено. Используется для сохранения данных при восстановлении состояния активити, если активити возобновлено
onPause() — всегда вызывается, если активити завершилось, может быть использовано, для освобождения ресурсов или сохранения данных
onResume() — вызвано, если активити возобновлено, может быть использовано для инициализации полей
Давайте посмотрим, как в Андроид приложениях формируется то, что мы видим на экране.
Урок обновлен 07.07.2017
Если проводить аналогию с Windows, то приложение состоит из окон, называемых Activity. В конкретный момент времени обычно отображается одно Activity и занимает весь экран, а приложение переключается между ними. В качестве примера можно рассмотреть почтовое приложение. В нем одно Activity – список писем, другое – просмотр письма, третье – настройки ящика. При работе вы перемещаетесь по ним.
Содержимое Activity формируется из различных компонентов, называемых View. Самые распространенные View - это кнопка, поле ввода, чекбокс и т.д.
Примерно это можно изобразить так:
Необходимо заметить, что View обычно размещаются в ViewGroup. Самый распространенный пример ViewGroup – это Layout. Layout бывает различных типов и отвечает за то, как будут расположены его дочерние View на экране (таблицей, строкой, столбцом …)
Также, в версии 3.0 в Android появилась новая сущность – Fragment. Но тему фрагментов мы рассмотрим в более поздних уроках, чтобы сейчас не усложнять материал.
Наверно уже запутал новыми словами и терминами, давайте посмотрим это все на практике.
Создадим приложение к этому уроку. Для этого запускайте Android Studio и открывайте проект Android lessons, который мы создали на прошлом уроке. Скорее всего, этот проект сразу откроется у вас по умолчанию.
Напомню, что мы решили создавать в этом проекте все модули (приложения) для уроков. А не создавать отдельный проект под каждый урок.
Создадим модуль. В меню File >New > New Module. Все шаги аналогичны тем, что мы проделывали на прошлом уроке, только будут другие названия приложения и модуля
Application/Library name: BasicViews
Module name: p0041basicviews
Package name: ru.startandroid.p0041basicviews
Модуль p0041basicviews создан и виден в списке модулей слева:
В этом модуле нам интересен файл: res > layout > activity_main.xml
Это layout-файл. В нем мы определяем набор и расположение View компонентов, которые хотим видеть на экране. При запуске приложения, Activity читает этот файл и отображает нам то, что мы настроили. Скорее всего, он у вас уже открыт на редактирование, но на всякий случай давайте еще раз откроем его двойным кликом и посмотрим, как он выглядит.
Куча кнопок, надписей и т.п. Я отметил важные зоны цифрами (с 1 по 6). Пройдемся по ним
1) Design и Text
Desing - это графическое представление экрана. Оно сейчас открыто. А Text - это текстовое представление. Оно выглядит так:
Мало что понятно. Мы пока что будем использовать только Design-представление.
2) Режимы отображения экрана
На скриншоте в области 3 вы видите два экрана. Обычный белый и рядом с ним какой-то синий. Это один и тот же экран, но он отображен в двух разных режимах:
Design - в нем мы видим View компоненты так, как они обычно выглядят на экране.
Blueprint - отображаются только контуры View компонентов
Кнопки в области 2 позволяют вам переключать режимы:
- Design
- Blueprint
- Design + Blueprint
Я в уроках обычно буду использовать Design режим. Вы можете использовать, какой вам удобнее.
3) Экран
Здесь вы можете видеть, как выглядит экран вашего приложения. Сюда мы будем добавлять различные компоненты из области 4.
4) Палитра
Это список всех View компонентов, которые вы можете добавлять на ваш экран: кнопки, поля ввода, чекбоксы, прогрессбары и прочее.
5) Дерево компонентов
Здесь представлена иерархия View компонентов вашего экрана. Сейчас, например, корневой элемент - это ConstraintLayout. А в него вложен TextView.
6) Свойства
Эта область пока пуста. При работе с каким либо View компонентом здесь будут отображаться свойства этого компонента. С помощью свойств вы сможете настраивать внешний вид, расположение и содержимое View компонента.
Чтобы вы понимали, о чем дальше пойдет речь, посмотрите пожалуйста этот урок:
Он хоть и под номером 180, но написан просто и понятно. В нем вы научитесь добавлять View компоненты на экран. После прочтения возвращайтесь сюда и продолжим.
Теперь, когда вы знаете, как добавлять компоненты на экран, мы можем продолжить.
Сейчас у нас на экране только TextView. Давайте добавим еще несколько компонентов. Например, Button и CheckBox.
Настройте им какие-нибудь привязки, чтобы они не уехали при запуске.
Обратите внимание, что компоненты появились в Component Tree
Значения button и checkBox - это ID, которые были присвоены компонентам автоматически. Пока оставим их такими, позднее научимся их менять и будем делать более осмысленными.
Теперь давайте изменим надписи на этих компонентах. Во вкладке Component Tree (слева-снизу) жмем на TextView, чтобы выделить этот компонент.
Теперь нам нужна вкладка Properties (справа). На скриншоте она была обозначена, как область 6. Здесь мы можем настроить свойства выделенного в Component Tree (или на экране) View компонента.
Найдем во вкладке Properties свойство text. Сейчас там прописан текст Hello World!, который и отображается на экране. Давайте поменяем его на свой текст. Поставьте курсор в это поле и напишите там, например, “Google Android”.
Жать в этом поле Enter я не советую, т.к. студия иногда предлагает автозаполнение, которое вам может не подойти. Поэтому, после того, как вы написали там свой текст, просто нажмите мышкой в любом месте экрана с компонентами.
Текст на экране изменился. Был Hello World! Стал Google Android.
Аналогично вы можете изменить тексты на кнопке и чекбоксе. Просто выделяйте эти компоненты на экране или в Component Tree, в Properties ищите свойство text и пишите там свой текст. Можно даже на русском языке.
Все, что вы настроили в этом экране, сохранится в файле res > layout > activity_main.xml.
Теперь давайте запустим приложение. Для этого надо выбрать ваш модуль в списке доступных и нажать чуть правее на зеленый треугольник.
Студия спросит вас, запускать ли эмулятор
Выберите эмулятор и жмите OK. Название эмулятора у вас может быть другим
Ждем пока запускается эмулятор и, затем, любуемся результатом
Все ваши новые тексты должны отобразится на экране
Приложение отображает нам MainActivity, а оно в свою очередь читает файл activity_main.xml и отображает все View, которые мы в нем создавали и настраивали.
На следующем уроке мы:
рассмотрим layout-файл с другого ракурса – XML
разберем, откуда Activity знает, какой layout-файл надо читать и попробуем настроить на чтение другого файла
узнаем, какой layout-файл используется при смене ориентации экрана (горизонтальная/вертикальная)
- в чатах решаем возникающие вопросы и проблемы по различным темам: Android, Kotlin, RxJava, Dagger, Тестирование
- ну и если просто хочется поговорить с коллегами по разработке, то есть чат Флудильня
- новый чат Performance для обсуждения проблем производительности и для ваших пожеланий по содержанию курса по этой теме
Давайте посмотрим, как в Андроид приложениях формируется то, что мы видим на экране.
Если проводить аналогию с Windows, то приложение состоит из окон, называемых Activity. В конкретный момент времени обычно отображается одно Activity и занимает весь экран, а приложение переключается между ними. В качестве примера можно рассмотреть почтовое приложение. В нем одно Activity – список писем, другое – просмотр письма, третье – настройки ящика. При работе вы перемещаетесь по ним.
Содержимое Activity формируется из различных компонентов, называемых View. Самые распространенные View - это кнопка, поле ввода, чекбокс и т.д.
Примерно это можно изобразить так:
Необходимо заметить, что View обычно размещаются в ViewGroup. Самый распространенный пример ViewGroup – это Layout. Layout бывает различных типов и отвечает за то, как будут расположены его дочерние View на экране (таблицей, строкой, столбцом …)
Подробней об этом можно почитать в хелпе: User Interface и Common Layout Objects.
Наверно уже запутал новыми словами и терминами, давайте посмотрим это все на практике. Создадим проект со следующими свойствами:
Project name: P0041_BasicViews
Build Target: Android 2.3.3
Application name: BasicViews
Package name: ru.startandroid.develop.BasicViews
Create Activity: MainActivity
Если у вас свежая версия визарда создания проекта, то Build Target - это то же самое, что и Build SDK. А в экране создания Activity не забывайте указывать main в поле Layout Name.
В нашем проекте нам интересен файл: res > layout > main.xml
Это layout-файл, в нем мы определяем набор и расположение элементов View, которые хотим видеть на экране. При запуске приложения, Activity читает этот файл и отображает нам то, что мы настроили. Давайте откроем его и посмотрим, какой набор View он содержит по умолчанию.
Слева видим список View, разделенный на группы. Здесь отображены все View-элементы, которые вы можете использовать в своих приложениях.
Возможно, у вас он будет немного другого вида. Это регулируется в меню Palette, чуть выше.
Обратим внимание на белый экран. Мы видим, что на экране сейчас присутствует элемент с текстом Hello world! Чтобы узнать, что это за View нажмите на этот текст. Справа во вкладке Outline вы видите все элементы, которые описаны в main.xml.
Видим, что выделенный нами элемент – это TextView. Обратите внимание, что он вложен в элемент RelativeLayout – это ViewGroup, про которые я писал выше.
Добавим еще элементов на экран, пусть это будут Button и CheckBox. Для этого просто перетащите их из списка слева на белый экран вашего будущего приложения. Также можно перетащить их на RelativeLayout во вкладке Outline, результат будет почти тот же. Кроме Button и CheckBox, добавим еще на экран Plain Text из группы Text Fields.
В Outline они появятся под названиями button1, checkBox1 и editText1. Это ID, которые им были присвоены автоматически. Пока оставим их такими, позднее научимся их менять и будем делать более осмысленными.
Теперь на нашем экране несколько элементов. Давайте изменим надписи на них. Во вкладке Outline жмем на TextView. Теперь нам нужна вкладка Properties. Она отображает свойства выделенного в Outline или на экране View-элемента. Располагается она обычно сразу под Outline.
Найдем в Properties свойство Text. Сейчас там стоит ссылка на текстовую константу. Где создаются эти константы мы рассмотрим в следующих уроках, а пока просто давайте напишем сюда свой текст: «Какой-то текст»
Аналогично изменим свойство Text для элементов button1, checkBox1 и editText1 на произвольные тексты. Все эти изменения пишутся в main.xml. Сохраним все CTRL+SHIFT+S и запустим CTRL+F11.
Приложение отображает нам MainActivity, а оно в свою очередь читает файл main.xml и отображает все View, которые мы создавали и настраивали.
На этом уроке мы:
узнали, что выводится на экран в Android-приложении
научились формировать layout-файл – добавлять View и настраивать их свойства
На следующем уроке мы:
рассмотрим layout-файл с другого ракурса - XML
разберем, откуда Activity знает, какой layout-файл надо читать и попробуем настроить на чтение другого файла
узнаем, какой layout-файл используется при смене ориентации экрана (горизонтальная/вертикальная)
Читайте также: