Я знаю, що 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менше можливостей не застосовується для всіх ситуацій, оскільки це створює безлад у тому, що він називає діяльністю "Бога".