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
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