Anda di halaman 1dari 31

SVEUILITE U DUBROVNIKU

ODJEL ZA ELEKTROTEHNIKU I RAUNARSTVO


STUDIJ POSLOVNO RAUNARSTVO












SEMINARSKI RAD
ANDROID MOBILNI OPERACIJSKI SUSTAV













Dubrovnik, rujan 2014.


SVEUILITE U DUBROVNIKU
ODJEL ZA ELEKTROTEHNIKU I RAUNARSTVO
STUDIJ POSLOVNO RAUNARSTVO








SEMINARSKI RAD
ANDROID MOBILNI OPERACIJSKI SUSTAV









Mentor: Student:
dipl.ing. Ivan Grbavac Joko Dujmovi







Dubrovnik, rujan 2014.


SADRAJ

SAETAK .................................................................................................................................. 4
SAETAK (strani jezik) ............................................................................................................ 5
UVOD ........................................................................................................................................ 7
1. OPERACIJSKI SUSTAV ZA MOBITELE ANDROID .................................................... 8
1.1. to je to Android? ........................................................................................................ 8
1.2. Arhitektura Android operacijskog sustava .................................................................. 9
2. APLIKACIJSKA STRUKTURA U ANDROIDU ........................................................... 13
2.1. Activity ...................................................................................................................... 14
2.2. Service ....................................................................................................................... 15
2.3. Broadcast receiver ..................................................................................................... 16
2.4. Content provider ........................................................................................................ 16
2.5. Datoteka manifest (AndroidManifest.xml) ................................................................ 17
2.6. Aktivacijska komponenta - Intent .............................................................................. 19
2.7. ivotni ciklus Activityja ............................................................................................ 20
3. INSTALACIJA RAZVOJNOG ALATA.......................................................................... 23
3.1. Instalacija Java razvojnog alata ................................................................................. 24
3.2. Android SDK ............................................................................................................. 25
3.3. Instalacija Eclipse ...................................................................................................... 26
3.4. Konfiguracija Eclipse ................................................................................................ 28
4. ZAKLJUAK ................................................................................................................... 30
5. LITERATURA ................................................................................................................. 31


4

SAETAK


Tema seminarskog rada je operacijski sustav za mobilne platforme Android. Njegova glavna
karakteristika je u tome to je izgraen na Linux arhitekturi i to je projekt otvorenog koda.
Opisana je arhitektura sustava i njegove karakteristike. Obraeni su svi najvaniji elementi
Android mobilnih aplikacija, njihov nain rada i karakteristike. Takoer opisane su faze i
koraci instaliranja razvojnih alata potrebnih za razvoj Android mobilnih aplikacija.
Danas je Android najbre rastui i sve vie popularniji i zastupljeniji operacijski sustav.
Dnevno se objavljuje na desetke tisua novih aplikacija koje su sve dostupne preko Android
marketa.
Namjera ovog seminarskog rada je da poslui kao uvod u teoriju razvoja mobilnih aplikacija i
da predstavi Android kao jednog od vodeih mobilnih operacijskih sustava i na taj nain
pobudi elju za razvojem Android mobilnih aplikacija.


5

SAETAK (strani jezik)


Subject of seminar work is mobile operating system Android. It's best characteristics is Linux
base architecture and open source licence. Part 1 introduce Android architecture and
characteristics. Part 2 introduce the most important elements of Android mobile applications,
their characteristics and operations. Part 3 introduce step by step tutorial how to install
developer tools for develop Android mobile applications.
Today Android is the fastest and the most popular operation system. Thousands of new
mobile applications get publish daily on Android market.
This seminar work may help you to get first introduction into theory of mobile development
and to represent Android as one of the leading mobile operating systems of today and
knowing that evoke desire for development of Android mobile applications.


6


7

UVOD


Prva generacija mobilnih mrea bila je analogna, druga generacija digitalna. Analogni mobilni
telefoni radili su po principu radio prijemnika, dok digitalni prijenos podrazumijeva kodiranje
informacija. Veina mobilnih telefona danas radi na principu digitalne tehnologije. 1956. god
Ericsson je predstavio sustav koji je omoguio ono to danas svi koristimo, a to je mobitel.
Krajem 60 - ih i 70 -im godinama 20. stoljea Motorola je razvijala runi komunikacijski
ureaj, a 1964. godine Nokia za vojne svrhe prvi put razvija mobilni telefon. 21. rujna 1983.
godine ameriko Vijee za telekomunikacije odobrilo je komercijalnu proizvodnju
Motorolinog mobitela DynaTAC 8000x, ime je zapoela ravolucija beine komunikacije.
Od tog trenutka pa sve do danas broj korisnika mobilne tehnologije je dosegao brojku od 2,5
milijarde.
Dosadanji razvoj mobilnih tehnologija je dovelo do toga da mobitel nije vie samo
komunikacijski ureaj koji slui za telefoniranje i slanje tekstualnih poruka, moemo
pregledivati elektronsku potu. surfati internetom, pregledavati dokumente, koristiti drutvene
mree, video pozive i sl. Vrlo vana karakteristika dananjih mobilnih ureaja je i njihova
funkcionalnost koja ovisi i o mobilnoj plaformi koja pokree mobilni ureaj. Putem mobilnog
oprecijskog sustava ureaj upravlja svojim resursima. Omoguuje izvoenje mnogobrojnih
mobilnih aplikacija.Postoji na stotine tisua razliitih mobilnih aplikacija i uvod u njihov
razvoj je upravo tema ovog seminarskog rada. Obradit emo mobilni operacijski sustav
Android. Operacijski sustav koji danas postaje sve vie popularniji i sve vie zastupljniji na
razliitim mobilnim ureajima i zbog toga predstavlja i razvojni izazov programeru mobilnih
aplikacija.
Upoznat emo povijest Androida i navesti njegove specifinosti. Opisati emo sve
karakteristke Android mobilnih aplikacija i navesti potrebne alate za razvoj mobilnih
aplikacija. Opisti emo faze i korake instaliranja potrebnih Java i Android alata te integrirano
razvojno okruenje Eclipse.





8

1. OPERACIJSKI SUSTAV ZA MOBITELE ANDROID


Poetak ANDROID operacijskog sustava za mobitele zapoinje u srpnju 2005. godine
nakon to je Google preuzeo malu kompaniju Android Inc. , te pod konzorcijem Open
Handset Alliance objavio ANDROID, open source operacijski sustav za mobilna
okruenja.Open Handset Alliance je grupa hardverskih i softverskih developera, ukljuuje
Google, NTT DoCoMo, Sprint Nextel i HTC, iji je cilj izrada i razvoj to otvorenijih
mobilnih okruenja. Upravo iz tog razloga Google je svim developerima omoguio
raspolaganje i koritenje razvojnih alata i sustava za uenje novog operacijskog sustava. Na
internet stranici http://code.google.com/android mogue je pronai mnogobrojne sustave za
uenje, razvojne platforme (SDK), pa ak i razvojni forum, s toga bi upravo ta internet
stranica trebala biti startna toka svakog novog developera mobilnih aplikacija za Android
mobilnu platformu.


1.1. to je to Android?


Android je mobilni operacijski sustav koji je baziran na modificiranoj verziji Linux-a,
besplatan i otvoren, velika veina Android koda je objaveljena kao open source pod Apache
licencom, to znai da u sluaju da netko eli koristiti Android to moe uiniti jednostavnim
preuzimanjem izvornog koda. Tako razni hardverski proizvoai mogu dodavati vlastite
ekstenzije Androida i prilagoavati Android vlastitim potrebama te tako napraviti razlike od
konkurencije. Zbog svoje otvorenosti i jednostavnosti razvoja, Android je vrlo atraktivan i
pobuiva interes kod mnogobrojnih proizvoaa mobilnih ureaja. Nakon to je Apple
objavio svoj proizvod iPhone, odlian proizvod koji je revolucionirao industriju pametnih
mobilnih telefona, mnogi proizvoai mobilnih ureaja vodili su mukotrpnu borbu u
pronalasku naina kako osvjeiti i poboljati vlastite proizvode. Proizvoai kao to su
Motorola, Sony Ericsson koji su mnogo godina razvijali vlastite mobilne operacijske sustave,
pronali su rjeenje upravo u Androidu. Nastavit e razvijati vlastita hardverska rjeenja, a
Android e iskoristiti za operacijski sustav koji e njima upravljati.
9

Glavna prednost iskoristivosti Android operacijskog sustava je u tome to nudi jedinstveni
pristup razvoju aplikacija. Developeri razvijaju aplikacije samo za Android, njihovo
pokretanje bilo bi mogue na bezbroj razliitih mobilnih ureaja; pametnih telefona, tableta,
pametnih televizora; ukoliko te ureaje pokree Android operacijski sustav. U svijetu
pametnih telefona, aplikacije su te koje prave razliku u kvaliteti proizvoda mobilnih ureaja.
Iz tog razloga mnogobrojni proizvoai upravo Androidu vide kao klju uspjeha i najbolju
nadu u vrtoglavi uspon iPhona.


