Android(2009)Jukic Ivan

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