дизайн приложения для Android: Viewflipper или деятельность?

1

Я планирую какое-то информационное приложение для Android, и я не уверен, какой технический дизайн лучше (потому что это мое первое настоящее приложение для Android).
Приложение, которое отслеживает самую последнюю информацию с сервера, состоит из 4 экранов:

  • Главный экран → показывает информацию (состоит из потока, который обновляет информацию путем нажатия на сервер)
  • Экран конфигурации → вы приходите сюда с главного экрана, если хотите настроить тип информации, которую хотите просмотреть.
  • экран сообщений 1 → вы приходите сюда с главного экрана, чтобы отправлять новые сообщения на сервер. Экран состоит из списка радиообмена, в котором вы должны указать тип информации, которую вы должны отправить.
  • экран сообщений 2 → Вы приходите сюда с экрана сообщения 1. Здесь вы можете ввести сообщения и отправить их на сервер.

Моя мысль либо использует 4 действия, каждая из которых содержит одно представление, либо использует только одно действие, которое содержит ViewFlipper из этих 4 представлений. Каков наилучший подход и почему?

Теги:
design

1 ответ

1
Лучший ответ

Деятельности имеют свое имя по причине. Каждое "действие/деятельность" должно быть помещено в отдельную деятельность. Пользователь хочет что-то настроить? Отправьте его в режим предпочтения. Пользователь хочет сделать снимок? Отправьте его на фото-мероприятие. И так далее.

Поэтому я думаю, что вы должны иметь 3 действия здесь, когда вы разделяете это на действия:

  • Основной экран (активность пользователя "чтение информации/сообщений")
  • Экран конфигурации ("Изменение настроек пользователя")
  • Экран сообщения (активность пользователя "отправить сообщение")

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

Какие преимущества у этого есть?

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

Также помните, что мы все еще находимся в мобильной среде. Да, в наши дни телефоны действительно мощные, но они по-прежнему имеют очень короткое время работы от аккумулятора. Поэтому не теряйте батарею, когда вам это не нужно. Что будет означать в случае одного гигантского действия, которое каждый раз, когда пользователь хочет отправить только сообщение, он должен загрузить с ним все остальное. Выполненный необработанный код → ненужные циклы CPU → батарея разряжена без причины.

Кроме того, это вам удобно, потому что инфраструктура поддерживает вас таким образом. Например: backstack обрабатывает много вещей для вас уже, например, вам не нужно управлять всей логикой "назад-ключ" (в противном случае вам нужно будет отслеживать расположение макета и обратные ключи).

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

  • 0
    Спасибо за подсказку. Я думаю, что я сделаю это так.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню