Kurs Data Driven Android Application Development

Kurs Data Driven Android Application Development obrađivaće tehnike za rad sa podacima Android aplikacija koji predstavlja jedan od najznačajnijih segmenata bilo kojeg tipa aplikacija. Pored toga, kurs pokriva sve relevantne pristupe rada sa podacima, počevši od onih osnovnih koji podrazumevaju rukovanje fajlovima i folderima Android fajl sistema. 

Na taj način polaznici će naučiti kako da rukuju podacima koji se direktno nalaze unutar interne i eksterne memorije Android uređaja. Važan aspekt Android aplikacija jesu i podešavanja jer ih gotovo svaka aplikacija poseduje u većoj ili manjoj meri. Zbog toga je posebna pažnja u kursu posvećena realizaciji sekcije za podešavanje jedne ozbiljne Android aplikacije. Kurs ilustruje na koji način se podešavanja perzistiraju i čitaju. 

Zanima vas ovaj kurs? Možete ga pohađati u okviru ovih ITAcademy programa: Android Mobile Development.

Opis i ciljevi kursa Data Driven Android Application Development

Pored tehnika za rad sa podacima i rukovanja fajlovima i folderima Android fajl-sistema, važan aspekt Android aplikacija jesu i podešavanja. Skoro svaka Android aplikacija ih poseduje u većoj ili manjoj meri. Zbog toga je posebna pažnja u kursu posvećena realizaciji sekcije sa podešavanjima jedne ozbiljne Android aplikacije. Kurs ilustruje na koji način se podešavanja perzistiraju i čitaju.

Najveći deo kursa Data Driven Android Application Development posvećen je radu sa podacima SQLite baze podataka. To je sistem za rukovanje bazama, koji predstavlja sastavni deo Android platforme, a koristi se kao primarni mehanizam skladištenja, kada je potrebno rukovati većom količinom podataka, na organizovan način. Teoretska razmatranja osobina SQLite sistema potkrepljena su razvojem ToDo Android aplikacije, koja rukuje podacima SQLite baze podataka.

Moderni pristupi rada sa podacima podrazumevaju i intenzivno korišćenje resursa koji se fizički ne nalaze na samom Android uređaju. Stoga poslednji modul ovog kursa obrađuje konzumiranje funkcionalnosti REST servisa s ciljem obavljanja osnovnih CRUD operacija nad podacima. Kao referentni primer poslužila je ToDo aplikacija, koja je u poslednjem modulu transformisana u jednu servisno orijentisanu aplikaciju.

Na kraju kursa osposobićete se za samostalnu realizaciju perzistencije podataka Android aplikacija. Polaznici će moći da razumeju elemente skladišta Android uređaja i da, u zavisnosti od potrebe, iskoriste odgovarajuće skladište za perzistenciju podataka. Osim perzistencije samih podataka, naučiće šta su to korisnička podešavanja i kako da se ona implementiraju u aplikaciju. Osim implementacije, znaće i da ih sačuvaju na tom uređaju. Nakon upoznavanja sa osnovnim konceptima rada sa podacima, polaznici će moći da razumeju šta je to sistem za upravljanje bazom podataka, da kreiraju šemu baze i ugovor, bazu podataka, da je popune podacima i da vrše različite manipulacije nad podacima. Tokom rada na realnoj i upotrebljivoj Android aplikaciji, polaznici će utvrditi znanja stečena na kursu i na kraju ih dopuniti sa radom sa servisno orijentisanim aplikacijama, koje su danas i veoma rasprostranjene.

Kurs Data Driven Android Application Development će vam odgovoriti na pitanja

1. Šta je podatak, a šta informacija?

U svakodnevnom govoru, ali i u određenim stručnim tekstovima, česta je upotreba termina podatak i informacija, u gotovo izjednačenom, sinonimskom značenju. Ipak, reč je o dva pojma koja imaju potpuno različito značenje.

