Projekt z programování pro Android
Týden 3
Rozdiel medzi packageName a applicationId: http://tools.android.com/tech-docs/new-build-system/applicationid-vs-packagename
Úkol 3
- Hlavní aktivita MainActivity bude ovládat Fragmenty
- Po spuštění aplikace aktivita zijstí, zda je zařízení tablet, nebo mobil a na základě toho zobrazí Fragment pro mobil (to, co bylo původně v Aktivitě, tzn. seznam filmů)
nebo zobrazí dva Fragmenty vedle sebe (nalevo bude to, co bylo původně v aktivitě (seznam), napravo bude detail vybraného filmu) -
Chování pro mobily: po kliknutí na film se zobrazí obrazovka s detailem
- Chování pro tablety: po kliknutí na film se detail zjeví na pravé straně v detailu
- Dodělejte obrazovku pro detail filmu (bude to fragment, ne aktivita) a implementujte potřebné věci pro správné přežití aplikace v každém stavu
- Zachovejte grafický návrh pro obě obrazovky!
- Nevíte si rady s Buttonem ve tvaru kruhu? Je to FloatingActionButton
http://stackoverflow.com/questions/24459352/how-can-i-add-the-new-floating-action-button-between-two-widgets-layouts
- Prozatím nemusíte používat žádná reálná data v seznamu. Na první obrazovce (kde bude později seznam filmů) postačí vložit 3 tlačítka a na tapnutí na každé z nich se v detailu zobrazí "Film 1", "Film 2", nebo "Film 3" (odlíšení je přenecháno vaší kreativitě)
- Vytvořte model Film (otázka: v jakém package by měl být uložen?)
- bude mít atributy long releaseDate, String coverPath, String title, String backdrop, float popularity
- Vytvořte seznam takovýchto filmů v MainActivity (fake data uložena v ArrayListu), která budou volána tapnutím na tlačítka.
- Vytvořte model Film (otázka: v jakém package by měl být uložen?)
- Data o filmu je potřeba poslat Fragmentu jako Parcelable (Movie implements Parcelable)
- Pro testování zkuste stisknout tlačítko Home, návrat do aplikace, rotaci obrazovky, tlačítko zpět...
- Přetěžte si metody životního cyklu aktivity i fragmentů, vložte do nich logování a sledujte, kdy jsou jednotlivé metody volány (sledujte v logcatu == AndroidMonitoru)
- GUI pro detail filmu si už můžete připravit dle předlohy (to napravo)