1.2. Arhitektura Android operacijskog sustava

Arhitektura operacijskog sustava Andorid je Linux jezgra i skup sistemskih biblioteka
napisanih u C/C++ programskim jezicima. Posebna osobitost je Dalvik virtualni sustav koji
dozvoljava izvravanje vie virtualnih strojeva odjednom kako bi se maksimalno iskoristio
potencijal Linux jezgre. Odnosno, svaka aplikacija izvrava se u svom virtualnom okruenju.
Sustav aplikacijskih biblioteka podloga je za razvoj korisnikih aplikacija. Za razliku od
klasinih aplikacija na raunalnima koje se paralelno izvode i imaju jednaki prioritet, na
Android operacijskom sustavu izvrava se primarna aplikacija koja zauzima cijeli ekran.

10


Slika 1. Arhitektura Android operacijskog sustava
Na slici 1. prikazana je arhitektura operacijskog sustava Android sa koje je vidljivi elementi
od kojih se ona sastoji.

Linux jezgra (Linux kernel)
Upravljaki programi, hardverski driveri, procesi, upravljanje memorijom, sigurnost,
mrea upravlja Linux 2.6 jezgra.

Biblioteke (Libraries)
Sloj iznad Linux jezgre, ukljuuje mnoge C/C++ izvorne datoteke kao na primjer libe i
SSL, odnosno:
o medijska biblioteka za pokretanje i prikaz audio i video podataka
o Surface menager za prikaz slike
o Grafike biblioteke koje ukljuuje SGL i OpenGL za 2D i 3D grafiku
o SQLite podrka za bazu podataka
o SSL i WebKit za integraciju sa Web pretraivaima i internetsku sigurnost

Android runtime
11

Ovaj dio sloja Biblioteke pokree mobilnu aplikaciju i formira bazu sloj za aplikacijski
okvir za aplikacije (application framework) . Ukljuuje izvrne datoteke i Dalvik,
vlastiti virtualni stroj.
o Izvrne datoteke: Iako je velika veina Android aplikacija pisana koristei Java
programski jezik, Dalvik nije java VS. Omoguuju koritenje mnogobrojnih
funkcionalnosti izvrnih Java datoteka kao i Android specifinih datoteka.
o Dalvik: Virtualni stroj koji je optimiziran iz razloga da bi osigurao uinkovito i
istovremeno nekoliko aplikacijskih instanci. Linux jezgra upravlja dretvama i
aplikacijskim resursima.

Aplikacijski okvir (Application framework)
Ovaj sloj se sastoji od klasa koje se koriste pri izradi aplikacija. Preko tih klasa
omoguen je pristup hardverskim resursima, upravljanju korisnikog suelja i
upravljanje resursima.

12

Aplikacijski sloj (Application layer)
o Home: prikazuje aplikacije, grafike elemente (widgets) i preace. Takoer
podrava promjenjivu pozadinu
o Phone: podrava klasine mobilne funkcije.
o Web Browser: pretraiva baziran na WebKitu sa svim njegovim
mogunostima. Podrava HTML i XHTML.
o Email: osigurava pristup posluiteljima e maila koji se obino mogu nai na
Internetu i podrava POP3, IMAP4 i SMPT.
o Media player: omoguuje upravljanje i reprodukciju video i audio sadraja
o Alarm, Kalkulator, Kalendar, Kamera, Kontakti, MMS i mnoge druge
aplikacije su takoer ukljuene.


13

2. APLIKACIJSKA STRUKTURA U ANDROIDU