Podatak je pojam koji se odnosi na neku neorganizovanu činjenicu ili vrednost koja za konzumenta nema neko posebno značenje. Na primer, jedan skup podataka može biti: 5 6 10 7 7 10 9.

Za čitaoca ovaj skup podataka nema nikakvo posebno značenje. Ipak, ukoliko bismo rekli da su ovi brojevi prognozirane dnevne temperature za narednu nedelju, ovakav skup podataka bi za čitaoca već dobio određeno značenje. Čitalac bi onda znao da broj 5 predstavlja prognoziranu temperaturu za naredni ponedeljak, broj 6 temperaturu za utorak i tako dalje.

Ovako interpretirani podaci sada postaju informacije za čitaoca sada postaju. Zato se kaže da je informacija, procesiran, organizovan, strukturiran i prezentovan podatak. Informacija je zapravo podatak koji za konzumenta ima neko upotrebljivo značenje.

Podatak, takođe, postaje informacija i procesom obrade. Tako se prikazani skup brojčanih podataka koji predstavljaju temperature za narednu nedelju može obraditi, te na taj način dobiti neka informacija. Na primer, prikazani skup podataka se može iskoristiti za računanje prosečne temperature za narednu sedmicu. Takva kalkulacija predstavljala bi neku obradu. U takvoj situaciji, skup prikazanih brojeva bi bili podaci, a vrednost 7,7 informacija koja bi predstavljala prosečnu temperaturu naredne nedelje.

2. Šta je perzistencija?

Pojam perzistencije se odnosi na mogućnost čuvanja podataka i nakon prestanka izvršavanja aplikacije. Gotovo sve aplikacije imaju potrebu da podatke kojima rukuju sačuvaju za kasniju upotrebu. Razlozi za ovako nešto su brojni. Aplikacija može baratati podacima o zaposlenima, konfiguracionim podacima aplikacije, podacima o statistici korišćenja, te se može reći da su potrebe praktično neograničene.

Aplikacija za upravljanje ljudskim resursima imaće potrebu za čuvanjem podataka o zaposlenima. Svakako, ovakva aplikacija sadržaće mnoštvo objekata zaposlenih, a neki tipični podaci za čuvanje mogu biti ime, prezime, radna pozicija, visina dohotka i slično. Sve ove podatke iz objekata zaposlenih potrebno je sačuvati na neku vrstu perzistentne memorije. U toku izvršavanja aplikacije, ovi podaci postoje unutar radne memorije koja je takozvana transient ili volatile memorija, pa se može reći da su takvi podaci samo privremeno sačuvani.

U slučaju nestanka napajanja, ovakve memorije nisu u mogućnosti da sačuvaju svoje stanje, tako da dolazi do gubitka podataka. Sa druge strane, postoje memorije koje mogu da čuvaju podatke čak i nakon gubitka napajanja, i to su takozvane non-volatile memorije. Na kraju se može zaključiti da je osnovna uloga perzistencije, čuvanje podataka, tako da oni nadžive izvršavanje aplikacije.

3. Koje su osobine Android fajl sistema?

Kod Android operativnog sistema struktura fajlova i foldera je nešto drugačija nego kod Windowsa. Glavni uzrok razlika koje postoje ogleda se u korišćenju Linux kernela kao osnove operativnog sistema Android. Upravo su zbog toga osobine Android fajl sistema veoma slične osobinama takvog sistema kod Linux operativnog sistema.

