- Blank Activity vs Empty Activity
- 2 Answers 2
- Activity (Активность, Деятельность)
- Что такое Activity
- Жизненный цикл активности
- Активность в виде диалогового окна
- Програмнное создание активности
- Классы Activity в Android
- Знакомьтесь: Android Studio
- Android Studio Arctic Fox (2020.3.1)
- Android Studio 4.2/4.1
- Android Studio 4.0
- Android Studio 3.6
- Android Studio 3.5
- Android Studio 3.4
- Android Studio 3.3.1 и 3.3.2
- Android Studio 3.3
- Android Studio 3.2
- Android Studio 3.1
- Android Studio 3.0
- Android Studio 2.3
- Android Studio 2.2
- Android Studio 2.1.2
- Android Studio 2.1
- Android Studio 2.0
- Android Studio 1.5
- Android Studio 1.4
- Android Studio 1.3
- v 1.2. Google AdMob Ads Activity
- v 0.5.6. Google Play Services Activity
- v0.5.4. Карты
Blank Activity vs Empty Activity
Does anybody know why the blank activity in the latest version of Android Studio now includes two .xml files for each Activity? My instinct is to use Empty Activity and continue doing things «the old way» but I’m wondering what Android’s «bigger picture» is with these changes? Is it wiser to develop any future applications using this new Blank Activity format? Thank you.
2 Answers 2
Does anybody know why the blank activity in the latest version of Android Studio now includes two .xml files for each Activity?
For Android Studio 1.5, content_main.xml contains the core UI of the activity. activity_main.xml wraps that in a bunch of other stuff (e.g., CoordinatorLayout ) to demonstrate a couple of particular UI elements (e.g., FAB). activity_main uses to incorporate content_main by reference.
These templates change occasionally, and so if you are reading this in the future, your edition of the templates may differ substantially (and please stop reading Stack Overflow answers from your flying car, as that’s a safety hazard).
I’m wondering what Android’s «bigger picture» is with these changes?
IMHO, you are seriously overstating the role of these templates. They are samples, nothing more.
Is it wiser to develop any future applications using this new Blank Activity format?
It is wiser to not pay all that much attention to the templates. They are samples, nothing more. Developers should know what they want to build and how they want to build it. If one of the templates is close to what is desired, use it. Otherwise, skip the new-activity wizard entirely and just add the new activity yourself.
Источник
Activity (Активность, Деятельность)
Что такое Activity
Термин Activity еще не устоялся в русском языке у разработчиков. Некоторые используют слово Активность, другие — Деятельность. Чтобы не путаться в названиях, я буду использовать термин Активность (смотри примечание).
Разработчики со стажем могут воспринимать Активность как форму. Простые приложения состоят из одной активности. Более сложные приложения могут иметь несколько окон, т.е. они состоят из нескольких активностей, которыми надо уметь управлять и которые могут взаимодействовать между собой.
Активность, которая запускается первой, считается главной. Из нее можно запустить другую активность. Причем не только ту, которая относится к нашему приложению, но и другого приложения. Пользователю будет казаться, что все запускаемые им активности являются частями одного приложения, хотя на самом деле они могут быть определены в разных приложениях и работают в разных процессах. Попробуйте воспринимать активности как страницы разных сайтов, открываемых в браузерах по ссылке.
Обычно активность занимает весь экран устройства, но это не является обязательным требованием. Вы можете создавать полупрозрачные и плавающие окна активностей. И с развитием Android такой подход набирает обороты.
Чтобы создать активность, нужно унаследоваться от класса Activity и вызвать метод onCreate(). В результате мы получим пустой экран. Толку от такого экрана никакого. Поэтому в активность добавляют компоненты, фрагменты с помощью разметки.
Жизненный цикл активности
Активность имеет жизненный цикл — начало, когда Android создает экземпляр активности, промежуточное состояние, и конец, когда экземпляр уничтожается системой и освобождает ресурсы. Активность может находиться в трех состояниях:
- активная (active или running) — активность находится на переднем плане экрана. Пользователь может взаимодействовать с активным окном;
- приостановленная (paused) — активность потеряла фокус, но все еще видима пользователю. То есть активность находится сверху и частично перекрывает данную активность. Приостановленная активность может быть уничтожена системой в критических ситуациях при нехватке памяти;
- остановленная (stopped) — если данная активность полностью закрыта другой активностью. Она больше не видима пользователю и может быть уничтожена системой, если память необходима для более важного процесса.
Если активность, которая была уничтожена системой, нужно снова показать на экране, она должна быть полностью перезапущена и восстановлена в своем предыдущем состоянии.
Активность в виде диалогового окна
Помните, изучая темы, мы создали вторую активность в виде диалогового окна. С таким же успехом вы можете создать окно и для основной активности. Добавим в манифесте для активности строчку:
Напишем код для запуска:
Обратите внимание, что в данном примере мы не используем разметку, а программно создаём экземпляр класса TextView с необходимыми свойствами (текст, отступы) и передаём его в метод setContentView().
Програмнное создание активности
В основном мы пользуемся XML-разметкой для формирования внешнего вида активности. Это рекомендованный способ и в 99% вы будете использовать именно его. Но в некоторых случаях возможно вам понадобится создать активность программно. Сложного там ничего нет, для общего развития пригодится.
Если в стандартном случае мы подключаем XML-файл в методе setContentView(R.layout.activity_main), то при программном создании данный метод нам не понадобится. Удаляем его и пишем код:
Принцип формирования следующий — создаем объект LinearLayout (или другой контейнер) и настраиваем необходимые свойства. Далее создаём необходимые дочерние элементы и также настраиваем их свойства. Не забываем подключить дочерний элемент к родительскому через метод addView().
В данном примере мы также присваиваем компонентам идентификаторы через метод setId(), хотя необходимости в этом не было. В примере эта возможность показана для демонстрации. Если вы используете идентификаторы, то в файле res/values/stings.xml добавьте строчки:
Обычно опытные программисты создают отдельный файл для идентификаторов, например, res/values/ids.xml.
Классы Activity в Android
Android SDK включает набор классов, наследованных от Activity. Они предназначены для упрощения работы с виджетами, которые часто встречаются в обычном пользовательском интерфейсе. Перечислим некоторые из них (наиболее полезные).
- MapActivity. Инкапсулирует обработку ресурсов, необходимых для поддержки элемента MapView внутри Активности.
- ListActivity. Обертка для класса Activity, главная особенность которой — виджет ListView, привязанный к источнику данных, и обработчики, срабатывающие при выборе элемента из списка.
- ExpandableListActivity. То же самое, что и ListActivity, но вместо ListView поддерживает ExpandableListView.
- TabActivity. Позволяет разместить несколько Активностей или Представлений в рамках одного экрана, используя вкладки для переключения между элементами.
Источник
Знакомьтесь: Android Studio
15 мая на конференции Google I/O 2013 объявили о новой среде разработки Android Studio. Основой для новой IDE стала платформа IntelliJ от компании JetBrains. Скачать новую среду разработки можно по адресу https://developer.android.com/studio/index.html.
Android Studio Arctic Fox (2020.3.1)
1 декабря 2020 года Гугл объявил о новой нумерации студии. Новая версия Arctic Fox (по русски Полный Песец) будет заменой для версии 4.3. 28 июля 2021 года вышла стабильная версия 2020.3.1.
Главная новинка в этой версии — Compose. Также обещана связь ADB с устройством через Wi-Fi.
Появились новые шаблоны Empty Compose Activity и Responsive Activity.
Android Studio 4.2/4.1
4 мая 2021 года вышла версия 4.2, 12 октября 2020 года вышла версия 4.1. Главная новинка — Database Inspector, инструмент для работы с базами данных. Второе новшество — эмулятор можно запускать внутри студии. Стала шире интеграция с материальным дизайном. Остальное носит специфический характер и не слишком интересно для большинства.
Android Studio 4.0
28 мая 2020 года вышла версия 4.0 с множеством изменений. В список шаблонов вернули Google AdMob Ads Activity и Settings Activity.
Появился Motion Editor для управления анимациями в MotionLayout.
Переработали Layout Inspector.
Расширена поддержка Java 8.
Android Studio 3.6
24 февраля 2020 года вышла новая версия 3.6 (28 февраля вышла версия 3.6.1). Очень много изменений, в том числе и внешних.
Android Studio 3.5
В ноябре 2019 вышла версия 3.5.2. Все ждут выхода версии 4.0. А пока оптимизация по мелочи.
Android Studio 3.4
17 апреля 2019 года вышла версия 3.4.
Android Studio 3.3.1 и 3.3.2
7 февраля вышла версия 3.3.1. 5 марта 2019 вышел финальный релиз студии версии 3.3.2. Исправлены баги.
Android Studio 3.3
14 января 2019 вышел финальный релиз студии версии 3.3.
- Navigation Editor
- New Project Wizard update (убрали шаблоны Google AdMod Ads Activity и Fragment+ViewModel)
- Delete Unused IDE Directories
- Multiple Emulator AVD instances
- Android 9 Pie Emulator System Images & Wi-Fi P2P
Android Studio 3.2
На конференции Google I/O 2018 в мае 2018 года представили предварительную версию 3.2 с новыми возможностями. 24 сентября 2018 вышел релиз.
- Поддержка Slice
- Новая тема MaterialComponents
- Миграция с Android Support Libraries на AndroidX
Добавлен новый шаблон Fragment+ViewModel.
Android Studio 3.1
26 марта 2018 вышла финальная версия 3.1. Очередной раз переделали Palette для компонентов.
Android Studio 3.0
17 мая 2017 года на Google IO объявили о выходе новой версии Android Studio 3.0 Canary 1.
После бесконечной череды альфа и бета-версий 25 октября 2017 вышла финальная версия.
Официально объявили о поддержке Kotlin. Добавлены и улучшены многие инструменты в составе студии. Появились новые шаблоны, поддержка Java 8 и многое другое.
Появилась новая вкладка Device File Explorer.
Google обзавёлся собственным Maven-репозиторием и новые версии собственных библиотек теперь доступны только из него.
По адресу https://dl.google.com/dl/android/maven2/index.html можно просмотреть существующие версии библиотек.
Android Studio 2.3
После долгого перерыва 2 марта 2017 года вышла версия 2.3.
- Поддержка формата WebP. В контекстном меню появилась команда конвертации в данный формат. А также обратный процесс.
- Добавлен новый макет ConstraintLayout. В шаблонах заменили примеры с RelativeLayout на данный макет
- Снова переработан Layout Editor — добавлен поиск и возможность настройки панели инструментов
- В окне свойств компонентов появилась возможность отметить любимые свойства звёздочкой, чтобы они всегда были на виду
- Окно выбора векторных значков обзавелось поиском, а также названиями под значками
- Появился новый шаблон Bottom Navigation Activity
- Можно копировать текст из эмулятора и вставлять в приложение на компьютере
- Появились новые утилиты командной строки, которые заменили некоторые старые утилиты
Android Studio 2.2
19 сентября 2016 вышла стабильная версия 2.2. Изменения колоссальные, можно было присвоить номер 3.0.
- Новый редактор разметки экрана Layout Editor с поддержкой ConstraintLayout
- Новый Layout Inspector, позволяющий оценить иерархию элементов макета
- Новый инструмент Assistant для интеграции Firebase в ваше приложение
- Новый инструмент Analyzer tool для анализа содержимого приложения
- Новый Espresso Test Recorder (beta) для создания UI-тестов при помощи записи ваших действий
- Окно Run window теперь содержит записи логов для текущего запущенного приложения
- Новые возможности в эмуляторе: новые виртуальные сенсоры и настройки сотовой связи
- Поддержка OpenJDK 8
- Поменяли значки и некоторые элементы меню
- Улучшен диалог создания нового класса
- Улучшен редактор Vector Asset Studio с поддержкой Adobe Photoshop Document (PSD)
- Улучшен Image Asset Studio
- Улучшен редактор тем
Android Studio 2.1.2
Шаблон Blank Activity переименовали в Basic Activity.
Android Studio 2.1
26 апреля вышла финальная версия за номером 2.1.
Появилась поддержка Java 8.
Android Studio 2.0
23 ноября 2015 объявили о выходе Android Studio 2.0 Preview. Финальная версия вышла 7 апреля 2016 года. Основные революционные изменения — переработанный эмулятор с сервисами Google, камерой, GPS, который работает намного быстрее и новая функция «Instant Run».
Скорость эмулятора ускорилась в 3 раза, чем предыдущая версия. А скорость передачи приложения в 10 раз быстрее, чем на реальное устройство.
Android Studio 1.5
19 ноября 2015 года вышла версия 1.5. Заметных изменений не видно, поправили баги, что-то там улучшили.
Android Studio 1.4
30 сентября 2015 года вышла версия 1.4 с большими изменениями.
Появился новый мастер Vector Asset Studio для создания векторных значков VectorDrawable и новый пункт меню Vector Asset.
Появился экспериментальный редактор тем для редактирования файла colors.xml, содержащий настройки цвета для Material Design. В дальнейшем редактор обещают доработать для сложных вещей. Доступ к редактору осуществляется через меню Tools | Android | Theme Editor.
Добавились новые шаблоны, включая поддержку Android Design Support Library. Общий внешний вид мастера выбора шаблона был перерисован под новый дизайн. Теперь можно выбрать шаблоны с плавающей кнопкой Floating action button (FAB) Blank Activity, с выдвижной шторкой Navigation Drawer Activity, активность с прокруткой Scrolling Activity.
Стандартный минимальный шаблон для начинающих получил название Empty Activity вместо прежнего Blank Activity.
Android Studio 1.3
Видимых изменений практическе не было.
v 1.2. Google AdMob Ads Activity
В версии 1.2 появился новый шаблон Google AdMob Ads Activity.
Также улучшили редактор кода. Например, если вы редактируете название открывающего тега, то закрывающий тег меняется автоматически. Также были немного переработаны некоторые некоторые детали интерфейса, добавлены новые вкладки.
Множественное выделение — нажмите клавиши Shift+Alt и выделяйте мышкой нужные участи кода.
v 0.5.6. Google Play Services Activity
В версии 0.5.6 появились новые шаблоны Google Play Services Activity, Navigation Drawer Activity, Tabbed Activity.
v0.5.4. Карты
Начиная с версии 0.5.4, в Android Studio появился новый шаблон с использованием Гуглокарты — Google Maps Activity.
Источник