Projekt z programování pro Android

Týden 4

Úkol 4

 

  • Vytvořte model Film (otázka: v jaké package by měl být uložen?)

    • bude mít atributy long releaseDate, String coverPath, String title

  • Vytvořte seznam takovýchto filmů v MainActivity (fake data v ArrayListu)

  • Vytvořte vlastní adapter pro zobrazení filmů v GridView hlavní aktivity

    • inflatujte vlastní View pro zobrazení filmu dle grafického návrhu

      • název filmu se může zobrazit napr. po longClicku na jeho obrázek

    • použijte ViewHolder pattern

    • vypište si do logu, kdy se inflatuje nové View pro řádek a kdy se v něm jenom mění hodnoty a pozorujte

      • (if convertView == null){ Log.i(“”,”inflate radku ”+ position);} else {Log.i(“”,”recyklace radku ”+ position)}

  • Vytvořte layout, který se zobrazí, pokud GridView nemá žádná data

    • zobrazí se jenom text "žádná data"

    • když je zařízení offline, text by měl obsahovat tuto informaci ("žádné připojení")

  • Vytvořte druhou obrazovku pro detail filmu

    • do ní se dostanete po kliknutí na položku v seznamu (zatím implementovat kliknutí a přesun do nové aktivity)

  • Chcete víc?

    • vytvořte NavigationDrawer k MainActivity a vložte do něj např. seznam žánrů, dle kterých bude možné později filtrovat filmy (když si budete prohlížet, co je nového a nezajímají vás horory, nemusejí se vám přeci horory zobrazovat) 

      • je potřeba udělat do každého řádku checkbox a implementovat klikání na filtry

      • později se vytáhnou zakliknuté žánry a přidají do volání API

    • zkuste vracet v getViewTypeCount 2, nebo libovolné větší číslo

        • vypisujte si do logu počet inflatování, podobně jako v bodě výše, a pozorujte změny
        • když v GridView zobrazujeme jenom obrázek, změnu moc nepozorujeme, ale kdyby jsme je nahradili barvou pozadí podle viewType, změnu si všimneme

        • ​co kdyby jsme chtěli barvu pozadí jinou v každém druhém řádku? jak by jsme to dosáhli?

​​​