Отдельная активность, когда это возможно (Google IO 2018) против действий по задачам? - PullRequest
0 голосов
/ 31 октября 2018

Я разрабатываю приложение, которое делает психологический тест. Приложение состоит из 5 основных частей: вводный слайд-экран, главный экран со списком выполненных тестов, экраны тестов, экраны ввода данных и экраны результатов.

Вариант 1: использовать одно действие, отвечающее за обработку всех фрагментов и потоков. Проблема в том, что будет 30 фрагментов и разные потоки. Например, если пользователь проводит новый тест, он должен ответить на 10 вопросов. Когда пользователь завершает вопросы, если он не зарегистрирован, он должен ввести свои данные, а затем может видеть свои результаты, но если пользователь зарегистрирован, результаты показываются напрямую.

Вариант 2: выполнить задание по частям.

  • Intro Activity: вступительные слайды.
  • Основная активность: список выполненных тестов с двумя основными функциями. Кнопка нового теста, и если вы нажмете на завершенный тест, вы сможете увидеть результаты этого теста или сделать новый тест для этого пользователя.
  • Тестовое задание: группа вопросов, на которые должен ответить пользователь.
  • Активность пользовательских данных: ввод пользовательских данных.
  • Результаты Активность: результаты теста.

В Google IO 2018 они предлагают по возможности использовать одно действие, но я думаю, что вариант 2 намного лучше с точки зрения ООП.

1 Ответ

0 голосов
/ 31 октября 2018

По моему честному мнению, вы должны пойти с вариант 2 . Как вы упомянули в Google IO'18, они предлагают использовать одно действие, но вам не нужно следовать этому для каждого варианта использования. Каждый имеет другой вариант использования и проблемы. Управление 30 фрагментами в одном упражнении может быть утомительным, а код может запутаться.

Поскольку вы классифицировали эти фрагменты, вы можете реализовать их в отдельном упражнении.

Базовое значение здесь, если оно работает для вас. Просто иди с ним.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...