Upload
-
View
218
Download
0
Embed Size (px)
Citation preview
7/28/2019 Android(2009)Jukic Ivan
1/21
SVEUILITE U ZAGREBU
FAKULTET ELEKTROTEHNIKE I RAUNARSTVA
SEMINAR
Android
Ivan Juki
Voditelj: Doc.dr.sc. Mario Kuek
Zagreb, svibanj, 2009.
7/28/2019 Android(2009)Jukic Ivan
2/21
Sadraj:
1. Uvod ........................................................................................................................ 12. Seminarski rad......................................................................................................... 2
2.1. Projekt otvorenog koda..................................................................................... 22.2. Tehnike karakteristike ..................................................................................... 42.3. Razvoj aplikacija Android SDK ...................................................................... 92.4. Plasiranje aplikacija - Android Market............................................................. 142.5. Ureaji koji koriste Android ............................................................................. 16
3. Zakljuak ............................................................................................................... 174. Literatura ............................................................................................................... 185. Saetak.................................................................................................................. 19
7/28/2019 Android(2009)Jukic Ivan
3/21
1
1. Uvod
Sve je poelo u srpnju 2005. godine kada je Google kupio Android, Inc. malu
kompaniju sa sjeditem u gradu Paolo Alto, USA. Suosnivai Android Inc. koji suotili raditi u Google su: Andy Rubin (suosnivaDanger, Inc.), Rich Miner (suosnivaWildfire communications, Inc.), Nick Sears (bivi potpredsjednik u T-Mobile) i ChrisWhite (jedan od prvih inenjera WebTV-a).
Malo se znalo o poslovima koje je obavljao Android, Inc. u to vrijeme, osim da suradili softver za mobilne telefone. Nakon kupnje Androida poele su glasine daGoogle planira ui u trite mobilnih telefona, iako je bilo nejasno na koji nain.
U Googleu, tim predvoen Rubinom, razvio je operacijski sustav za mobilne telefonetemeljen na Linuxu. Proizvoaima mobilnih telefona predstavljen je kao fleksibilan ilako nadogradiv sistem. Poele su se iriti glasine da je Google ve sklopio
partnerstvo s nizom hardverskih i softverskih tvrtki.Nova nagaanja da e Google ui u svijet mobilnih telefona stigla su u prosincu2006. godine. Izvjetaji sa BBC-a i iz Wall Street Journala ukazivala su na to da jeGoogle eli svoj pretraiva i aplikacije na mobilnim telefonima i naporno radi da bi topostigao. Poslije su se pojavile glasine da Google razvija svoj vlastiti ureaj. Noveprepostavke i pekulacije su slijedile izvjetaje da Google definira tehnikespecifikacije, i pokazuje prototipove ureaja proizvoaima mobilnih telefona imrenih operatora. Prialo se da je oko 30-ak prototipova bilo "puteno u divljinu" [1].
U rujnu 2007. godine portal InformationWeek je prenio podatke iz studije koju jeobavio Evalueserve i koji su pokazivali da je Google ve ispunio nekoliko prijava za
patente sa podruja mobilne telefonije.5. studenog 2007. osnovan je Open Handset Alliance. Ukljuivao je 34
kompanije, meu kojima i sljedee: Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, Sprint Nextel i NVIDIA. Zajedniki cilj koji ih je ujedinio jest razvoj otvorenihstandarda za mobilne ureaje. Na osnivanju su predstavili i svoj prvi proizvod:Android [1].
7/28/2019 Android(2009)Jukic Ivan
4/21
2
2. Seminarski rad
Android je prva besplatna, open source1, i potuno prilagodljiva platforma za
mobilne ureaje. Android sadri operacijski sustav, meuopremu2
i kljune mobilneaplikacije. Takoer sadri velik broj API-a3 koji omoguuje neovisnim proizvoaimaizradu njihovih aplikacija [2].
2.1. Projekt otvorenog koda
Otvorenost
Android je izgraen tako da omoguava programerima stvaranje aplikacijakoje u potpunosti koriste sve to ureaj nudi. Napravljen je da bude uistinu otvoren.Na primjer, aplikacija moe pozvati jezgrene funkcije mobilnog telefona kao to su
pozivanje, slanje tekstualnih poruka, koritenje kamere, doputajui programerima dastvore bogatije i sloenije korisnike programe. Temeljen je na otvorenoj Linux jezgri.tovie, koristi vlastiti virtualni stroj koji je dizajniran da optimizira memorijske ihardverske resurse ureaja. Android se moe proirivati i na taj nain moeprihvaati najnovije tehnologije. Platforma e nastaviti rasti sve dok programerskazajednica radi zajedno, i razvija inovativne aplikacije za mobilne ureaje.
Sve aplikacije su jednake
Android ne razlikuje jezgrene aplikacije i aplikacije neovisnih proizvoaa tose tie pristupa mogunostima ureaja. I jedni i drugi imaju jednak pristupmogunostima ureaja to dozvoljava korisnicima uporabu irokog pojasa aplikacija i
usluga. Ureaje koji su izgraeni na platformi Android, korisnici mogu u potpunostiprilagoditi svojim zahtjevima. Na primjer, mogu postaviti ureaj tako da koristi njihovomiljeni program za pregled slika za pregledavanje svih slika.
Ruenje granica u stvaranju aplikacija
Android pomie granice stvaranja novih i inovativnih aplikacija. Na primjer,programer moe kombinirati informacije s weba sa podacima na ureaju pojedinogkorisnika - kao to su kontakti, kalendar ili zemljopisna lokacija. S Androidom,programer moe napraviti aplikaciju koja omoguava korisnicima da vide lokacijusvojih prijatelja i da ih upozori kada su u blizini.
Brzo i jednostavno razvijanje aplikacija
Android prua pristup irokom rasponu korisnih biblioteka i alata koji se mogu koristitiza izradu bogatih aplikacija. Na primjer, Android omoguava programerima da koristelokaciju mobilnog ureaja, doputaju ureajima meusobnu komunikaciju - to otvaramogunosti izrade peer2peer aplikacija. Nadalje, Android ukljuuje itavi skup alatakoji su izraeni usporedo sa platformom omoguavajui programerima stvaranjeaplikacija visoke uinkovitosti [3].
1 hrv. prijevod: otvoreni kod, omoguuju slobodnu doradu i iroku upotrebu
2 middleware - meuoprema, softver koji djeluje izmeu aplikacije i mree
3 API - application programming interface, suelje za programiranje aplikacije
7/28/2019 Android(2009)Jukic Ivan
5/21
3
Dozvole
Od 21. listopada 2008., Android je dostupan pod otvorennim kodom (opensource). Google je otvorio itav izvorni kod, koji je prije bio nedostupan, pod licencomApache.
S licencom Apache, programeri mogu dodavati vlastita proirenja bez da ih dajuzajednici. Dok se oekuje da Googleovi doprinosi platformi budu otvoreni, grane bi semogle naglo razvijati koristei razne licence.
Android je bio kritiziran zato to nije bio u potpunosti otvoreni kod, iako je tako bilonajavljivano od strane Googlea. Neki dijelovi SDK su ostali zatvoreni i pretpostavljalose da je to zbog toga da Google moe kontrolirati platformu.
Meutim, Google je nakon toga objavio vijest da e svi dijelovi operacijskog sustavabiti otvoreni pod licencom Apache gdje je to mogue ili pod licencom GPL na drugimmjestima [1].
7/28/2019 Android(2009)Jukic Ivan
6/21
4
2.2. Tehnike karakteristike
Mogunosti platforme su:
1. okvir za aplikacije (Application framework) - omoguava ponovnuupotrebu i zamjenu komponenti,
2. virtualni stroj Dalvik (Dalvik virtual machine) - optimiziran za mobilne
ureaje,
3. integrirani pretraiva (Integrated browser) - temeljen na programskom
okviru (framework) WebKit,
4. optimizirana grafika (Optimized graphics) koristi vlastitu 2D grafiku
biblioteku; 3D grafika je temeljena na OpenGL ES 1.0 specifikacijama
5. SQLite baza podataka.
6. podrka za viemedijski sadraj (Media support) - audio, video, i slikovniformati (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF),
7. GSM podrka (GSM Telephony) (ovisi o hardveru),
8. Bluetooth, EDGE, 3G and WiFi(ovisi o hardveru),
9. Camera, GPS, compass, and accelerometer(ovisi o hardveru) i
10.bogato razvojno okruenje (Rich development environment) ukljuuje
emulator ureaja, alate za ispravljanje pograaka (debugging), oblikovanje
memorije i performansi, i dodatak za Eclipse IDE [4].
Slika 1. Kratak pregled arhitekture Androida [4]
7/28/2019 Android(2009)Jukic Ivan
7/21
5
Aplikacije
Platforma Android dolazi s mnotvom aplikacija napisanih koristei Java programskijezik:
Home prikazuje aplikacije, grafike elemente (widgets), i preace. Takoerpodrava promjenjivu pozadinu;
Phone podrava klasine telefonske funcije kao i kontrolu poziva,
konferencijske razgovore, sporedne usluge, i laku integraciju s aplikacijom
Contacts.
Web Browser je pretraiva baziran na WebKitu sa svim njegovim
mogunostima, podrava HTML i XHTML.
Email osigurava pristup posluiteljima e-maila koji se obino mogu nai na
Internetu i podrava POP3, IMAP4 i SMTP.
Media Player omoguava upravljanje, uvoz i sviranje sadraja kodiranih na
razne naine.
Alarm Clock, Calculator, Calendar, Camera, Contacts, IM, MMS, Settings,
Voice Dialeri mnoge druge aplikacije su takoer ukljuene u ovu distribuciju.
Aplikacijski okvir
Androidov okvir za aplikacije (application framework) je napravljen da biomoguio koritenje bogatog skupa API-a neovisnim programerima.
Androidove aplikacije se izvravaju na Dalviku, vlastitom virtualnom stroju(VM). Dalvik VM izvrava izvrne datoteke dex, koje su tipino prevedene iz izvornog
koda napisanog u Javi.Izvrni format dex ima sljedee karakteristike:
uinkovita pohrana podataka na ureaj,
uinkovita upotreba memorije pri izvravanju,
jednostavnost interpretacije.
Dalvik ima sljedee karakteristike za vrijeme izvoenja:
uikovitu podrku za vie istodobnih VM procesa,
optimizirani interpreter,
uinkovito povezivanje na nii izvorni kod, uobiajen i irok skup funkcionalnosti jezgrenih biblioteka
unaprijeenu podrku za Java Debug Wire Protocol (JDWP), omoguujui
jednostavnije debuggiranje vie procesa istodobno,
Java Native Interface (JNI) podrka.
7/28/2019 Android(2009)Jukic Ivan
8/21
6
Izvorne biblioteke
Platforma Android koristi mnoge izvorne biblioteke, ukljuujui:
Bionic, prilagoena libc implementacija optimizirana za ugraene sustave,
grafike biblioteke za 2D i 3D (OpenGL ES 1.0) grafiku podrku, openCore za ostvarivanje veine Androidovih multimedijskih mogunosti.
Ukljuuje podrku za mreni streaming (HTTP and RTSP), kao i veinu
kodeka i parsera medijskih datoteka koritenih u sistemu;
sqlite za podrku sqlite baze podataka i
WebKit biblioteku za pokretanje Android-ovog web pretraivaa temeljenog na
WebKitu.
Sustavni programi
Platforma Android: temeljena je na Linuxu 2.6.25 za ARM,
trenutno oekuje ARM V5T ili bolju arhitekturu. Podrka za ranije arhitekture
moe biti dodana, ali CPU-ovi bez MMU bi bili teki za podrati;
posjeduje skup jezgrenih poboljanja koji je predvien za potporu Androidu.
Zakrpe ukljuuju: alarm, ashmem, binder, power management, low memory
killer, kernel degugger, and logger;
je dizajnirana da bude chipset agnostic, i raditi e praktiki na svakom Linux
kernel okruenju temeljenom na ARM-u, verzija 1.0 platforme je bila testirana i
potvrena je na MSM 7K
ipsetovima. Tijekom vremena o
ekujemo podr
kuza druge glavne ipsete. Jezgrene zakrpe za MSM temeljene ipsete su
takoer dostupni;
podrava FAT32 file system,
podrava TCP/IP (TCP, UDP, itd.) i koristi minimal reference bootloader (program za podizanje jezgre koji
koristi malo resursa) je pruen za podrane ipsete. Moe podignuti (
bootati) Linux iz RAM-a, debugger-a, i NAND Flash-a.
Android podrava ispravljanje greaka (debugging):
izvornog koda je podran preko GDB (GNU Project Debugger) preko USB-a, managed code-a (kod koji se izvodi u VM-a) je podran preko bilo kojeg
JDWP-kompatibilan debuggera preko USB-a i
Logging i crash logova.
7/28/2019 Android(2009)Jukic Ivan
9/21
7
Platforma Android:
e raditi na skoro svakom Linux kernel okruenju temeljenom na ARM-u,
treba minimalno 128 MB RAM-a i 256 MB Flash memorije. OEM moda bude
traio jo
Flash memorije da omogu
i download vi
e neovisnih aplikacija nakorisnike ureaje;
e se povezivati sa osnovnim pojasom kanala pokretnog radija omoguenog
eksterno preko Radio Interface Layer-a (RIL),
podrava 802.11 b/g Wi-Fi,
koristi standardno USB suelje, ukljuujui USB 2.0,
podrava Bluetooth 2.0 EDR (Enhanced Data Rate),
podrava Kameru za slike i video i
premjestivu memoriju (Removable storage).
Svojstva podranog prikaza su: HVGA rezolucija,
16 bitna irina boja (16 bit color depth),
pejza i portret orijentacija, ukljuujui dynamic runtime switching,
finger-based touchscreen navigacija.
Podrane tipke (Supported keypads and buttons) su:
QWERTY,
navigacija u 5 smjerova (5-way navigation),
hardverske tipke: Send, End, Home, Back, Menu,
power tipka,
tipke za glasnou gore i dolje (Volume keys - up and down),
tipka za okidanje kamere (camera trigger button), ukljuujui detektiranje
djelominog pritiska (za fokusiranje) i potpunog pritiska (za slikanje).
Podrani audio izlazi (Supported audio outputs) su:
audio izlaz preko utinice za slualice (mono i stereo) i
64 kbps Bluetooth audio.
Podrani hardver za notifikaciju (Supported notifications) je: LEDice i
vibracija
7/28/2019 Android(2009)Jukic Ivan
10/21
8
Podrane radio i telefonske mogunosti (Supported radio and telephonyfeatures) su:
GPRS, EDGE, UMTS, HSDPA,
meunarodni roaming, SMS, MMS,
podrka za hitne pozive,
sporedne usluge za telefoniju. Na primjer pozivi na ekanju konferencijski
razgovor;
unstructured Supplementary Service Data (USSD),
reference Radio Interface Layer (RIL) [5].
7/28/2019 Android(2009)Jukic Ivan
11/21
9
2.3. Razvoj aplikacija Android SDK
Povijest razvoja do danas
Rane reakcije na razvoj aplikacija za Android platformu su bile mjeovite.Prigovori su nastali zbog greaka, nedostatka dokumentacije, neadekvatne Qualityassurance (QA) infrastrukture, i nedostatka javnogsustava za prijavu greaka (issuetracking). Google je objavio issue tracker 18. sijenja 2008. U prosincu 2007,osniva MergeLab mobile startupa Adama Macbeth je izjavio, "Funkcionalnost nepostoji, slabo je dokumentiran ili jednostavno ne radi ... Jasno je da nije spreman zapremijeru.". I pored toga, aplikacije za Android poele su se pojavljivati ve tjedannakon to je platforma objavljena. Prva javno dostupna aplikacija je igra Snake [1].
Prvo izdanje Android Software Development Kita (SDK) je izdano 12. studenog2007.15. srpnja 2008, Android Developer Challenge tim je sluajno poslao e-mail
svim sudionicima Android Developer Challengea najavljujui da je novi SDKdostupan u "privatnom" download podruju. E-mail je bio namijenjen za pobjednike u
prvom krugu Android Developer Challengea. Otkrie da je Google objavio novi SDKsamo nekim programerima, a ne svima dovela je do frustracija u Androidovojrazvojnoj zajednici.
18. kolovoza 2008 Android 0.9 SDK beta je objavljen. Ovo izdanje pruilo je aurirani proiren API, poboljane alate za razvoj i novi dizajn za poetni zaslon. Detaljneupute za nadogradnju su bile dostupne onima koji rade s ve ranijim izdanjima. 23.rujna 2008. objavljen je Android 1.0 SDK (Izdanje 1). Prema priloenim biljekama,ukljuivao je "uglavnom ispravljene greke, iako su dodane neke manje novosti".Takoer je ukljuuivao nekoliko API promjena u odnosu na od 0.9 verziju.
9. oujka 2009 Google je izdao verziju 1.1 za Android Dev Phone. Iako postojinekoliko estetskih ureenja, nekoliko najvanijih popravaka ukljuuju podrku za"pretraivanje glasom, aplikacije koje se naplauju, ispravke budilice, popravke kodslanja gmaila, ispravke obavjetavanja o mailovima i intervala osvjeavanja". Jojedno vano poboljanje jest da Dev Phone sada moe pristupati plaenimaplikacijama i programeri ih sada mogu vidjeti na Google Marketu [1].
Travanj 2009. za vrijeme dovravanja seminara izlazi Android 1.5 SDK r1!
Razvoj
Prvi korak u programiranju za Android jest preuzimanje SDK (Softwaredevelopment kit). Android SDK ukljuuje sveobuhvatan skup razvojnih alata. Oniukljuuju debugger, biblioteke, emulator ureaja (temeljen na QEMU),dokumentaciju, primjere kodova i tutoriale. Trenutno podrane platforme za razvoj sux86-bazirana raunala koja pokreu Linux (bilo koji modernu desktop Linuxdistribuciju), Mac OS X 10.4.8 ili noviji, Windows XP ili Vistu. Zahtjevi takoerukljuuju Java Development Kit, Apache Ant i Python 2.2 ili kasniji. Slubenopodrano integrirano razvojno okruenje (IDE) je Eclipse (3.2 ili noviji) koristeiandroid Development Tools (ADT) Plugin, iako programeri mogu koristiti bilo kojiureiva teksta za ureivanje Java i XML datoteka a zatim pomou alata naredbenog
retka za stvaranje, izgradnju i debug Android aplikacija [1].
7/28/2019 Android(2009)Jukic Ivan
12/21
10
Osnove pisanja aplikacija
Aplikacije za Android pisane su u programskom jeziku Java. Prevedeni Javinkod - zajedno sa svim podacima i datotekama resursa potrebnim za aplikaciju - jezapakiran s alatom aaptu Androidov paket, arhiv datoteku obiljeenu sa sufiksom.apk. Ova datoteka slui za distribuiranje i instaliranje aplikacije na mobilnimureajima. To je datoteka koju korisnici preuzimaju na njihovihe ureaje. Sav kod ujednoj datoteci .apk smatra se jednom aplikacijom.
Na mnogo naina, svaka Androidova aplikacija ivi u vlastitom svijetu:
Svaka aplikacija se izvodi u vlastitom procesu na Linuxu. Android poinje
proces kada se bilo koji kod applikacije treba izvriti i iskljuuje proces kada
vie nije potreban i resursi sustava su potrebni drugim aplikacijama;
Svaki proces ima svoj vlastiti Java virtualni stroj (VM), pa kod aplikacije
radi u izolaciji od kodova svih ostalih aplikacija;
Svakoj aplikaciji je dodijeljen jedinstveni ID korisnika Linuxa.Dozvole su postavljene tako da su datoteke aplikacije vidljive jedino samoj
aplikaciji - iako takoer postoje naini za izvoziti ih u druge programe;
Mogue je organizirati da dvije aplikacije dijele isti korisniki ID, u tom sluaju e onibiti u mogunosti vidjeti datoteke jedna od druge. Zbog ouvanja resursa sustava,aplikacije s istim ID-om mogu se izvoditi u istom Linux procesu, dijelei istu VM.
Glavna znaajka Androida jest da jedna aplikacija moe koristiti elemente drugihaplikacija (pod uvjetom da one to dozvoljavaju). Na primjer, ako Vaa aplikacija trebaprikazati listanje popisa slika i neki drugi program je razvio kliza (scroller) pogodan
za to i uinio ga dostupnim drugima, moete radije pozvati taj scroller, nego razvijatisvoj vlastiti. Vaa aplikacija ne ukljuuje kod ove druge aplikacije ili poveznicu do nje.Umjesto toga, jednostavno pokrene taj dio druge aplikacije kada se javi potreba.
Da bi ovo funkcioniralo, sustav mora biti u stanju pokrenuti proces kada je bilo kojidio njega je potreban i inicijalizirati Javine objekte za taj dio. Dakle, za razliku odveine programa na drugim sustavima, aplikacije na Androidu nemaju jednu ulaznutoku za sve to je u aplikaciji (na primjer nema funkcije main()). Umjesto toga, oneimaju esencijalne komponente koje sustav moe inicijalizirati i pokrenuti po potrebi.Postoje etiri vrste komponenti koje ovdje neemo opisivati [6].
Razvoj u alatu
Android Development Tools (ADT) dodatak za Eclipse dodaje mone dodatke zaintegrirano razvojno okruenje Eclipse. To vam omoguava da kreirate i debuggirateAndroid aplikacije lake i bre. Ako koristite Eclipse, ADT plugin vam prua velikupomo u razvoju Android aplikacija:
Daje pristup drugim Androidovim razvojnim alatima Eclipse IDE-a. Na primjer,
ADT omoguuje pristup mnogim mogunostima DDMS alata: uzeti trenutni
ekran, upravljati vratima (port), ubacivati toke prekida, pregledavati
informacije dretvi i procesa direktno iz Eclipsea;
Omoguuje New Project Wizard, koji pomae pri brzoj izradi i postavljanju svih
osnovnih datoteke potrebnih za novu Android aplikaciju;
7/28/2019 Android(2009)Jukic Ivan
13/21
11
Pojednostavljuje i automatizira proces izgradnje Android aplikacije;
Prua Android ureiva koda (code editor) koji pomae napisati valjani XML
za Androidov manifest i izvorne datoteke [7].
Razvoj u drugim integriranim okolinama
Preporueni nain za razvijanje Android aplikacije je koritenje Eclipsea sdodatkom Android Development Tools (ADT), sadranim u SDK. ADT omoguujeureivanje, razvoj i otklanjanje greaka integrirane izravno u IDE.
Meutim, ako bi radije razvijali vae aplikacije u drugom IDE-u, kao to su IntelliJ, ilikoristili Eclipse bez dodatka ADT, moete to uiniti. SDK prua alate koji su vampotrebne za postavljanje, izgraivanje i debuggiranje aplikacija [8].
Razvoj na ureaju
Pri izradi mobilnih aplikacija, bitno je testirati ih na stvarnim ureajima prije
objavljivanja korisnicima. Iako razvojni programeri mogu koristiti regularnepotroake ureaje kupljene u maloprodaji za testiranje i koritenje njihovihaplikacija, neki programeri mogu odluiti ne koristiti maloprodajni ureaj, vepreferiraju otkljuane ureaje.
Na primjer: Android Dev Phone (trenutno nije dostupan u Hrvatskoj) je SIM-otkljuanii hardware-otkljuani ureaj koji je dizajniran za napredne programere. Takoer se uistu svrhu zna koristiti i T-Mobile G1 ureaj [9].
Organizacija kod razvoja
Plan projekta (Project layout)
Android platforma se sastoji od nekoliko projekata ve u tijeku. Ovi projekti se mogupodijeliti u tri kategorije:
Temeljni projekti: Ovi projekti ine temelj Android platforme
Vanjski projekti: Android Open Source projekt koristi mnoge druge Open
Source projekte
Paketi: Ovi projekti su standardne Android aplikacije i usluge [10]
Uloge u projektu (Project roles)
Projekt Android Open Source je ustrojen kako bi se osiguralo da:
zajednica ima potpunu vidljivost u evoluciju platforme i donoenje odluka,
doprinosi se priznaju i nagraeni su i
da Android postie komercijalnu relevantnost.
Ljudi u okviru Android Open Source zajednice igraju razliite uloge:
Bilo tko (Anyone)
Svatko tko je zainteresiran za upoznavanje i pridonoenje Androidu moe koristiti
resurse projekta Android Open Source. Svatko se moe pridru
iti mailing listi,
7/28/2019 Android(2009)Jukic Ivan
14/21
12
postavljati pitanja, raditi zakrpe, izvjetavati o bugovima, pregledavati dostavljenezakrpe, i koristiti alate.
Verifikatori (Verifiers)
Verifiktori su odgovorni za testiranje zahtjeva za promjenu. Nakon to su pojedinciposlali znaajnu koliinu visokokvalitetnog kda projektu, Voditelj Projekta moepozvati ih da postanu Verifikatori.
Approvers
Approvers su iskusni lanovi ovog projekta koji su pokazali svoje vjetine i napravilisu znaajan tehniki doprinos ovome projektu. U procesu pregleda koda, Approverodlui eli li ukljuiti ili iskljuiti promjenu. Voditelj Projekta izabire Approvere, aponekad i promie na ovu poziciju Verifikatore koji su pokazali svoju strunost unutarodreenog projekta.
Voditelji projekta
Voditelj projekta za pojedinani projekt je odgovoran za sljedee:
vodstvo svih tehnikih aspekata projekta; primjerice, razvoj projekta, cikluse
objavljivanja, izdavanje novih verzija i QA,
usko suraivanje sa Core Technical Tim-om u promoviranju projekta i njegovih
izdanja,
osigurati da je projekt kvalitetno uraen do zakazanog vremena izlaska nove
Android platforme,
odreivanje Verifikatora i Approvera za dostavljene patcheve,
biti fer i objektivan, dok pregledava promjene. Prihvaanje ili odbijanje zakrpa
na temelju tehnikih zasluga i sklada s Android platformom,
pravodobno pregledavati promjene i komunicirati ako promjene nisu
prihvaene,
Opcionalno, odravati web stranice za projekt zbog informacija i dokumenata
koji su specifini za taj projekt;
djelovati kao facilitator u rjeavanju tehnikih sukoba.
biti javno lice za projekt i osoba za pitanja vezana uz ovaj projekt.
Za postati Voditelj projekta za novi projekt, pojedinac mora demonstrirati radni kodkoji implementira ideju za novi projekt, i mora imati mogunosti da djeluje kao Voditeljprojekta (opisane iznad).
Novi projekti trebali bi biti u svezi s Androidom, biti razumne ekstenzije na platformu,implementirati drivere i pakete za podrku koji podravaju Android na specifinomhardveru, i tako dalje [11].
Jezgreni tehniki tim
7/28/2019 Android(2009)Jukic Ivan
15/21
13
Jezgreni tehniki tim (Core Technical Team) recenzira i odobrava zahtjeve zapostavljanje novih projekata, oznaava nove projekte kao dio osnovne platforme, aimenuje ili potvruje Voditelje projekata za te projekte.
Core Technical Team je odgovoran za sljedee:
pripremanje planova za izdanja Androida,
otklanjanje cross-module tehnikih pitanja,
stvaranje i odravanje tehnikih pravila za zajednicu, na primjer, vodii o stilu
kodiranja, planovi za nova izdanja i planovi verzija,
odobravanje novih projekata i odabir Voditelja projekta po potrebi,
biti javno lice za Android Open Source projekt i
blisko suraivati s Voditeljem projekta u planiranju izdanja i verzija projekta.
Da bi postao lan Core Technical Teama, pojedinac mora imati neke kombinacije
ovih karakteristika: demonstrirano znanje o end-to-endAndroid razvojnom procesu,
strunost u odreenim podrujima kao to su sustavi izgradnje, sistemski
softver, sigurnost platforme, upravljanje napajanjem, stilovi kodiranja, QA,
okviri aplikacije, razvoj aplikacija, zahtjevi platforme i dugoroni planovi i
povijest tehnikog vodstva u gore navedenim podrujima [11].
7/28/2019 Android(2009)Jukic Ivan
16/21
14
2.4. Plasiranje aplikacija - Android Market
Android Market je duan koji je razvio Google a Android ureaje, koja omoguavakorisnicima pregledavanje i preuzimanje aplikacija neovisnih programera. Slina je
duanu App Store za iPhone.Android Market je najavljen 28. kolovoza 2008., a stavljen na raspolaganjekorisnicima 22. listopada 2008. Podrka za aplikacije koje se naplauju dodana je zakorisnike u SAD-u i Velikoj Britaniji sredinom veljae 2009. Korisnici u Velikoj Britanijistekli su mogunost kupovanja aplikacija koje se naplauju 13. oujka 2009.
Programeri aplikacija koje se naplauju primaju 70% cijene aplikacije, a preostalih30% ide za "prijevoznike" (carriers). Prihod zaraen od Android Marketa plaa seprogramerima putem Google Checkout trgovakih rauna.
Aplikacije koje se naplauju su trenutno dostupne samo korisnicima u sljedeimzemljama: Austrija, Njemaka, Velika Britanija, SAD.
Google je objavio u, e-mailu programerima, da "e dodati podrku za krajnjekorisnike za dodatne zemljame u narednim mjesecima".
Za sada, samo programeri u SAD-u i Velikoj Britaniji mogu objavljivati aplikacije kojese naplauju. U e-mailu na programerima 2. travnja 2009. Google je napisao:"naporno radimo kako bi u narednim tjednima programerima u Njemakoj, Austriji,Nizozemskoj, Francuskoj, panjolskoj omoguili aplikacije koje se naplauju. Nakonto trgovaka podrka za aplikacije koje se naplauju zaivi u tim zemljama, mi emoobjaviti nae planove za pokretanje podrke za programere u dodatnim podrujima."
Zabranjene aplikacije
31. oujka 2009, Google je povukao sve "tether" aplikacije s Android Marketa.Google ih je kasnije vratio za sve korisnike Android Marketa, osim onih unutar T-Mobile SAD mree:
"On Monday, several applications that enable tethering were removed from theAndroid Market catalog because they were in violation of T-Mobile's terms of servicein the US. Based on Android's Developer Distribution Agreement (section 7.2), weremove applications from the Android Market catalog that violate the terms of serviceof a carrier or manufacturer.
We inadvertently unpublished the applications for all carriers, and today we havecorrected the problem so that all Android Market users outside the T-Mobile USnetwork will now have access to the applications. We have notified the affecteddevelopers." [12]
7/28/2019 Android(2009)Jukic Ivan
17/21
15
Izdavanje
Pripremanje aplikacije prije izdavanja:
Prije nego to odluite izdati Vau aplikaciju:
1. Testirajte aplikaciju opseno na stvarnom ureaj
2. Razmislite o dodavanju End User License Agreementa Vaoj aplikaciji
3. Navedite ikonu i natpis u manifest applikacije
4. Iskljuite logging i debugging i pospremite podatke/datoteke
Prije nego napravite zadnje kompajliranje Vae aplikacije:
5. Navedite verziju Vae aplikacije
6. Nabavite odgovarajui kriptografski klju
7. Registrirajte se za Maps API klju, ako Vaa aplikacija koristi MapView
elemente
Kompajlirajte Vau aplikaciju...
Nakon kompajliranja:
8. Prijavite vau aplikaciju
9. Testirajte vau kompajliranu aplikaciju [13]
Izdavanje na Android Market
Za objaviti Vae aplikacije na Android Market, najprije se morate registrirati pomousvog Google rauna i sloiti se s uvjetima koritenja. Nakon to ste registrirani,
moete uploadati Vae aplikacije na servis kad god elite, koliko god puta elite, apotom ih objaviti kad ste spremni. Nakon objave, korisnici mogu vidjeti Va program,skinuti ga i ocjeniti koristei Market aplikaciju instaliranu na njihovom Android ureaju[14].
Android Developer Challenge
Android Developer Challenge je natjecanje za najinovativniju aplikaciju za Android.Prvo natjecanje (Android Developer Challenge 1) je zapoelo poetkom 2008.godine. Google je ponudio nagrade vrijedne ukupno 10 milijuna dolara, distribuirane
izmeu dvije faze natjecanja. U prvoj fazi prihvaane su prijave od 2. sijenja do 14.travanj 2008. 50 prijava koje su najvie obeavale, objavljene su 12. svibnja 2008.,svaka je dobila 25000 dolara nagrade za financiranje daljnjeg razvoja. Druga fazazavrila je poetkom rujna sa objavom deset timova koji su primili po 275.000 $svaki, a deset timova koji su dobili po 100.000 $ svaki.[1]
7/28/2019 Android(2009)Jukic Ivan
18/21
16
2.5. Ureaji koji koriste Android
HTC Dream (takoer predstavljan kao T-Mobile G1, ili Era G1 u Poljskoj) jeprvi telefon na tritu koji koristi Android platformu. Telefon je dio otvorenog
standarda Open Handset Alliancea. Izdan je u SAD-u 22. listopada 2008, u VelikojBritaniji 30. listopada 2008, u Nizozemskoj i ekoj 31. prosinca 2009., Poljskoj 23.veljae 2009, Australiji 5. Veljae, a bit e dostupan u drugim dravama ukljuujui iSingapur, Francusku i Njemaku, tijekom 2009. Kineska tvrtka Qigi izdala je verzijusvojih i6 Windows Mobile ureaja koji pokreu Android u prosincu 2008. Ureaj jeproizveden od strane kineskog ODM TechFaith [1].
Nadolazei ureaji
U rujnu 2008, Motorola je potvrdila da radi hardverske proizvode koje e
pokretati Android.
Huawei planira izdati telefon koji e izvoditi Android na T-Mobile-u. Ovaj datum
meutim nije postavljena do nakon lipnja 2009.
Archos planira lansirati novi ureaj, koji bi kombinirao znaajne medijske
sposobnosti sa Android operacijskim sustavom.
Lenovo radi na Android-temeljenom mobilnom telefonu koji podrava kineski
3G TD-SCDMA standard.
HTC planira "portfelj" Android zasnovane telefone pustiti u ljeto 2009,
ukljuujui HTC Magic, prikazan 17. veljae 2009 na 2009 Mobile World
Congress-u u Barceloni. HTC Magic e biti objavljen 1.svibnja.
Sony Ericsson planira izdati jedan Android ureaj u ljeto 2009.
Samsung planira izdati telefon temeljen na Google Android operacijskomsustavu u lipnju 2009 sa jo nekoliko koje dolaze u sljedeim mjesecima.
GiiNii Mini Movit je Internet ureaj baziran na Google Android operacijskom
sustavu.
Glasine su da e Acer izdavati telefonije naziva L1 , C1, E1, F1, i A1
(nepotvren) krajem 2009.
Kineski ODM Yuhua prvi Android telefon, dual-SIM DSTL1 e biti izdan pod
General Mobile brand-om u lipnju. Tvrtka planira vie Android ureaja.[1]
Kogan Technologies, Australski proizvoa tehnologije, najavio je Android
kompatibilne ureaje: Kogan Agora i Kogan Agora Agora Pro. Ureaji su trebali bitiobjavljeni 29. sijenja 2009. Sredinom sijenja 2009, Kogan najavio da e izlazakAgora ureaja je kasniti neodreeno [1].
Nedavno su se pojavile i specifikacije nasljednika HTC-ovog mobitela G1 koji bi kaodirektni konkurent iPhone ureaju bi mogao biti veoma zanimljiv. Meutim,najavljivan je ve u sijenju 2009. - nije se jo pojavio.
Android Dev Phone, spomenut ranije u tekstu (Razvoj na ureaju), trenutno nijedostupan u Hrvatskoj.
7/28/2019 Android(2009)Jukic Ivan
19/21
17
3. Zakljuak
Android je definitivno projekt koji mnogo obeava. Iako osobno nemam previe vjere
u uspjehe projekata otvorenog koda, vjerujem da bi Android mogao biti iznimka.Sigurno e unijeti promjene u svijetu mobilnih ureaja.
Jedna od njegovih glavnih prednosti je dobra organizacija, koja ima potencijal daiskoristi svu mo i znanje zajednice otvorenog koda. Jo jedna dobra stvar jeukljuenost velikog broja jakih kompanija u projekt, to omoguuje jako brzo irenje.Brzi razvoj, kao posljedica dobre organizacije, povlai za sobom unapreivanje svihaspekata projekta.
Svatko moe sudjelovati, to e dodatno poticati inovacije i ubrzati razvoj.Svakodnevno se platforma tehniki usavruje i unapreuje od strane neovisnihproizvoaa. U Hrvatskoj e sve vezano uz Android vjerojatno kasniti, jer kao to je
ope poznato, mi tehnoloki zaostajemo za naprednim zemljama.Android je jako pozitivan pomak u svijetu mobilnih ureaja. Ima dobre anse daostvari uspjeh, ako ne i revoluciju. to e se dogoditi - vrijeme e pokazati.
7/28/2019 Android(2009)Jukic Ivan
20/21
18
4. Literatura
[1] Wikipedia:Android (operating system),
http://en.wikipedia.org/wiki/Google_Android, oujak 2009.[2] Android Open Source Project, http://source.android.com/, oujak 2009.
[3] Android: What is Android?, http://www.android.com/about/, oujak 2009.
[4] Android developers: Dev Guide, What is Android?,http://developer.android.com/guide/basics/what-is-android.html, oujak 2009.
[5] Android Open Source Project: Release features - Android 1.0,http://source.android.com/release-features---android-1-0, oujak 2009.
[6] Android developers: Dev Guide, Application Fundamentals,http://developer.android.com/guide/topics/fundamentals.html, oujak 2009.
[7] Android developers: Dev Guide, Developing In Eclipse, with ADT,http://developer.android.com/guide/developing/eclipse-adt.html, oujak 2009.
[8] Android developers: Dev Guide, Developing In Other IDEs,http://developer.android.com/guide/developing/other-ide.html, oujak 2009.
[9] Android developers: Dev Guide, Developing on a Device,http://developer.android.com/guide/developing/device.html, oujak 2009.
[10] Android Open Source Project: Project layout, http://source.android.com/projects,oujak 2009.
[11] Android Open Source Project: Project roles, http://source.android.com/project,oujak 2009.
[12] Wikipedia:Android Market, http://en.wikipedia.org/wiki/Android_Market, oujak2009.
[13] Android developers: Dev Guide, Preparing to Publish: A Checklist,http://developer.android.com/guide/publishing/preparing.html, oujak 2009.
[14] Android developers: Dev Guide, Publishing Your Applications,http://developer.android.com/guide/publishing/publishing.html, oujak 2009.
7/28/2019 Android(2009)Jukic Ivan
21/21
19
5. Saetak
Tema seminarskog rada je Google Android, operacijski sustav i softverska platforma
za mobilne ureaje.Na poetku rada objanjava se to je to Android, tko ga razvija i koje su osnovneideje (otvoreni kod) koje eli unijeti u svijet mobilnih ureaja.
U nastavku je rije o tehnikim mogunostima, razvoju i plasiranju aplikacija za ovajoperativni sustav. Nakon toga slijede informacije o dosadanjem napretku uproizvodnji mobilnih ureaja koji e koristiti, odnosno ve koriste Android, i na kojatrita su ve stigli, tj. gdje i kada stiu.
Na kraju rada je zakljuak koji komentira tehniku vrijednost Android sustava imogue posljedice njegovog snanog proirenja svijetom mobilnih telefona.