Koncept fajl sistema kod Linux OS-a, za razliku od Windowsa, ne poznaje particije. Kod Linuxa se različite particije predstavljaju različitim folderima na sistemu. Pritom, kompletna hijerarhija fajlova započinje korenom lokacijom, koja se na Linuxu označava kao „/“. Tako se kompletna fajl struktura kod Linuxa (i kod Androida) integriše unutar jedinstvene hijerarhije fajlova i foldera, koja započinje korenom lokacijom (root). Na primer, na Windows operativnom sistemu svaka od particija poseduje sopstvenu strukturu fajlova i foldera sa jedinstvenom korenom lokacijom. Ukoliko hard-disk računara sa Windows operativnim sistemom poseduje dve particije, svaka od njih će imati zasebnu strukturu fajlova i foldera. Ukoliko se na takav računar poveže i eksterna memorija korišćenjem USB konekcije, i njena struktura fajlova i foldera će biti potpuno nezavisna, sa zasebnom root lokacijom.

Ipak, tako nešto nije slučaj kod Android operativnog sistema. Fajl sistemi svih uređaja na Android operativnom sistemu objedinjuju se unutar zajedničke strukture, pod jedinstvenom korenom lokacijom (/).

 Kurs Data Driven Android Application Development

4. Šta je Android Debug Bridge?

Android Debug Bridge (adb) je komandni alat koji omogućava komunikaciju sa Android uređajem, bez obzira na to da li je reč o fizičkom ili virtuelnom uređaju. Tako se korišćenjem adb alata mogu slati različite komande Android uređajima.

Alat adb je zapravo jedan obični exe izvršni fajl, koji se nalazi u folderu platform-tools, na lokaciji na kojoj je instaliran Software Development Kit. Na novijim verzijama Windows operativnog sistema ta lokacija je uglavnom unutar AppData foldera, koji je inicijalno markiran kao skriveni folder na Windows operativnom sistemu. Najudobnije korišćenje alata adb postiže se dodavanjem putanje na kojoj se ovaj alat nalazi unutar sistemske Path promenljive. Na taj način će biti moguće zadavanje komandi ovom alatu, bez navođenja pune putanje do njega.

5. Kako funkcionišu korisnička podešavanja?

Android inženjeri potrudili su se da kreiraju jedan sveobuhvatan i vrlo upotrebljiv skup funkcionalnosti koji omogućava lak rad sa korisničkim podešavanjima. Osnovna takvog sistema jeste klasa Preference.

Kompletan sistem za rukovanje korisničkim podešavanjima koji Android platforma poseduje umnogome olakšava posao definisanja layouta, ali i logike koja će se baviti perzistencijom korisničkih podešavanja. Preferences API, u pozadini, za perzistenciju različitih vrednosti koristi SharedPreferences klasu. Takođe, korisnički interfejs podešavanja gradi se pomoću različitih klasa koje nasleđuju klasu Preference. Na kraju, više podešavanja objedinjuje se unutar specijalnih vrsta aktivnosti i fragmenata. Ukoliko se razvija aplikacija koja treba da podrži Android uređaje sa operativnim 

sistemom verzije 3.0 i starije (API verzije 10 i niže), potrebno je koristiti aktivnost PreferenceActivity. Ipak, danas je najčešći slučaj da podrška za ovako stare verzije operativnog sistema ne igra gotovo nikakvu ulogu, pa ćete se prilikom kreiranja podešavanja ipak odlučivati za nešto komfornije i modernije rešenje. Ono podrazumeva korišćenje specijalne vrste fragmenta – PreferenceFragment.

6. Šta je baza podataka?

Baza podataka je kolekcija strukturiranih informacija. Osnovna uloga baze je da upravlja velikom količinom podataka i da na organizovan i strukturiran način omogući korisniku rukovanje podacima.

Baza podataka poseduje različite mehanizme koji omogućavaju da se velika količina podataka logički organizuje, odnosno strukturira, i da se takvi podaci na lak način pretražuju, filtriraju i sortiraju. Takođe, baza podataka omogućava jednostavne mehanizme za obavljanje osnovnih operacija nad podacima, koje podrazumevaju kreiranje, brisanje, ažuriranje i čitanje. Na kraju, baza podataka poseduje i napredne mehanizme bezbednosti i razne druge funkcionalnosti.

