Так каковы точные преимущества фрагментов в Android 3.0?

Может ли кто-нибудь объяснить точные преимущества использования фрагментов? В каких случаях мы должны использовать фрагменты?

Для того, что я понимаю, это рамки:

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

  • Помогает работать с экранами нескольких размеров: устройство с огромным экраном может отображать несколько фрагментов одновременно, а для небольших устройств я могу отображать фрагменты в отдельных действиях.

Есть ли еще что-то в этой структуре?

Редактировать:

Я довольно широко использую фрагменты в большом проекте для 3.0 планшетов. Для меня самым большим преимуществом было то, что, используя фрагменты, я мог разбить логику, которая превратилась бы в одну монолитную деятельность в несколько меньших фрагментов. Большие экраны означают огромную деятельность, которую трудно читать, понимать (особенно новым членам команды), развивать и поддерживать. Фрагменты наверняка помогли в этом вопросе.

1 ответ

Решение

Есть ли еще что-то в этой структуре?

  • Анимированные эффекты доступны при динамическом добавлении и удалении фрагментов с экрана

  • Автоматическое управление стеком BACK, поэтому кнопка BACK может удалять динамически добавленные фрагменты перед тем, как в конце концов выйти из операции.

  • Интеграция с панелью действий для вкладок, в качестве замены для TabHost

  • Интеграция с панелью действий для навигации по списку (на самом деле Spinner в панели действий, переключаясь между различными фрагментами)

  • Несколько проще обрабатывать изменения конфигурации благодаря setRetainInstance(true)

Также, отвечая на @Jim Blackler:

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

Все, что предлагается фрагментами, по определению может быть сделано с использованием Viewsпросто потому, что фрагменты строятся поверх структуры представления. Однако фрагменты делают более сложные сценарии, включающие динамические фрагменты, немного проще ИМХО.

Более того, фрагменты в сочетании с панелью действий, скорее всего, будут долгосрочной областью внимания для Google, что означает, что я ожидаю изрядного количества дополнительной работы в этой области в течение следующих 2-3 выпусков.

Другие вопросы по тегам