Я разрабатываю приложение, которое делает психологический тест. Приложение состоит из 5 основных частей: вводный слайд-экран, главный экран со списком выполненных тестов, экраны тестов, экраны ввода данных и экраны результатов.
Вариант 1: использовать одно действие, отвечающее за обработку всех фрагментов и потоков. Проблема в том, что будет 30 фрагментов и разные потоки. Например, если пользователь проводит новый тест, он должен ответить на 10 вопросов. Когда пользователь завершает вопросы, если он не зарегистрирован, он должен ввести свои данные, а затем может видеть свои результаты, но если пользователь зарегистрирован, результаты показываются напрямую.
Вариант 2: выполнить задание по частям.
- Intro Activity: вступительные слайды.
- Основная активность: список выполненных тестов с двумя основными функциями. Кнопка нового теста, и если вы нажмете на завершенный тест, вы сможете увидеть результаты этого теста или сделать новый тест для этого пользователя.
- Тестовое задание: группа вопросов, на которые должен ответить пользователь.
- Активность пользовательских данных: ввод пользовательских данных.
- Результаты Активность: результаты теста.
В Google IO 2018 они предлагают по возможности использовать одно действие, но я думаю, что вариант 2 намного лучше с точки зрения ООП.