Přednášky (které vede Michal Krumnikl) a další pomocné materiály naleznete na: http://tamz2.mrl.cz/

Cvičení

  1. Android Studio, instalace zalozeni projektu, emulator
  2. Ukazka aktivit, zakladni gui prvky, zasilani zprav mezi aktivitami
  3. Barcode (0-5b) Zadání zasláno na email - http://tamz2.mrl.cz/cviceni3.php
  4. Složený úrok (0-5b)
  5. Rozšíření předchozího úkolu o následující části (viz video ukázka): (0-5b)
    • Změna ikony aplikace + vytvoření menu (alespoň tři položky).
    • Hodnoty (vklad, úrok, doba) ukládat do SharedPreferences aby po vypnutí/spuštění aplikace zůstaly hodnoty z posledního výpočtu.
    • V nastavení mít možnost vybrat typ grafu (alespoň dva různé grafy). Přepínání vyřešit pomocí startActivityForResult.
    • Historii hodnot a výsledků ukládat do SharedPreferences a historii také zobrazit - https://developer.android.com/training/data-storage/shared-preferences.
    • Umožnit uživateli vyčistit historii (SharedPreferences).
    • Do menu nabídky "O aplikaci" vložit informace o aplikaci (například autor, verze).
  6. Sokoban: (0-5b)
  7. Sokoban pokračování - Levely: (0-5b)
    • - Zadání na tento úkol naleznete v následující video ukázce (obsahuje zvukovou stopu)
    • - Pro vytvoření adresáře Assets je nutné přepnout v build.gradle na alespoň minSdkVersion 16
    • - Pro splnění úkolu je potřeba načítat herní levely ze souboru, kdy po splnění daného levelu se přepne na level následující. Pro pokročilejší verzi úkolu je možné přidat výběr levelu pomocí např. listu nebo výběrem z menu. V hodnocení úkolu bude zohledněno zpracování práce s levely (např. zda hra dokáže pracovat s různě velkými levely nebo řešení výběru/čtení daného levelu).
    • - odkaz na levely
      Symbols used in the screen files:
      " " (space)--An empty space (floor)
      "#"--Walls (the walls will be curved and shadowed automatically)
      "."--Target or goal square
      "$"--Treasure
      "*"--Treasure on a goal area
      "@"--You (the player)
      "+"--You standing on a goal square.
  8. Sokoban pokračování - Ukládání skóre, zobrazení náhledu levelu, ukládání rozehraného levelu: (0-5b)
    • - Zobrazit náhled levelu pomocí ListView nebo modernějšího RecyclerView
      - Jedná se o automaticky (programově) generovaný náhled levelu podle vzhledu levelu ze třídy SokoView - ne pouze například manuálně (vytípnutý) vložený obrázek do adresáře drawable/assets a poté do listu
      - Ukládat nejlepší skóre ke každému levelu do úložiště (počet tahů, čas) - využít můžete SQLite nebo Room Persistence Library (případně SharedPreferences, ale bodově bude zvýhodněno použití jedné z předchozích technik)
      - Ukládání rozehraného levelu
      - Další možná vylepšení: například jednoduchý editor levelů; úvodní menu s výběrem postavy a zadání jména hráče; odemčení nového lelevu nebo postavy po splnění minimálního skóre atd.
      - Hint: DBHelper.java
      - Hint: Database Inspector
      - Hint: SQLite Android
    • sokoban
  9. Počasí: (0-5b)
    • - Zadání na tento úkol naleznete v následující video ukázce (obsahuje zvukovou stopu)
      - Pro síťovou komunikaci můžete využít znalosti z přednášek (např. Volley, AsyncTask)
      - Hint: CardView
    • - odkaz na ikony
  10. Počasí - Fragmenty: (0-5b)
    • - Za pomocí fragmentů modifikujte předchozí aplikaci viz obrázky a video
      - Zadání na tento úkol naleznete v následující video ukázce (obsahuje zvukovou stopu)
      - V hodnocení úkolu bude zohledněno zpracování fragmentů (např. varianta s přepínámním fragmentů podle orientace zařízení s funkční komunikací mezi fragmenty bude ohodnocena za více bodů než varianta s přepínám fragmentů bez komunikace mezi nimi).
    • fragmenty
  11. Počasí - Poloha, offline verze, nastavení (například jednotek, rozsahu/intervalu předpovědi atd.): (0-5b)
    • - Zadání na tento úkol naleznete v následující video ukázce (obsahuje zvukovou stopu)