Pocul som uz viacero android developerov odsudzovat fragmenty. Ja osobne ich pouzivam a funguju mi dobre, takze tato tema je velmi diskutabilna a velmi rad by som si precital nejaky silny argument, ktory je proti fragmentom. Zatial som ziadny nenasiel.
Najprv odpoviem na otazku:
Fragmenty mozes pouzivat ako jednotlive sekcie aktivity. Myslim si, ze zalezi od toho, aku appku vyvyjas. Ale vzdy sa oplati zgrupit fragmenty jedneho druhu pod osobitne aktivity. Nikdy nemam 1 aktivitu a vela fragmentov, ak to nie je nejaka primitivna appka. Ale zriedka sa stane, ze mam 1 aktivitu s 1 fragmentom. Ja osobne si v tom vytvaram nasledujucu logiku. Predstav si, ze mas jednu obrovsku obrazovku (vela priestoru). Mozes, cisto teoreticky, na nu nahadzat vsetky fragmenty tak, ze obrazovka bude davat zmysel ? V tom pripade sprav aktivitu ako danu obrazovku s prislusnymi fragmentami. Kazdy fragment moze byt pritom kludne dalsia osobitna obrazovka, cize len prepinas fragmenty. To, kolko fragmentov bude mat uz jedna aktivita a ake budu, to je na tebe, je to pomocka pre teba, rob ich tak, ako sa ti s nimi bude dobre narabat. Nema ti to pracu stazit ale ulahcit

. Nema ti to vytvarat kopu kodu, ale rozvrstvenie.
Osobne by som ti dal tieto rady pri pouzivani:
- vykasli sa na fragmenty, ak ich chces kombinovat so support library. Ano - vtedy je to naozaj bolest. Vtedy budes narazat na problemy, ktore ti budu pracu komplikovat a je lepsie ist do viewov. Akonahle mas pouzivat Activity alebo Fragment object so support library, radsej to nerob. Ja robievam appky s minimal SDK v 14, tam sa to da.
- fragmenty ti daju velmi lahky sposob, ako vytvarat animacie. napriek tomu sa nesnaz vsetko pchat do fragmentov, len aby si ich dosiahol.
- na vnorene fragmenty zabudni, dokym tvoj minimal sdk nie je aspon api 17. alebo na ne zabudni celkovo
- do fragmentov pchaj iba kod suvisiaci s fragmentom. to je vacsinou kod suvisiaci s layoutom, ktory mas vo fragmente. handlovanie requestu na server napriklad nepovazujem za vec suvisiacu s fragmentom, pretoze taky request mozes chciet teoreticky pouzit aj inde, asi vzdy. "Rozrolovanie detailov" vo fragmente je ale napriklad vec ktora sa tyka cisto fragmentu, tak pojde do metody, ktoru ma fragment.
Precital som si aj clanok od XOLOO (
https://corner.squareup.com/2014/10/advocating-against-android-fragments.html ) ale znova nic presvedcive som tam nenasiel. Zlozity lifecycle ? Noaco, nemam s tym problem. Hard to debug ? Not hard enough aby som ich nepouzil, vlastne som s tym nikdy problem este nemal. Layout logika ze je spojena s fragmentom ? To je podla mna vyhoda, lepsie strukturovanie kodu. Tazsie pisanie testov ? Mozno, ale chcem priklad. Ze su async ? Noaco. Fragment creation magic ? Nepouzivaj support library na ne. Ten example of usage co tam je spomenuty ? Mne sa viac paci Fragment verzia. atd atd

//edit: a co sa tyka toho nawigationdraweru a switchu.
switch nemusi mat nutne default, takze mu tam nechyba. niekedy netreba byt tak hrozne striktny.
ak chces pomoc s navigationdrawerom, zaloz novu temu, ja ho pouzivam, je to pekny element a funguje jednoducho.