Пустое действие против пустой активности

Кто-нибудь знает, почему пустая активность в последней версии Android Studio теперь включает в себя два XML-файла для каждого действия? Мой инстинкт состоит в том, чтобы использовать Empty Activity и продолжать делать вещи «по-старому», но мне интересно, что такое «большая картина» Android с этими изменениями? Разве разумнее разрабатывать любые будущие приложения, используя этот новый формат пустой активности? Спасибо.

Solutions Collecting From Web of "Пустое действие против пустой активности"

Кто-нибудь знает, почему пустая активность в последней версии Android Studio теперь включает в себя два XML-файла для каждого действия?

Для Android Studio 1.5 content_main.xml содержит основной пользовательский интерфейс активности. Activity_main.xml обертывает это в кучу других вещей (например, CoordinatorLayout ), чтобы продемонстрировать пару отдельных элементов пользовательского интерфейса (например, FAB). activity_main использует <include> для включения content_main по ссылке.

Эти шаблоны меняются иногда, поэтому, если вы читаете это в будущем, ваша версия шаблонов может существенно различаться (и, пожалуйста, прекратите читать ответы «Переполнение стека» с вашего летающего автомобиля, так как это опасно для безопасности).

Мне интересно, что такое «большая картина» Android с этими изменениями?

ИМХО, вы серьезно завышаете роль этих шаблонов. Это образцы, не более того.

Разве разумнее разрабатывать любые будущие приложения, используя этот новый формат пустой активности?

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

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

Если вы выберете Blank Activity, у вас будет возможность использовать Fragment . Кроме того, Android Studio автоматически создаст два файла макета для этой операции, три, если вы выберете опцию «Фрагмент», а также файл ресурсов меню.

Если вы выберете Empty Activity, вы сможете выбрать, хотите ли вы, чтобы Android Studio создала файл макета для этой активности. Если вы выберете вариант файла макета, то Android Studio создаст один файл макета, а не два файла макета в случае пустого действия и файл ресурсов меню. Кроме того, файл макета намного проще и не содержит таких элементов, как: Coordinator Layout , Floating Action Button и т. Д., В то время как файл макета для операции «Бланк» содержит эти элементы, если вы используете последнюю версию Android Studio.