Razvoj mobilnih aplikacija za Android mobilni operacijski sustav obavlja se u Java
programskom jeziku. Kod kompiliranja sprema se u Android package sa .apk sufikosm.
Sadri sve podatke i datoteke nune za rad aplikacije te se u takvom obliku instalira i
distribuira na mobilne ureaje.
Prilikom izvravanja bilo kojeg dijela koda Android operacijski sustav aplikaciju pokree u
vlastitom Linux procesu i gasi kada vie nije potrebna. Izvravanje aplikacija je neovisno
jedna od druge. To je omogueno na nain da svaka koristi svoj virtualni stroj. Pri tome
svakoj aplikaciji dodjeljuje se vlastiti Linux identifikator (ID), a prema opim postavkama
podaci su vidljivi samo samoj aplikaciji i korisniku koji je koristi.
Vana znaajka Android aplikacije je koritenje elemenata druge aplikacije. Time se smanjuje
potreba za pisanjem istih dijelova koda za razliite aplikacije. Mogue je pokrenuti samo dio
aplikacije koji je potreban drugoj. Nain na koji je to omogueno jest taj da ne postoji samo
jedna toka ulaza za svaku komponentu aplikacije (ne postoji main() metoda), ve je svaka
aplikacija napravljena od osnovnih komponenti koje sustav moe inicijalizirati i pokrenuti po
potrebi. Prilikom dizajniranja aplikacije potrebno je aplikaciju razloiti na osnovne elemente i
definirati kada i kako se pojedini elementi pokreu.
Postoje etiri vrste tih komponenti :
Acitivity
Service
BroadcastReceiver
ContenProvider


14

2.1. Activity


Activity predstavlja korisniko grafika suelje, ekran koji se prikazuje korisniku. Npr.
lista akcija koje korisnik moe odraditi, slike omota muzikih albuma ili ekran za namjetanje
postavki aplikacije i sl. Aplikacija za pisanje tekstualnih poruka sastoji se od vie acitity
elemenata. Jedan slui za pisanje teksta poruke, drugi za prikaz kontakt podataka iz imenika i
trei za pregled poslanih i primljenih tekstualnih poruka. Svaki ovaj element predstavlja
podklasu osnovne klase Acitiy.
Broj activityja ili bilo kojih drugih osnovnih komponenti te nain na koji one surauju je stvar
dizajna i namjene aplikacije. Uobiajena praksa je da aplikacija ima poetni activity koji se
prikazuje korisniku kada se pokrene aplikacija. Prelazak s jednog na drugi izvodi se na nain
da trenutni pokrene onaj dio koji je potreban.
Pri izradi activityja svakom je dodijeljen njegov vlastiti prozor, koji je inicijalno postavljen
da pokrije cijeli ekran, no to se, naravno, moe promijeniti. Svaki activity moe koristiti
dodatne elemente prikaza kao to su primjerice pop-up prozori koji zahtijevaju korisnikovu
interakciju ili prozor u koje se prikau detaljnije informacije o elementu koji je korisnik
trenutno odabrao.
Vizualni sadraj prozora ima hijerarhijski organiziran sadraj elemenata prikaza koji su svi
izvedeni iz osnovne klase View. Svaki element pripada odreenom prostoru pravokutnog
oblika unutar prozora. Pojam hijerarhijski odnosi se na elemente prikaza, pa tako element
prikaza roditelj organizira i sadri izgled i raspored elemenata prikaza djece. Postoji skup
gotovih elemenata prikaza sadranih u Androidu kao to su gumbi, polja za unos teksta,
izbornici, check-boxovi i drugi.



15

2.2. Service


Element Service koristi se za zadatke koji se izvode u pozadini bez interakcije sa
korisnikom. Najjednostavniji primjer koritenja elementa Service jest reprodukcija zvuka u
pozadini pri radu aplikacije. Idealan je za situacije gdje nije potreban prikaz korisnikog
suelja. Primjer ovakvog naina koritenja elementa Service bila bi aplikacija koja logira
geografske koordinate ureaja.
U osnovi servis moe imati dva naina rada:
Started
Service je u stanju Started kada aplikacijski element, za primjer uzet emo Activity,
pokree servis pozivanjem metode startService(). Kada se servis jednom pokrene
moe raditi vjeno u pozadini pa ak i kad aplikacijski element koji ga je inicijalizirao
prekine sa svojim radom. Uobiajena praksa je da pokrenuti servis obavlja jednu
operaciju i pri tome ne vraa nikakav rezultat u pozivajui element. Kao primjer je
operacija downloada, odnosno uploada datoteke. Pri zavretku operacije, sevis bi se
trebao izgasiti.

Bound
Service je u stanju Bound u trenutku kada se aplikacijski elemet vee za servis
pozivajui metodu bindService(). Na ovaj nain omoguuje se interakcija aplikacijskih
komponenti i servisa. ivotni vijek servisa traje sve dok je vezan za aplikacijski
element. Ukidanjem veze izmeu aplikacijskog elementa i servisa, servis se gasi.

Service se izvodi u glavnoj dretvi aplikacije. Servis ne kreira novu dretvu i ne izvodi se u
odvojenom procesu. Ovo je vrlo bitna injenica jer ukoliko servis radi neki CPU posao
potrebno je napraviti novu dretvu unutar servisa koji e izvriti njegovo izvoenje. Na ovaj
nain moe uvelike smanjiti rizike od ANR greaka (Application not respoding).



16

2.3. Broadcast receiver


Zadatak aplikacijskog elementa Brodacast receiver je primanje obavijesti o
vieodredinom razailjanju (engl. Broadcast) iz neke druge aplikacije ili samog operacijskog
sustava. Primjeri takvih obavijesti su preostali napon baterije, dostupnost WiFi mrea u
okolici, obavijest da je zavren download nekog podatka na ureaj i da je dostupan za
upotrebu.
Ovaj aplikacijski element nema grafiko suelje, ali moe pokrenuti odreeni activity kao
odgovor na informaciju koju su dobili ili umjesto toga mogu koristiti upravitelja obavijesti.
Takve obavijesti prikazuju se kao ikonica na traci stanja koju korisnik moe odabrati kako bi
proitao obavijest. Osim prikaza ikonice na traci stanja mogue je paralelno pokrenuti
treperenje pozadinskog svijetla, vibraciju ureaja ili reproducirati odreeni zvuk.


2.4. Content provider


Aplikacijski element Content provider omoguava pristup strukturiranim setovima podataka,
enkapsuliraju ih i pruaju sigurnosne mehanizme. Omoguuje pristup podacima iz jednog
procesa sa pokrenutim kodom u drugom procesu. Podaci se mogu pohraniti u datoteni sustav
kao datoteka ili u obliku SQLite baze podataka. Ukoliko elimo pristupiti i koristiti podatke
koristim osnovnu klasu ContentResolver. Ova klasa sadri standardni skup metoda koja
aplikacijama omoguuje preuzimanje ili pohranu podataka koje auriraju. Pozivi metoda klase
ContentResolver ne obavlja sama aplikacija ve za to koristi objekt ContetResolver. Ovaj
objekt moe komunicirati sa svakim Content providerom na nain da on upravlja
komunikacijom.
Operacijski sustav se brine o tome je li proces pokrenut ili ga treba pokrenuti svaki puta kada
se pojavi zahtjev koji treba obraditi aplikacija koja trenutno nije aktivna. Takoer,ako ne
postoje instance koje su potrebne, a dio su aplikacije koja treba obraditi zahtjev,Android ih
sam stvara.


17

2.5. Datoteka manifest (AndroidManifest.xml)


Da bi se komponenta aplikacije mogla pokrenuti, Android mora znati da ta komponenta
postoji. To je izvedeno na nain da aplikacija deklarira svoje komponente u manifest datoteci
koja je povezana s paketom Android aplikacije .apk. Ta datoteka je strukturirana XML
datoteka i uvijek se zove AndroidManifest.xml, za sve aplikacije. U njoj je definirano jo
mnogo drugih stvari kao to su imena biblioteka s kojima aplikacija trebabiti povezana i
dozvole koje se dodjeljuju aplikaciji. Android ne vidi komponente koje nisu deklarirane u
manifest datoteci te se one stoga ne mogu izvoditi.
Imenuje Java paket koje koristi aplikacija i ono predstavlja unikatni identifikator
aplikacije
Opisuje aplikacijske elemente.
Odreuje u kojem procesu e se sama aplikacija pokrenuti.
Odreuje prava koja aplikacija mora imati da bi komunicirala sa elementima drugih
aplikacija
Odreuje prava koja druge aplikacije moraju imati da bi se ostvarila komunikacija
izmeu njih


18

Izgled XML datoteke AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>

<manifest>

<uses-permission />
<permission />
<permission-tree />
<permission-group />
<instrumentation />
<uses-sdk />
<uses-configuration />
<uses-feature />
<supports-screens />
<compatible-screens />
<supports-gl-texture />

<application>

<activity>
<intent-filter>
<action />
<category />
<data />
</intent-filter>
<meta-data />
</activity>

<activity-alias>
<intent-filter> . . . </intent-filter>
<meta-data />
</activity-alias>

<service>
<intent-filter> . . . </intent-filter>
<meta-data/>
</service>

<receiver>
<intent-filter> . . . </intent-filter>
<meta-data />
</receiver>

<provider>
<grant-uri-permission />
<meta-data />
<path-permission />
</provider>

<uses-library />

</application>

</manifest>


19

2.6. Aktivacijska komponenta - Intent


Asinkrona poruka kojom se aktivira pojedina komponenta naziva se intent. To je objekt
klase Intent u kojemu je sadraj poruke. Za activity i service ta poruka, izmeu ostalog sadri
ime radnje koja se zahtijeva i URI (engl. Uniform Resource Identifier) datoteke nad kojom ta
radnja treba biti obavljena, dok za broadcast receiver sadri ime radnje koja je objavljena
(npr. moe obavijestiti strane koje ga oslukuju da je pritisnut gumb zapokretanje kamere). Za
aktivaciju svake od komponenti postoje razliite metode. Activity se pokree tako da se intent
objekt poalje metodi Context.startActivity() ili Activity.startActivityForResult(). esta je
situacija da jedan activity pokree drugi. Ako oekuje neki rezultat od activityja kojeg poziva,
koristi drugu navedenu metodu. Rezultat se takoer vraa kao intent objekt. Activity koji
reagira na intent, moe provjeriti koji intent ga je pokrenuo metodom getIntent(). Service se
pokree metodom Context.startService(). Metodom Context.bindService() moe se
uspostaviti veza izmeu pozivajue komponente i servicea. Vieodredino razailjanje
pokree se tako da se intent objekt poalje metodiContext.sendBroadcast(),
Context.sendOrderedBroadcast() ili Context.sendStickyBroadcast(). Intent objekt moe
eksplicitno navesti ime ciljane komponente u tom sluaju Android pronalazi tu komponentu
na temelju deklaracija u datoteci manifest i aktivira je. U sluaju da ciljana komponenta nije
imenovana, Android pronalazi najbolju komponentu koja odgovara tom intentu. To ini tako
da intent objekt usporeuje s intent filtrom potencijalnih ciljnih komponenti. Filtri
obavjetavaju operacijski sustav o tome koje vrste intenta mogu obraditi, to je zapisano u
manifest datoteci.Komponenta moe imati neogranien broj intent filtara. Ako nema nijedan,
mogue ju je aktivirati jedino intentom koji eksplicitno imenuje tu komponentu kao ciljnu.

20

2.7. ivotni ciklus Activityja


Postoje tri stanja u kojima se activity moe nai:
aktivno stanje ili stanje izvoenja
kada je prikazan na ekranu (to je stanje kada korisnik koristi njegove mogunosti)
pauzirano stanje
jo uvijek je vidljiv korisniku, no trenutno ga ne koristi. To je sluaj kada je drugi
activity iznad njega, koji je transparentan ili ne pokriva cijeli ekran. U sluaju da
operacijski sustav ima premalo slobodne memorije, moeubiti takav activity.
zaustavljeno stanje
drugi activity ga je potpuno prekrio. Jo uvijek su sauvane sve informacije o stanju.
Ovakvi activityji se esto ubijaju kada sustavu treba memorije.
















Slika 2.1. Dijagram stanja activityja

21

Prelazak iz jednog stanja u drugo dogaa se pozivom jedne od ovih metoda:
void onCreate()
void onStart()
void onRestart()
void onResume()
void onPause()
void onStop()
void onDestroy()

Sve prethodno navedene metode mogu se nadjaati (engl. override) te se tako moe definirati
to treba uiniti kada se promijeni stanje. Jedina nuna metoda je onCreate() jer se u njoj
definiraju poetne postavke.

Na dijagramu moemo vidjeti tri vana puta:
cijeli ivotni ciklus activityja odvija se izmeu prvog poziva onCreate() metode do
prvog poziva onDestroy() metode. Obuhvaeno je sve od definiranja poetnih postavki
na poetku do oslobaanja zauzetih resursa.
vidljivi ciklus activityja odvija se izmeu metoda onStart() i onStop(). Korisnik vidi
activity na ekranu, to obuhvaa sluajeve kada je korisnik s njime u interakciji i kada
je activity vidljiv iako trenutno nije aktivan.
aktivni ciklus activityja odvija se izmeu poziva metoda onResume() i onPause(). U
ovom sluaju, korisnik je u neposrednoj interakciji s activityjem .

