Приложение для Android с несколькими представлениями - Лучшие практики?

Я плохо знаком с разработкой для андроида. У меня есть вопрос относительно некоторых лучших практик. Мое приложение похоже на панель инструментов, из которой несколько различных "подопераций" могут быть запущены и сделаны.

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

Что по Вашему мнению является лучшим способом пойти.

Спасибо

5
задан MAC 20 June 2010 в 17:49
поделиться

3 ответа

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

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

7
ответ дан 18 December 2019 в 16:36
поделиться

Решение, которое вы должны принять, заключается в том, должны ли ваши действия быть тесно или слабо связаны. Загрузка и выгрузка активности обычно происходит из вашего собственного приложения. Использование намерений уместно, когда вам нужно открыть активность, специфику которой вы можете знать или не знать. Например, вы можете открыть другую активность из главного меню (если оно у вас есть) напрямую. Затем позже, допустим, вам нужно открыть адрес на карте, вы используете намерение, потому что вы не знаете, какое именно действие нужно открыть. Во-вторых, использование намерений лучше всего подходит для тех случаев, когда есть несколько действий, которые могут выполнять одну и ту же функцию, например, открытие URL в браузере.

Итак, подведем итоги:

Открыть напрямую (загрузка нового представления или использование намерения, указывающего имя компонента)

  • Жесткая связь
  • Знание специфики деятельности, которую нужно загрузить

Открыть косвенно (намерение, указывающее категорию действий, которые могут его обработать)

  • Не обязательно знать специфику деятельности, кроме того, что она может выполнить какое-то действие, которое было рекламировано.
  • Существует несколько видов деятельности, которые могут выполнить желаемое действие, и вы хотите, чтобы пользователь мог сам выбрать, какой вид деятельности использовать.
4
ответ дан 18 December 2019 в 16:36
поделиться

Хотя интенты могут быть немного дополнительной работой, я бы рекомендовал использовать их, если вам не нужно напрямую передавать большие блоки данных туда и обратно.

Если вам просто нужно передать информацию каждой из подпрограмм, то вы можете легко сделать это с помощью putExtra(String key, Bundle values);

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

1
ответ дан 18 December 2019 в 16:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: