Я знаю, что Activities
они предназначены для представления одного экрана моего приложения, в то время как Fragments
они предназначены для многократного использования макетов пользовательского интерфейса со встроенной в них логикой.
Еще недавно я разработал приложение, в котором говорилось, что они должны быть разработаны. Я создал Activity
для представления экрана моего приложения и использовал фрагменты для ViewPager
или Google Maps
. Я редко создавал ListFragment
или другой пользовательский интерфейс, который можно использовать несколько раз.
Недавно я наткнулся на проект, который содержит только 2 из них Activities
один SettingsActivity
и другой MainActivity
. Макет MainActivity
заполнен множеством скрытых фрагментов полноэкранного интерфейса, и отображается только один. В Activity
логике есть много FragmentTransitions
между различными экранами приложения.
Что мне понравилось в этом подходе, так это то, что, поскольку приложение использует ActionBar
, оно остается неизменным и не перемещается с анимацией переключения экрана, как это происходит с Activity
переключением. Это дает более плавное ощущение этих переходов экрана.
Итак, я думаю, что я прошу поделиться вашей текущей манерой разработки по этой теме, я знаю, что на первый взгляд это может выглядеть как вопрос, основанный на мнении, но я рассматриваю его как вопрос дизайна и архитектуры Android ... Не совсем основанный на мнении один.
ОБНОВЛЕНИЕ (01.05.2014): После этой презентации Эрика Бёрка из Square (я должен сказать, это отличная презентация с множеством полезных инструментов для разработчиков Android. И я никак не связан с Square)
http://www.infoq.com/presentations/Android-Design/
Исходя из моего личного опыта за последние несколько месяцев, я обнаружил, что лучший способ конструировать мои приложения - это создавать группы фрагментов, которые представляют поток в приложении и представляют все эти фрагменты в одном Activity
. Таким образом, в основном у вас будет то же количество Activities
в вашем приложении, что и количество потоков. Таким образом, панель действий остается неизменной на всех экранах потока, но воссоздается при изменении потока, что имеет большой смысл. Как утверждает Эрик Берк и, как я понял, философия использования как Activities
можно меньшего числа людей не применима для всех ситуаций, потому что она создает беспорядок в том, что он называет «деятельностью Бога».