Activity se stvara metodom onCreate(), a pokree metodom onStart(). Tada activity radi, tj. u
aktivnom je stanju. Metodom onPause() prelazi u pauzirano stanje iz kojega se u aktivno
moe vratiti pozivom metode onResume(). Da bi se vratio u prvi plan iz stanja kada se ne vidi
na ekranu, mora se pozvati metoda onRestart(). Gasi semetodom onDestroy(). Operacijski
sustav se brine za pohranu stanja activityja ako ga treba sruiti kako bi oslobodio memoriju.
Da bi to bilo mogue, treba implementirati metodu onSaveInstanceState(), koju Android
poziva kada postoji mogunost da e activity biti sruen dakle prije poziva onPause()
metode. Stvara se Bundle objekt ukoji se pohranjuje trenutno stanje activityja u obliku parova
ime-vrijednost. Kada se taj activtiy ponovo pokree, Bundle objekt se predaje metodama
22

onCreate() i onRestoreInstanceState() (koja se izvrava nakon onStart() metode) kako bi se
moglo vratiti stanje u kojem je activity bio prije nego je sruen.



23

3. INSTALACIJA RAZVOJNOG ALATA


Mogue je razvijati Android aplikacije na raznim operacijskim sustavima, ukljuujui
Windows, Linux i Mac OS X operacijske sustave. U ovom dijelu obraditi e se instalacija
potrebnih alata za Windows operacijski sustav.
Prije poetka same instalacije potrebno je provjeriti da li vae radno okruenja zadovoljava
konfiguraciji potrebnoj za razvoj i rad. Uglavnom, bilo koje raunalo ili laptop iz zadnjih 4
godine bi trebao biti dovoljan. Laptop sa 1.6Ghz Pentium D procesorom, 1GB RAM
memorije i Windows XP ili Windows 7 e zadovoljiti sve potrebe. Takoer osim
konfiguracije potrebno je osigurati i dovoljnu veliinu slobodnog prostora na vaem disku;
uglavnom potrebno je oko 3GB slobodnog prostora na vaem tvrdom disku.

24

3.1. Instalacija Java razvojnog alata


Sljedei koraci opisuju kako instalirati Java razvojni alat (JDK).

Otiite na internet stranicu
http://www.oracle.com/technetwork/java/javase/downloads/index.html
Kliknite na Download tipku za Java Platform (JDK) - Slika 3.1.
Otvorit e se novi prozor u kojem vas trai da odaberete operacijski sustav na kojem
e se razvijati.
Kliknite Download link za odgovarajui operacijsku sustav
Za Windows operacijski sustav odaberite 32 - bitnu instalaciju. Ako koristite 64 - bitni
operacijsku sustav nema veze. Moete instalirati oba dva, ali morate instalirati 32 -
bitni JDK jer je on potreban za Android razvoj.
U Save As dialokom prozoru odaberite lokaciju gdje elite instalirati JDK.
Pritisnite Yes tipku.











Slika 3.1. Izgled internet stranice za download Java razvojni alat (JDK).

To je sve to je potrebno da bi se instalirao Java razvojni alat (JDK) i spremni ste za prelazak
na sljedeu fazu.

25

3.2. Android SDK


Android SDK se sastoji od debagera, Android biblioteka, mobilnog emulatroa,
dokumentacije, primjera koda i sustava za uenje. Razvoj Android aplikacija nije mogu bez
Android SDK. Za instalaciju Android SDK potrebno je:

Otiite na stranicu
http://developer.android.com/sdk/index.html
Odaberite zadnju verziju SDK startnog paketa za vau platformu.
Ovom akcijom ste preuzeli Android SDK.
Otvorite SDK Menager.
Odaberite Android 4.1 verziju
4.1 je trenutno zadnja verzija Android operacijskog sustava. Osim toga trebate
odabrati dokumentaciju i primjere koje odgovaraju verziji 4.4 (API 16). Slika 3.2.










Slika 3.2 Paketi SDK menadera

Kliknite Instal packages
Odaberite Accept radio tipku da bi prihvatili lincencu i pritisnite Install.
Nakon zavretka instalacije kliknite tipku Close.


26

3.3. Instalacija Eclipse


Nakon instalacija potrebnik SDK - ova potrebno je integrirano razvojno okruenje, treba vam
Eclipse. Da bi ste instalirali Eclipse potrebno je:

