460-4136/02 – Tvorba aplikací mobilních zařízení II (TAMZ)
Garantující katedra | Katedra informatiky | Kredity | 4 |
Garant předmětu | Mgr. Ing. Michal Krumnikl, Ph.D. | Garant verze předmětu | Mgr. Ing. Michal Krumnikl, Ph.D. |
Úroveň studia | pregraduální nebo graduální | Povinnost | povinně volitelný typu A |
Ročník | 1 | Semestr | zimní |
| | Jazyk výuky | angličtina |
Rok zavedení | 2021/2022 | Rok zrušení | |
Určeno pro fakulty | FEI | Určeno pro typy studia | navazující magisterské |
Cíle předmětu vyjádřené dosaženými dovednostmi a kompetencemi
Cílem předmětu je seznámit studenty s pokročilejšími technikami vývoje aplikací pro mobilní zařízení, zejména pro mobilní telefony na platformě Android. Po ukončení kurzu budou studenti schopni :
- Identifikovat aplikační domény mobilních zařízení.
- Popsat postupy užívané ve vývoji mobilních aplikací.
- Rozlišit rozdíly mezi jednotlivými platformami.
- Modifikovat desktopové aplikace pro použití na mobilních platformách.
- Odhadnout reálné možnosti zařízení vzhledem k požadavkům projektů.
Vyučovací metody
Přednášky
Cvičení (v učebně)
Ostatní aktivity
Anotace
Jde o pokračování předmětu "Tvorba aplikací pro mobilní zařízení I." Předmět se soustřeďuje na programovací techniky, které dovolují tvorbu aplikací mnohem náročnějších na technické prostředky mobilních zařízení. Jedná se zejména o aplikace intenzivně využívající multimédií a síťových rozhraní, jakými jsou například hry a synchronizační aplikace.
Povinná literatura:
Doporučená literatura:
Další studijní materiály
Forma způsobu ověření studijních výsledků a další požadavky na studenta
Podmínky udělení zápočtu:
Získání alespoň 23 bodů z celkem 45 bodů určených pro cvičení (implementace aplikace pro OS Android).
Závěrečné ověření studijních výsledků:
prezenční i kombinovaná forma studia - písemná zkouška
E-learning
Další požadavky na studenta
Základní znalost objektového programování a jazyku JAVA.
Prerekvizity
Předmět nemá žádné prerekvizity.
Korekvizity
Předmět nemá žádné korekvizity.
Osnova předmětu
Přednášky:
* Architektura OS Android, Dalvik VM, ART, vývojové nástroje.
* Aplikace, Actions, Intents, Android Manifest.
* Tvorba UI, View, Layout, Fragment, Menu.
* Ukládání dat, Shared Preferences, Internal/External Storage, SQLite.
* Síťové připojení, formátování a parsování dat, JSON.
* Bezpečnost, šifrování, popisování aplikací, Java Cryptography Architecture.
* Asynchronní zpracování událostí, souběžné zpracování úloh, vlákna, synchronizace.
* Vykreslování grafiky, tvorba her, herní smyčka, knihovny pro tvorbu her.
* Podpora multimédií - audio, video, přehrávání, zachytávání, zpracování obrazových a zvukových dat.
* Akcelerace 2D a 3D grafiky, OpenGL ES.
* Technologie NFC (Near field communication), senzory mobilních zařízení.
* Reverse engineeering aplikací, obfuskace kódu, optimalizace.
* Knihovny třetích stran.
* Publikace na Google Play, monetizace aplikací.
Cvičení:
* Seznámení se s vývojovými nástroji. Tvorba jednoduché aplikace, nasazení na mobilní zařízení nebo emulátor.
* Základní prvky aplikací. Přepínání mezi aktivitami, předávání parametrů.
* Tvorba vlastního prvku typu View, vykreslování obsahu, reakce na události.
* Práce s XML dokumenty, využití ListView pro zobrazení dat.
* Síťové připojení, stažení obsahu, offline ukládání dat.
* Tvorba jednoduché hry, vykreslování na plátno.
* Práce se soubory a sockety. Načítání a ukládání strukturovaných dat.
* Vzdálená volání, síťové služby.
* Využití SQLite databáze.
* Vykreslování 3D grafiky, pohyb a jednoduchá fyzika, OpenGL ES.
* Využití vláken, synchronizační aplikace.
* Práce se zvukovým a obrazovým záznamem, jednoduchá analýza.
* Využití knihoven třetích stran k tvorbě grafů.
* Ukázka možností obfuskace kódu, nástroje pro reverse engineering aplikací.
Podmínky absolvování předmětu
Výskyt ve studijních plánech
Výskyt ve speciálních blocích
Hodnocení Výuky
Předmět neobsahuje žádné hodnocení.