Так каковы точные преимущества фрагментов в Android 3.0?
Может ли кто-нибудь объяснить точные преимущества использования фрагментов? В каких случаях мы должны использовать фрагменты?
Для того, что я понимаю, это рамки:
Помогает повторно использовать существующий код - если я реализую функциональность во фрагменте, то относительно легко отобразить этот фрагмент в нескольких частях моего приложения, когда эта функциональность необходима.
Помогает работать с экранами нескольких размеров: устройство с огромным экраном может отображать несколько фрагментов одновременно, а для небольших устройств я могу отображать фрагменты в отдельных действиях.
Есть ли еще что-то в этой структуре?
Редактировать:
Я довольно широко использую фрагменты в большом проекте для 3.0 планшетов. Для меня самым большим преимуществом было то, что, используя фрагменты, я мог разбить логику, которая превратилась бы в одну монолитную деятельность в несколько меньших фрагментов. Большие экраны означают огромную деятельность, которую трудно читать, понимать (особенно новым членам команды), развивать и поддерживать. Фрагменты наверняка помогли в этом вопросе.
1 ответ
Есть ли еще что-то в этой структуре?
Анимированные эффекты доступны при динамическом добавлении и удалении фрагментов с экрана
Автоматическое управление стеком BACK, поэтому кнопка BACK может удалять динамически добавленные фрагменты перед тем, как в конце концов выйти из операции.
Интеграция с панелью действий для вкладок, в качестве замены для
TabHost
Интеграция с панелью действий для навигации по списку (на самом деле
Spinner
в панели действий, переключаясь между различными фрагментами)Несколько проще обрабатывать изменения конфигурации благодаря
setRetainInstance(true)
Также, отвечая на @Jim Blackler:
Я разделяю ваше замешательство, так как всегда было легко настроить представления, которые, как мне кажется, решают все те же проблемы.
Все, что предлагается фрагментами, по определению может быть сделано с использованием Views
просто потому, что фрагменты строятся поверх структуры представления. Однако фрагменты делают более сложные сценарии, включающие динамические фрагменты, немного проще ИМХО.
Более того, фрагменты в сочетании с панелью действий, скорее всего, будут долгосрочной областью внимания для Google, что означает, что я ожидаю изрядного количества дополнительной работы в этой области в течение следующих 2-3 выпусков.