Otiite na stranicu
http://eclipse.org/downloads
Odaberite Eclipse IDE za Java developere i preuzmite zip datoteku.
Nakon zavretka preuzimanja ekstraktirajte Eclipse .zip datoteku na lokaciju po vaem
izboru; npr. C:\Program Files\Eclipse.
Nakon to ekstraktirate sadraj datoteke savjetujem Vam da napravite preicu na
vaem poetnom zaslonu kako bi lake i bre pronali i pokrenuli Eclipse.
Nakon pokretanja Eclipse potrebno je definirati putanju vae radne datoteke.
(Workspace Slika 3.3)
Ako planirate razvijati vie aplikacija koristite razliite radne datoteke za pojedine
projekte. Ako vie projekata spremate u jednu radnu datoteku, organizacija projekata
moe zadati teke glavobolje. Spremanjem projekata u svoje radne datoteke uvelike
olakava rad na vie projekata ukoliko npr. trebate pronai projekt i ispraviti neki
bug.








Slika 3.3 Definiranje putanje radne datoteke

27

Kada se pokrene Eclipse prikazuje se ekran dobrodolice.












Slika 3.4 Eclipse Ekran dobrodolice


28

3.4. Konfiguracija Eclipse


Android razvojni alat (Android Development Tools - ADT) dodatak za Eclipse obavlja
mnogobrojni posao za Vas. ADT omoguuje:
Jednostavno kreiranje Andorid projekata
Ubrzava pisanje koda jer kreira sve obavezne fajlove
Debagira aplikaciju koristei Andorid SDK alate
Eksportira aplikacijski fajl, odnosno Android Package (APK) izravno iz Eclipse.
U prolosti su programeri morali pisati mnogobrojne linije koda da bi dobili APK
fajlu, a sada je to eliminirano upotrebom ADT.

Da bi namjestili Android razvojni alat (ADT) u Eclipse potrebni je:
Pokrenite Eclipse
Odaberite Help - Install New Software
Pritisnite Add tipku da bi dodali novi sajt.
Sajt je web adresa koja se koristi za host software na internetu. Dodavanje sajta
uvelike olakava nadogradnju software -a kad je dostupna nova verzija.
Upiite eljeno ime
Upiite adesu u polje Location
https://dl-ssl.google.com/android/eclipse/
Pritisnite tipku OK.
Odaberite Developer Tools i pritisnite Next tipku.
Pritisnite tipku Next da bi pregledali softversku licencu.
Pritisnite tipku Finish.
Na kraju potrebno je restartati Ecplipse

Nakon instalacije Android razvojnog alata potrebno je definirati lokaciju SDK ureaja. Da bi
ste uinili sljedite sljedee korake.

Odaberite Window -> Preferences
Odaberite Andorid u lijevom panou
Postavite SDK lokaciju foldera u kojem ste instalirali Android SDK.
Ako se Android SDK spremili na lokaciju C:\android na Vaem raunalu, tada je
lokacija C:\android \android - sdk - windows Slika 3.5.
Pritisnite tipku OK.


29

Eclipse je sada iskonfiguriran i spreman za poetak razvoja Android aplikacija











Slika 3.5 Postavljanje lokacije Android SDK

30

4. ZAKLJUAK


Kako je Android OS za mobilne platforme danas najpopularniji operativni sustav za
mobilne ureaje, tako se sve vie i vie programera odluuje okuati u razvoju mobilnih
aplikacija. Ovim seminarskim radom dotaknuo sam se osnovnih karakteristika i mogunosti
razvoja za OS Android. Iako je Android na tritu skoro 10. god. i da ve postoji veliki broj
mobilnih aplikacija dostupnih u Google Marketu mislim da broj korisnih aplikacija i idejnih
rjeenja jo nije dosegao puni kapacitet i da ima jo puno prostora.
Ovaj seminar sam napisao iz razloga da bude podloga za uenje razvojnih metoda za Android
platforme ali i da pobudim elju i interes ostalih kolega programera za razvojem mobilnih
aplikacija.


31

5. LITERATURA


[1] Wikipedia: Android (operating system)
http://en.wikipedia.org/wiki/Google_Android
[2] Android Open Source Project, http://source.android.com/
[3] Ivan Juki, Android, Seminarski rad, Sveuilite u Zagrebu Fakultet elektrotehnike i
raunarstva, 2009
[4] Michael Burton, Donn Felker, Android Application Development for dummies 2nd edition
[5] J.F. DiMarzio, Android a Programmer's guide, 2008
[6] Matko Kuna, Razvoj programa ua dohvat i prezentaciju informacija na pokretnom
ureaju s operacijskim sustavom android, Zavrni rad br. 929, Sveuilite u Zagrebu Fakultet
Elektrotehnike i raunrstva, 2009

Anda mungkin juga menyukai