Когда надо создавать активити и когда надо использовать фрагменты?
Когда надо создавать активити и когда надо использовать фрагменты?
Пример приложения:
У меня будет карта с определениям место положения, перед этим я хочу сделать загрузочный экран пока карта погрузиться. После того как определиться адрес будет кнопка для оформления заказа (для этого будет форма). Затем можно будет видеть где передвигаеться машина с заказам. Также будет окно регистрации если пользователь не зарегистрирован.
Как это все правильно организовать? Какой принцип построения окно должен быть?
Посоветуйте как это правильно организовать.
constv: Я понимаю что должен быть первый активити. Но дальше надо новые создавать или делать на фрагментах? Я хочу использовать Navigation Drawer Activity и не могу понять это надо создавать новый активити и около 5 xml файлов для каждого или пытаться засунуть в фрагмент, тогда для каждого фрагмента будет 1xml. Вообще не могу понять как это сделать правильно.
alvlapo: То есть для для моего приложения я создаю один активити на основе Navigation Drawer Activity и делаю все на фрагментах. Я правильно вас понял?
Четких инструкций вам никто не даст, обычно становится понятно что выносить в фрагменты когда требуется подготовить версию для планшета, как они будут делить большой экран.
Я бы разбил приложение на логические блоки, для регистрации отдельное активия, для формы заказа свое, для карты своё, это если при альбомной ориентации планшета эти экраны не будут появляться одновременно.
alvlapo: Нашел такой ответ:
Android 2.0 - Activity
Android 4.0 - Фрагменты
В настоящее время использование новых Activity на каждое действие создает образ морально устаревшей программы.
Щас должно быть так: одно приложение - одно activity, а внутри фрагменты и диалоги
Я предлагаю вам попытаться описать функционал вашего приложения с использованием фрагментов и диалогов.
Я использую фрагменты как автономный компонент, который можно переиспользовать в разных частях приложения. Так сказать получается code reuse. Если нужно переиспользовать какие то компоненты то все же лучше сделать фрагментом.
В отличие от View, Fragment обладает жизненным циклом. Также у FragmentManager есть стэк фрагментов который позволяет гибко манипулировать фрагментами. К примеру позволяет легко переключаться между фрагментами в рамках одной активити.
В случае с View, вам самим необходимо следить за ее жизненным циклом, а в случае с фрагментом это сделает за вас система. Но, если у вас нет необходимости следить за жизненным циклом то все же лучше использовать View.
Не помню где встречал такой подход: активность является базой для какого либо действия (создание нового пользователя к примеру) а все фрагменты, которые базируются в ней отвечают за это действие. С другой стороны, пришлось использовать отдельную активность для Collapsing Toolbar т.к. с фрагментом не получалось сделать.