В Интернете я нахожу неоднозначные взгляды на использование одного действия с несколькими фрагментами, однако теперь, с появлением компонентов навигации, кажется, что сам Google рекомендовал этот подход.
Точно так же Google заявляет в своих рекомендациях по материальному дизайну, что нижний компонент навигации должен быть виден всегда. что легко достигается с помощью компонентов навигации.
Однако, просматривая магазин приложений, я не видел, чтобы кто-нибудь реализовал одно действие, несколько шаблонов фрагментов, и даже сам Google не всегда показывает нижнюю навигацию.
Не могли бы вы посоветовать, каким должен быть способ разработки приложений для Android? Меня все это очень смущает. Я создаю приложение для людей, которые тренируются в тренажерном зале, позволяющее им сохранять свои тренировки и отслеживать их прогресс.
@tyczj только потому, что у вас есть 1 Activity, не означает, что вы должны превратить его в Бога.
I haven't seen anyone implementing single activity, multiple fragments patterns технически я знаю, что это приложение имеет 3 действия, но в остальном имеет около 20+ фрагментов, за исключением того, что части серверной части больше не доступны, и это было сделано для мероприятия в июле 2017 года, поэтому части приложения больше не работают. Но это был 1 основной фрагмент с 20+ фрагментами. Нижняя навигация тоже видна везде. (И оценки "низкие", потому что люди требовали функций, которых не было)
Я лично считаю, что архитектура с одним действием имеет большой смысл. По многим причинам, таким как
1.) Ваши фрагменты можно повторно использовать в разных местах.
2.) Компоненты, такие как раздвижная панель, в музыкальном приложении, показывающем песню и ее прогресс, возможны только через архитектуру одного действия.
3.) Обмен данными между фрагментами намного проще (с ViewModel), поскольку фрагменты являются частью действия. Однако этого нельзя сказать о действиях, поскольку они являются независимыми компонентами. Вы можете обмениваться данными с помощью намерений, но как насчет больших объектов?
В целом, на мой взгляд, недостатков в использовании фрагментов нет. Но это не значит, что вам обязательно нужно следовать ему все время. Допустим, у вас есть действие с настройками, которое полностью не зависит от других функций вашего приложения. В этом случае вы можете создать новое действие, чтобы изолировать его.
Лично я стараюсь использовать фрагменты везде, за исключением функций / экранов, которые, как мне кажется, действительно независимы от остальных действий.
Я думаю, что это будет скорее ответ, но это всего лишь рекомендация от Google, вам не обязательно следовать ей. Лично для меня это зависит от приложения, если есть много экранов и / или вещей, которые нужно сделать, у меня будет несколько действий, иначе ваше одно действие будет загромождено обратными вызовами в изобилии между вашей активностью и фрагментами, но это только я