Мне нужны рекомендации по лучшим практикам для моего приложения. Я думаю, что сейчас слишком много шаблонов кода, и я не знаю, правильно ли я использую действия и фрагменты.Использование андроидных действий и фрагментов в правильном направлении
Существует 3 вида деятельности (A, B, C). Приложение начинается с A. Я могу перейти к B, который является простым списком, и каждый из элементов можно щелкнуть, чтобы показать элемент, более подробный в действии C. Должна быть «корневая» активность, поэтому я устанавливаю родительские действия в файл манифеста.
Теперь я хочу, чтобы навигация по B и C осуществлялась в режиме DrawerLayout
, что на самом деле представляет A в меньшей степени.
Я создал абстрактный класс NavigationActivity
, чтобы принять вид деятельности и установить как первый ребенок из DrawerLayout
и добавить навигацию в качестве второго ребенка. Это работает очень хорошо, но поскольку в навигации есть состояние, я вставляю навигацию как фрагмент, потому что я думал, что состояние разделяется тогда, но это не так, и я не знаю, зачем вообще использовать фрагменты.
Должен ли я использовать одно действие и загружать различные фрагменты в качестве основного контента? Тогда мое приложение состоит из двух видов деятельности и, возможно, 50 фрагментов, когда я закончил. Я думаю, что способ, которым я пытаюсь его реализовать, неверен.
В качестве примера: когда вы входите в PlayStore, есть навигационная система слева. Вы можете просматривать приложение и так далее. Вы знаете/знаете, что это одно и то же действие с различным основным контентом или есть ли больше действий?
Вы можете мне помочь? Спасибо :)
Тем не менее я не получаю преимущество фрагмента. Я думал, что это общий доступ к действию, я могу получить как одиночный элемент, и состояние представления (например, выбранный элемент) остается в памяти после закрытия действия. – Aitch
фрагменты - это небольшая часть действий, которые можно повторно использовать в нескольких местах, но ничто не делает их разделяемыми между действиями. Их главная задача - избегать дублирования взглядов и быть многоразовыми для разных макетов (телефон, планшет, пейзаж, портрет, ...) – Gyome