Android проектирование потока приложений - PullRequest
3 голосов
/ 13 ноября 2009

Я создаю приложение для Android с множеством разных экранов, на которых пользователь может перейти к этим экранам с помощью кнопок или списка, представленных на этих экранах. Как лучше всего спроектировать весь навигационный поток приложения? Должен ли я отобразить каждый экран, чтобы быть View или Activity? Может проектировать целое приложение для Android только с одним действием и несколькими представлениями, где каждое представление представляет один экран со многими другими элементами интерфейса (кнопки, списки, изображения и т. Д.)

Ответы [ 2 ]

5 голосов
/ 13 ноября 2009

Я предлагаю вам использовать для каждого «экрана», значительно отличающегося от другого экрана (как по виду, так и по данным, с которым он связан), новое действие. Это упрощает управление, и вам не нужно путать свой код с множеством переменных для определения различных состояний. При использовании разных активностей вам обычно не нужно беспокоиться о работе в нежелательном или даже неопределенном состоянии.

Для обмена данными между действиями вы можете использовать putExtra () , чтобы добавить «простые» данные в INTENT или для более сложных данных вы можете расширить Приложение и использовать этот экземпляр как синглтон, к которому вы затем можете получить доступ через (MyApplication)getApplication();

4 голосов
/ 13 ноября 2009

Вы действительно хотите держаться подальше от единой идеи деятельности. Это на самом деле анти-паттерн из дней веб-приложений java model 1 под названием «Волшебный сервлет». Я думаю, что здесь это будет называться "Волшебная деятельность". Каждый логический «экран», с которым взаимодействует пользователь, должен быть экземпляром класса Activity.

Изменение отдельных элементов пользовательского интерфейса на основе взаимодействия с пользователем - это хорошо, если это всего лишь один или два элемента или только часть экрана, но в большинстве случаев вам следует искать причины для разделения вещей на их собственные. деятельность, а не искать причины, чтобы держать вещи вместе. В долгосрочной перспективе это облегчит поддержку и понимание вашего кода.

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