Projekt z programování pro Android

Týden 2

 Úkol 2​

Template na ignorování souborů v .gitignore: https://github.com/petrnohejl/Android-Templates-And-Utilities/blob/master/Base/.gitignore

Pokračujte v minulém projektu (nezapomeňte na packageId/applicationId specifikované v Úloze1)

  • Vložte ikonu do aplikace (jednotlivé velikosti vygenerujete tady: https://romannurik.github.io/AndroidAssetStudio/icons-launcher.html)
    • Ikona se nachází v studijních materiálech, anebo link na ni naleznete na spodu této podosnovy
  • Definujte pro svou aplikaci téma (dědí z AppCompat.Light, alebo AppCompatLight.DarkActionBar)

  • Vyberte si svou primaryColor, primaryColorDark a accent z Material Palette.
    - paleta všech odstínů material barev: http://www.materialui.co/colors  
    - atribut android:primaryColor patří do core sdk, atribut primaryColor (bez prefixu) pochází ze support knihovny

  • Definujte druhé téma

  • Vytvořte první obrazovku aplikace

    • MainActivity

    • layout bude obsahovat RecyclerView pro zobrazení seznamu filmů, pro každou kategorii jich bude 6 (příští úkol`

    • background layoutu bude mít prozatím barvu accentColor

    • ..a to je zatím vše

  • Vyzkoušejte v Manifestu vyměnit primární téma za sekundární a pozorujte změny v aplikaci
    • Když úspěšně vyměníte témata pomocí buildu aplikace, vyzkoušejte implementovat dynamickou změnu:
    • Vložte do aplikace tlačítko, které bude měnit téma.
    • Na stisk tlačítka se restartuje aktivita. V metodě onCreate() před setContentView() zavolejte setTheme()+ příslušné téma
    • Abychom dosáhli změny, musíme si pamatovat téma z předchozího běhu (použijte SharedPreferences)
    • Aktivitu restartujeme:
      Vytvoříme intent,
      Nastartujeme novou aktivitu,
      Na starou aktivitu zavoláme finish()

 

Hodnocení úkolu pomocí pull requestu v repozitáři

Pro každý úkol si vytvořte z hlavní, master, branche novou (vhodně pojmenujte).
Když jste s úkolem hotovi, vytvořte Pull Request z vaší větve do master (jako hodnotící přidejte Vandu)
Úkol vám bude následně hodnocen v repozitáři.