Razvoj mobilnih aplikacija

Cilj i ishod predmeta

Usvajanje teoretskog znanja i praktičnih veština potrebnih za kreiranje aplikacija zasnovanih na Android platformi. Student razume i sposoban je da implementira sve ključne koncepte, tehnologije i šablone dizajna neophodne za kreiranje skalabilnih, modernih mobilnih aplikacija.

Teorijska nastava

Istorija razvoja, arhitektura, verzije i nivoi programskog interfejsa Android OS-a. Upoznavanje sa radnim okruženjem “Android studio” . Tipovi android aplikacija, AndroidManifest.xml fajl, dozvole i komponente. Anatomija android aplikacije, pregled karakterističnih foldera za čuvanje različitih tipova resursa. Upoznavanje sa gradle alatom. Izrada grafičkog korisničkog interfejsa korišćenjem različitih tipova layout-a (LinearLayout,RelativeLayout,GridLayout,ConstraitLayout,itd..). Aktivnosti i životni ciklus aktivnosti. Fragmenti, životni ciklus fragmenata, komunikacija više fragmenata i veza fragment-aktivnost. Namere i tipovi namera. Napredni koncepti kreiranja grafičkog korisničkog interfejsa i prikaza podataka korisniku (ListView, RecyclerView, TabLayout ,ViewPager, NavigationDrawer). Servisi i asinhrone operacije. Primaoci i emiteri poruka (BroadcastSender, BroadcastReciver). Perzistencija podataka. (SharedPreferences, Room). Komunikacija sa Restfull veb servisima, elementi naprednog dizajana. MVVM, MVI, MVC šabloni dizajna. Platforma Firebase, geofancing, aplikacije zasnovane na GPS tehnologiji. Testiranje aplikacije i postavljanje na Google play store. Pregled korisnih resursa za dalje usavršavanje.

Praktična nastava

Instalacija i upoznavanje sa razvojnim okruženjem “Android studio”. Kreiranje prvog android projekta, upoznavanje sa anatomijom android aplikacije i gradle alatom. Izrada grafičkog korisničkog interfejsa korišćenjem različitih vrsta layout-a. Interakcija sa elementima korisničkog interfejsa, obrada različitih vrsta događaja. Aktivnosti, fragmenti, namere. Primeri. Prikaz većih skupova podataka korišćenjem ListView-a, RecyclerView-a. Opis slučajeva korišćenja i implementacija aplikacija koje koriste komponente servisa i asinrone operacije. Primaoci i odašiljači poruka. Izrada aplikacija sa mogućnosti perzistentnog čuvanja i ponovne upotrebe podataka korišćenjem Room biblioteke, SharedPreferences klase. ViewModel, Data Binding, razvoj aplikacija zasnovanih na MVVM šablonu. Upoznavanje sa platformom Firebase, kreiranje aplikacija koje koriste Firebase kao backend servis. Razvoj aplikacija korišćenjem Geofancing i GPS tehnologije. Testiranje i puštanja aplikacija u produkciju.

3971-razvoj-mobilnih-aplikacija