Podaci se unutar baze podataka organizuju unutar tabela. Tabele se sastoje iz kolona i redova, koji međusobnim presecanjem čine ćelije. Svaka tabela baze podataka koristi se za čuvanje podataka o jednom entitetu. Entiteti su zapravo pojmovi iz realnog sveta čiji podaci se modeluju bazom podataka. Na primer, unutar baze se mogu čuvati podaci o nekim osobama. U takvoj situaciji, entitet je Osoba.

7. Šta je SQLite?

Danas postoji veliki broj različitih baza podataka, odnosno DBMS sistema. Svakako najpopularniji jeste MySQL. Pored MySQL-a, danas su u upotrebi i brojni drugi sistemi za rad sa bazama podataka, koji se razlikuju po osobinama i mestima primene. U uvodnim lekcijama ovoga programa, kada je bilo reči o arhitekturi Android platforme, spomenuto je da je SQLite jedan od osnovnih elemenata takve strukture. Upravo je reč o sistemu za upravljanje bazama podataka koji koristi operativni sistem Android.

SQLite jeste jedan od sistema za upravljanje bazama podataka (DBMS) i danas ima veoma široku primenu. SQLite se, pored Android platforme, koristi kao sastavni deo velikog broja softverskih proizvoda današnjice. Tako i kompanija Apple unutar aplikacija za različite tipove uređaja koristi SQLite. Na primer, iTunes aplikacija za rukovanje podacima koristi SQLite. Takođe, kompanija Adobe koristi SQLite u okviru svojih proizvoda Photoshop Lightroom, AIR i Adobe Reader. SQLite koristi i kompanija Airbus kao deo softvera letelica tipa A350. SQLite je i deo multimedijalnih sistema GM, Nissan i Suzuki vozila. To su samo neka od mesta primene SQLite-a, te je jasno da je reč o sistemu čija je upotreba veoma rasprostranjena.

SQLite sistem u značajnoj meri se razlikuje od sličnih, popularnih sistema za rukovanje bazama podataka. Na primer, između MySQL-a, danas najpopularnijeg sistema za rukovanje bazama podataka i SQLite-a, postoje značajne razlike.

Plan i program predavanja:

1. Fajlovi i folderi 

  • Uvod u rad sa podacima 
  • Rukovanje podacima internog skladišta 
  • Rukovanje podacima eksternog skladišta

2. Podešavanja 

  • Upoznavanje polaznika sa Shared Preferences 
  • Šta je Preference APIs 
  • Realizacija podešavanja aplikacije Fit Body 

3. SQLite 

  • Uvod u SQLite 
  • Šema baze i kreiranje ugovora 
  • Upoznavanje polaznika sa veštinama za kreiranje baze podataka 
  • Unos, izmena i brisanje podataka 
  • Tehnike za čitanje podataka iz baze 

4. Kreiranje ToDo aplikacije 

  • Specifikacija i modelovanje zahteva 
  • Kreiranje baze podataka 
  • Kreiranje klasa modela 
  • Upoznavanje polaznika sa glavnom aktivnošću ToDo aplikacije 
  • Šta predstavljaju fragmenti za prikaz liste stavki i na koji način se kreiraju 
  • Kreiranje, ažuriranje, pregled i brisanje stavki 

5. Rukovanje podacima korišćenjem web servisa

  • Uvod u razvoj servisno orijentisanih aplikacija
  • REST servis ToDo aplikacije
  • Konzumiranje podataka REST servisa

Polaznici kursa Data Driven Android

3 načina da dobijete odlično plaćen posao

Spremili smo dokument koji otkriva tri pouzdana načina za dolazak na dobro plaćenu poziciju za stručan rad sa računarima. Preuzmite izveštaj ovde.

Da li ima mesta? Upisni rok 2024/25. je otvoren.

Da saznate sve o upisu, kliknite ovde.

Prijavite se