POCETNA STRANA

 
SEMINARSKI RAD IZ ELEKTRONIKE
 
OSTALI SEMINARSKI RADOVI IZ ELEKTRONIKE / ELEKTROTEHNIKE
Diode-seminarski rad
Primenjena elektronika-seminarski rad
 

 

 

 

 

 

 

 

ANDROID  

 Sve je počelo u srpnju 2005. godine kada je Google kupio Android, Inc. malu kompaniju sa sjedištem u gradu Paolo Alto, USA. Suosnivači Android Inc. koji su otišli raditi u Google su: Andy Rubin (suosnivač Danger, Inc.), Rich Miner (suosnivač Wildfire communications, Inc.), Nick Sears (bivši potpredsjednik u T-Mobile) i Chris White (jedan od prvih inženjera WebTV-a).

Malo se znalo o poslovima koje je obavljao Android, Inc. u to vrijeme, osim da su radili softver za mobilne telefone. Nakon kupnje Androida počele su glasine da Google planira ući u tržište mobilnih telefona, iako je bilo nejasno na koji način.

U Googleu, tim predvođen Rubinom, razvio je operacijski sustav za mobilne telefone temeljen na Linuxu. Proizvođačima mobilnih telefona predstavljen je kao fleksibilan i lako nadogradiv sistem. Počele su se š iriti glasine da je Google već sklopio partnerstvo s nizom hardverskih i softverskih tvrtki.

Nova nagađanja da ć e Google ući u svijet mobilnih telefona stigla su u prosincu 2006. godine. Izvještaji sa BBC-a i iz Wall Street Journala ukazivala su na to da je Google želi svoj pretraživač i aplikacije na mobilnim telefonima i naporno radi da bi to postigao. Poslije su se pojavile glasine da Google razvija svoj vlastiti uređaj. Nove prepostavke i š pekulacije su slijedile izvještaje da Google definira tehničke specifikacije, i pokazuje prototipove uređaja proizvođačima mobilnih telefona i mrežnih operatora. Pričalo se da je oko 30-ak prototipova bilo "pušteno u divljinu".

U rujnu 2007. godine portal InformationWeek je prenio podatke iz studije koju je obavio Evalueserve i koji su pokazivali da je Google već ispunio nekoliko prijava za patente sa područja mobilne telefonije.

5. studenog 2007. osnovan je Open Handset Alliance. Uključivao je 34 kompanije, među kojima i sljedeće: Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, Sprint Nextel i NVIDIA. Zajednički cilj koji ih je ujedinio jest razvoj otvorenih standarda za mobilne uređaje. Na osnivanju su predstavili i svoj prvi proizvod: Android.

 

Android je prva besplatna, open source, i potuno prilagodljiva platforma za mobilne uređaje. Android sadrži operacijski sustav, međuopremu2 i ključne mobilne aplikacije. Također sadrži velik broj API-a3 koji omogućuje neovisnim proizvođačima izradu njihovih aplikacija [2].

2.1. Projekt otvorenog koda Otvorenost

Android je izgrađen tako da omogućava programerima stvaranje aplikacija koje u potpunosti koriste sve što uređaj nudi. Napravljen je da bude uistinu otvoren. Na primjer, aplikacija može pozvati jezgrene funkcije mobilnog telefona kao što su pozivanje, slanje tekstualnih poruka, korištenje kamere, dopuštajući programerima da stvore bogatije i složenije korisničke programe. Temeljen je na otvorenoj Linux jezgri. Štoviše, koristi vlastiti virtualni stroj koji je dizajniran da optimizira memorijske i hardverske resurse uređaja. Android se može proširivati i na taj način može prihvaćati najnovije tehnologije. Platforma će nastaviti rasti sve dok programerska zajednica radi zajedno, i razvija inovativne aplikacije za mobilne uređaje.

Sve aplikacije su jednake

Android ne razlikuje jezgrene aplikacije i aplikacije neovisnih proizvođača što se tiče pristupa mogućnostima uređaja. I jedni i drugi imaju jednak pristup mogućnostima uređaja što dozvoljava korisnicima uporabu širokog pojasa aplikacija i usluga. Uređaje koji su izgrađeni na platformi Android, korisnici mogu u potpunosti prilagoditi svojim zahtjevima. Na primjer, mogu postaviti uređaj tako da koristi njihov omiljeni program za pregled slika za pregledavanje svih slika.

Rušenje granica u stvaranju aplikacija

Android pomiče granice stvaranja novih i inovativnih aplikacija. Na primjer, programer može kombinirati informacije s weba sa podacima na uređaju pojedinog korisnika - kao š to su kontakti, kalendar ili zemljopisna lokacija. S Androidom, programer može napraviti aplikaciju koja omogućava korisnicima da vide lokaciju svojih prijatelja i da ih upozori kada su u blizini.

Brzo i jednostavno razvijanje aplikacija

Android pruža pristup širokom rasponu korisnih biblioteka i alata koji se mogu koristiti za izradu bogatih aplikacija. Na primjer, Android omogućava programerima da koriste lokaciju mobilnog uređaja, dopuštaju uređajima međusobnu komunikaciju - što otvara mogućnosti izrade peer2peer aplikacija. Nadalje, Android uključuje čitavi skup alata koji su izrađeni usporedo sa platformom omogućavajući programerima stvaranje aplikacija visoke učinkovitosti.

 

Dozvole

Od 21. listopada 2008., Android je dostupan pod otvorennim kodom (open source). Google je otvorio čitav izvorni kod, koji je prije bio nedostupan, pod licencom Apache.

S licencom Apache, programeri mogu dodavati vlastita proširenja bez da ih daju zajednici. Dok se očekuje da Googleovi doprinosi platformi budu otvoreni, grane bi se mogle naglo razvijati koristeći razne licence.

Android je bio kritiziran zato što nije bio u potpunosti otvoreni kod, iako je tako bilo najavljivano od strane Googlea. Neki dijelovi SDK su ostali zatvoreni i pretpostavljalo se da je to zbog toga da Google može kontrolirati platformu.

Međutim, Google je nakon toga objavio vijest da će svi dijelovi operacijskog sustava biti otvoreni pod licencom Apache gdje je to moguće ili pod licencom GPL na drugim mjestima [1].


2.2. Tehničke karakteristike

 

Mogućnosti platforme su:

  1. okvir za aplikacije (Application framework) - omogućava ponovnu upotrebu i zamjenu komponenti,
  2. virtualni stroj Dalvik (Dalvik virtual machine) - optimiziran za mobilne uređaje,
  3. integrirani pretraživač (Integrated browser) - temeljen na programskom okviru (framework) WebKit,
  4. optimizirana grafika (Optimized graphics) - koristi vlastitu 2D grafičku biblioteku; 3D grafika je temeljena na OpenGL ES 1.0 specifikacijama
  5. SQLite - baza podataka.
  6. podrška za višemedijski sadržaj (Media support) - audio, video, i slikovni formati (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF),
  7. GSM podrška (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 okruženje (Rich development environment) - uključuje emulator uređaja, alate za ispravljanje pograšaka (debugging), oblikovanje memorije i performansi, i dodatak za Eclipse IDE [4].

Arhitektura Androida

Aplikacije

Platforma Android dolazi s mnoštvom aplikacija napisanih koristeći Java programski jezik:

  1. Home prikazuje aplikacije, grafičke elemente (widgets), i prečace. Također podržava promjenjivu pozadinu;
  2. Phone podržava klasične telefonske funcije kao i kontrolu poziva, konferencijske razgovore, sporedne usluge, i laku integraciju s aplikacijom Contacts.
  3. Web Browser je pretraživač baziran na WebKitu sa svim njegovim mogućnostima, podržava HTML i XHTML.
  4. Email osigurava pristup poslužiteljima e-maila koji se obično mogu naći na Internetu i podržava POP3, IMAP4 i SMTP.
  5. Media Player omogućava upravljanje, uvoz i sviranje sadržaja kodiranih na razne načine.
  6. Alarm Clock, Calculator, Calendar, Camera, Contacts, IM, MMS, Settings, Voice Dialer i mnoge druge aplikacije su također uključene u ovu distribuciju.

Aplikacijski okvir

Androidov okvir za aplikacije (application framework) je napravljen da bi omogućio korištenje bogatog skupa API-a neovisnim programerima.

Androidove aplikacije se izvršavaju na Dalviku, vlastitom virtualnom stroju (VM). Dalvik VM izvršava izvršne datoteke dex, koje su tipično prevedene iz izvornog koda napisanog u Javi.

Izvršni format dex ima sljedeće karakteristike:

  1. učinkovita pohrana podataka na uređaj,
  2. učinkovita upotreba memorije pri izvršavanju,
  3. jednostavnost interpretacije.

 

Dalvik ima sljedeće karakteristike za vrijeme izvođenja:

  1. učikovitu podršku za više istodobnih VM procesa,
  2. optimizirani interpreter,
  3. učinkovito povezivanje na niži izvorni kod,
  4. uobičajen i širok skup funkcionalnosti jezgrenih biblioteka
  5. unaprijeđenu podršku za Java Debug Wire Protocol (JDWP), omogućujući jednostavnije debuggiranje više procesa istodobno,
  6. Java Native Interface (JNI) podrška.

Izvorne biblioteke

Platforma Android koristi mnoge izvorne biblioteke, uključujući:

  1. Bionic, prilagođena libc implementacija optimizirana za ugrađene sustave,
  2. grafičke biblioteke za 2D i 3D (OpenGL ES 1.0) grafičku podršku,
  3. openCore za ostvarivanje većine Androidovih multimedijskih mogućnosti. Uključuje podršku za mrežni streaming (HTTP and RTSP), kao i većinu kodeka i parsera medijskih datoteka korištenih u sistemu;
  4. sqlite za podršku sqlite baze podataka i
  5. WebKit biblioteku za pokretanje Android-ovog web pretraživača temeljenog na WebKitu.

 

Sustavni programi

Platforma Android:

  1. temeljena je na Linuxu 2.6.25 za ARM,
  2. trenutno očekuje ARM V5T ili bolju arhitekturu. Podrška za ranije arhitekture može biti dodana, ali CPU-ovi bez MMU bi bili teški za podržati;
  3. posjeduje skup jezgrenih poboljšanja koji je predviđen za potporu Androidu. Zakrpe uključuju: alarm, ashmem, binder, power management, low memory killer, kernel degugger, and logger;
  4. je dizajnirana da bude „chipset agnostic", i raditi će praktički na svakom Linux kernel okruženju temeljenom na ARM-u, verzija 1.0 platforme je bila testirana i potvrđena je na MSM 7K č ipsetovima. Tijekom vremena očekujemo podršku za druge glavne č ipsete. Jezgrene zakrpe za MSM temeljene č ipsete su također dostupni;
  5. podržava FAT32 file system,
  6. podržava TCP/IP (TCP, UDP, itd.) i
  7. koristi „minimal reference bootloadef (program za „podizanje" jezgre koji koristi malo resursa) je pružen za podržane čipsete. Može „podignuti" ( „bootati") Linux iz RAM-a, debugger-a, i NAND Flash-a.

 

Android podržava ispravljanje grešaka (debugging):

  1. izvornog koda je podržan preko GDB (GNU Project Debugger) preko USB-a,
  2. managed code-a (kod koji se izvodi u VM-a) je podržan preko bilo kojeg JDWP-kompatibilan debuggera preko USB-a i
  3. „Logging" i crash logova.

Platforma Android:

  1. će raditi na skoro svakom Linux kernel okruženju temeljenom na ARM-u,
  2. treba minimalno 128 MB RAM-a i 256 MB Flash memorije. OEM možda bude tražio još Flash memorije da omogući download više neovisnih aplikacija na korisničke uređaje;
  3. će se povezivati sa osnovnim pojasom kanala pokretnog radija omogućenog eksterno preko Radio Interface Layer-a (RIL),
  4. podržava 802.11 b/g Wi-Fi,
  5. koristi standardno USB sučelje, uključujući USB 2.0,
  6. podržava Bluetooth 2.0 EDR (Enhanced Data Rate),
  7. podržava Kameru za slike i video i
  8. premjestivu memoriju (Removable storage).

 

Svojstva podržanog prikaza su:

  1. HVGA rezolucija,
  2. 16 bitna širina boja (16 bit color depth),
  3. pejzaž i portret orijentacija, uključujući dynamic runtime switching,
  4. finger-based touchscreen navigacija.

Podržane tipke (Supported keypads and buttons) su:

  1. QWERTY,
  2. navigacija u 5 smjerova (5-way navigation),
  3. hardverske tipke: Send, End, Home, Back, Menu,
  4. power tipka,
  5. tipke za glasnoću - gore i dolje (Volume keys - up and down),
  6. tipka za okidanje kamere (camera trigger button), uključujući detektiranje djelomičnog pritiska (za fokusiranje) i potpunog pritiska (za slikanje).

Podržani audio izlazi (Supported audio outputs) su:

  1. audio izlaz preko utičnice za slušalice (mono i stereo) i
  2. 64 kbps Bluetooth audio.

 

Podržani hardver za notifikaciju (Supported notifications) je:

  1. LEDice i
  2. vibracija

Podržane radio i telefonske mogućnosti (Supported radio and telephony features) su:

  1. GPRS, EDGE, UMTS, HSDPA,
  2. međunarodni roaming, SMS, MMS,
  3. podrška za hitne pozive,
  4. sporedne usluge za telefoniju. Na primjer pozivi na č ekanju konferencijski razgovor;
  5. unstructured Supplementary Service Data (USSD),
  6. reference Radio Interface Layer (RIL) [5].

2.3. Razvoj aplikacija - Android SDK

 

Povijest razvoja do danas

Rane reakcije na razvoj aplikacija za Android platformu su bile mješovite. Prigovori su nastali zbog grešaka, nedostatka dokumentacije, neadekvatne Quality assurance (QA) infrastrukture, i nedostatka javnog sustava za prijavu grešaka („issue tracking"). Google je objavio issue tracker 18. siječnja 2008. U prosincu 2007, osnivač MergeLab mobile startupa Adama Macbeth je izjavio, "Funkcionalnost ne postoji, slabo je dokumentiran ili jednostavno ne radi ... Jasno je da nije spreman za premijeru.". I pored toga, aplikacije za Android počele su se pojavljivati već tjedan nakon što je platforma objavljena. Prva javno dostupna aplikacija je igra Snake [1].

Prvo izdanje Android Software Development Kita (SDK) je izdano 12. studenog 2007.15. srpnja 2008, Android Developer Challenge tim je slučajno poslao e-mail svim sudionicima Android Developer Challengea najavljujući da je novi SDK dostupan u "privatnom" download području. E-mail je bio namijenjen za pobjednike u prvom krugu Android Developer Challengea. Otkriće da je Google objavio novi SDK samo nekim programerima, a ne svima dovela je do frustracija u Androidovoj razvojnoj zajednici.

18. kolovoza 2008 Android 0.9 SDK beta je objavljen. Ovo izdanje pružilo je ažuriran i proširen API, poboljšane alate za razvoj i novi dizajn za početni zaslon. Detaljne upute za nadogradnju su bile dostupne onima koji rade s već ranijim izdanjima. 23. rujna 2008. objavljen je Android 1.0 SDK (Izdanje 1). Prema priloženim bilješkama, uključivao je "uglavnom ispravljene greške, iako su dodane neke manje novosti". Također je uključuivao nekoliko API promjena u odnosu na od 0.9 verziju.

9. ožujka 2009 Google je izdao verziju 1.1 za Android Dev Phone. Iako postoji nekoliko estetskih uređenja, nekoliko najvažnijih popravaka uključuju podršku za "pretraživanje glasom, aplikacije koje se naplaćuju, ispravke budilice, popravke kod slanja gmaila, ispravke obavještavanja o mailovima i intervala osvježavanja". Još jedno važno poboljšanje jest da Dev Phone sada može pristupati plaćenim aplikacijama i programeri ih sada mogu vidjeti na Google Marketu [1].

Razvoj

Prvi korak u programiranju za Android jest preuzimanje SDK (Software development kit). Android SDK uključuje sveobuhvatan skup razvojnih alata. Oni uključuju debugger, biblioteke, emulator uređaja (temeljen na QEMU), dokumentaciju, primjere kodova i tutoriale. Trenutno podržane platforme za razvoj su x86-bazirana računala koja pokreću Linux (bilo koji modernu desktop Linux distribuciju), Mac OS X 10.4.8 ili noviji, Windows XP ili Vistu. Zahtjevi također uključuju Java Development Kit, Apache Ant i Python 2.2 ili kasniji. Službeno podržano integrirano razvojno okruženje (IDE) je Eclipse (3.2 ili noviji) koristeći android Development Tools (ADT) Plugin, iako programeri mogu koristiti bilo koji uređivač teksta za uređivanje Java i XML datoteka a zatim pomoću alata naredbenog retka za stvaranje, izgradnju i debug Android aplikacija [1].

Osnove pisanja aplikacija

Aplikacije za Android pisane su u programskom jeziku Java. Prevedeni Javin kod - zajedno sa svim podacima i datotekama resursa potrebnim za aplikaciju - je zapakiran s alatom aapt u Androidov paket, arhiv datoteku obilježenu sa sufiksom .apk. Ova datoteka služi za distribuiranje i instaliranje aplikacije na mobilnim uređajima. To je datoteka koju korisnici preuzimaju na njihovihe uređaje. Sav kod u jednoj datoteci .apk smatra se jednom aplikacijom.

Na mnogo načina, svaka Androidova aplikacija živi u vlastitom svijetu:

  1. Svaka aplikacija se izvodi u vlastitom procesu na Linuxu. Android počinje proces kada se bilo koji kod applikacije treba izvršiti i isključuje proces kada više nije potreban i resursi sustava su potrebni drugim aplikacijama;
  2. Svaki proces ima svoj vlastiti Java virtualni stroj (VM), pa kod aplikacije radi u izolaciji od kodova svih ostalih aplikacija;
  3. Svakoj aplikaciji je dodijeljen jedinstveni ID korisnika Linuxa.

Dozvole su postavljene tako da su datoteke aplikacije vidljive jedino samoj aplikaciji - iako također postoje načini za izvoziti ih u druge programe;

Moguće je organizirati da dvije aplikacije dijele isti korisnički ID, u tom slučaju će oni biti u mogućnosti vidjeti datoteke jedna od druge. Zbog očuvanja resursa sustava, aplikacije s istim ID-om mogu se izvoditi u istom Linux procesu, dijeleći istu VM.

Glavna značajka Androida jest da jedna aplikacija može koristiti elemente drugih aplikacija (pod uvjetom da one to dozvoljavaju). Na primjer, ako Vaša aplikacija treba prikazati listanje popisa slika i neki drugi program je razvio „klizač" (scroller) pogodan za to i učinio ga dostupnim drugima, možete radije pozvati taj scroller, nego razvijati svoj vlastiti. Vaša aplikacija ne uključuje 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 koji dio njega je potreban i inicijalizirati Javine objekte za taj dio. Dakle, za razliku od većine programa na drugim sustavima, aplikacije na Androidu nemaju jednu ulaznu točku za sve što je u aplikaciji (na primjer nema funkcije main()). Umjesto toga, one imaju esencijalne komponente koje sustav može inicijalizirati i pokrenuti po potrebi. Postoje četiri vrste komponenti koje ovdje nećemo opisivati.

Razvoj u alatu

Android Development Tools (ADT) dodatak za Eclipse dodaje moćne dodatke za integrirano razvojno okruženje Eclipse. To vam omogućava da kreirate i debuggirate Android aplikacije lakše i brže. Ako koristite Eclipse, ADT plugin vam pruža veliku pomoć u razvoju Android aplikacija:

  1. Daje pristup drugim Androidovim razvojnim alatima Eclipse IDE-a. Na primjer, ADT omogućuje pristup mnogim mogućnostima DDMS alata: uzeti trenutni ekran, upravljati vratima (port), ubacivati točke prekida, pregledavati informacije dretvi i procesa direktno iz Eclipsea;
  2. Omogućuje New Project Wizard, koji pomaže pri brzoj izradi i postavljanju svih osnovnih datoteke potrebnih za novu Android aplikaciju;
  3. Pojednostavljuje i automatizira proces izgradnje Android aplikacije;
  4. Pruža Android uređivač koda (code editor) koji pomaže napisati valjani XML za Androidov manifest i izvorne datoteke.

 

Razvoj u drugim integriranim okolinama

Preporučeni način za razvijanje Android aplikacije je korištenje Eclipsea s dodatkom Android Development Tools (ADT), sadržanim u SDK. ADT omogućuje uređivanje, razvoj i otklanjanje grešaka integrirane izravno u IDE.

Međutim, ako bi radije razvijali vaše aplikacije u drugom IDE-u, kao što su IntelliJ, ili koristili Eclipse bez dodatka ADT, možete to učiniti. SDK pruža alate koji su vam potrebne za postavljanje, izgrađivanje i debuggiranje aplikacija [8].

Razvoj na uređaju

Pri izradi mobilnih aplikacija, bitno je testirati ih na stvarnim uređajima prije objavljivanja korisnicima. Iako razvojni programeri mogu koristiti regularne potrošačke uređaje kupljene u maloprodaji za testiranje i korištenje njihovih aplikacija, neki programeri mogu odlučiti ne koristiti maloprodajni uređaj, već preferiraju otključane uređaje.

Na primjer: Android Dev Phone (trenutno nije dostupan u Hrvatskoj) je SIM-otključani i hardware-otključani uređaj koji je dizajniran za napredne programere. Također se u istu svrhu zna koristiti i T-Mobile G1 uređaj [9].

 

Organizacija kod razvoja Plan projekta (Project layout)

Android platforma se sastoji od nekoliko projekata već u tijeku. Ovi projekti se mogu podijeliti u tri kategorije:

  1. Temeljni projekti: Ovi projekti čine temelj Android platforme
  2. Vanjski projekti: Android Open Source projekt koristi mnoge druge Open Source projekte
  3. 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:

  1. zajednica ima potpunu vidljivost u evoluciju platforme i donošenje odluka,
  2. doprinosi se priznaju i nagrađeni su i
  3. da Android postiže komercijalnu relevantnost.

Ljudi u okviru Android Open Source zajednice igraju različite uloge: Bilo tko (Anyone)

Svatko tko je zainteresiran za upoznavanje i pridonošenje Androidu može koristiti resurse projekta Android Open Source. Svatko se može pridružiti mailing listi, postavljati pitanja, raditi zakrpe, izvještavati o bugovima, pregledavati dostavljene zakrpe, i koristiti alate.

 

Verifikatori (Verifiers)

Verifiktori su odgovorni za testiranje zahtjeva za promjenu. Nakon što su pojedinci poslali značajnu količinu visokokvalitetnog koda projektu, Voditelj Projekta može pozvati ih da postanu Verifikatori.

 

Approvers

Approvers su iskusni članovi ovog projekta koji su pokazali svoje vještine i napravili su značajan tehnički doprinos ovome projektu. U procesu pregleda koda, Approver odluči ž eli li uključiti ili isključiti promjenu. Voditelj Projekta izabire Approvere, a ponekad i promiče na ovu poziciju Verifikatore koji su pokazali svoju stručnost unutar određenog projekta.

 

Voditelji projekta

Voditelj projekta za pojedinačni projekt je odgovoran za sljedeće:

  1. vodstvo svih tehničkih aspekata projekta; primjerice, razvoj projekta, cikluse objavljivanja, izdavanje novih verzija i QA,
  2. usko surađivanje sa Core Technical Tim-om u promoviranju projekta i njegovih izdanja,
  3. osigurati da je projekt kvalitetno urađen do zakazanog vremena izlaska nove Android platforme,
  4. određivanje Verifikatora i Approvera za dostavljene patcheve,
  5. biti fer i objektivan, dok pregledava promjene. Prihvaćanje ili odbijanje zakrpa na temelju tehničkih zasluga i sklada s Android platformom,
  6. pravodobno pregledavati promjene i komunicirati ako promjene nisu prihvaćene,
  7. Opcionalno, održavati web stranice za projekt zbog informacija i dokumenata koji su specifični za taj projekt;
  8. djelovati kao facilitator u rješavanju tehničkih sukoba.
  9. biti javno lice za projekt i osoba za pitanja vezana uz ovaj projekt.

Za postati Voditelj projekta za novi projekt, pojedinac mora demonstrirati radni kod koji implementira ideju za novi projekt, i mora imati mogućnosti da djeluje kao Voditelj projekta (opisane iznad).

Novi projekti trebali bi biti u svezi s Androidom, biti razumne ekstenzije na platformu, implementirati drivere i pakete za podršku koji podržavaju Android na specifičnom hardveru, i tako dalje [11].

 

Jezgreni tehnički tim

Jezgreni tehnički tim (Core Technical Team) recenzira i odobrava zahtjeve za postavljanje novih projekata, označava nove projekte kao dio osnovne platforme, a imenuje ili potvrđuje Voditelje projekata za te projekte.

Core Technical Team je odgovoran za sljedeće:

  1. pripremanje planova za izdanja Androida,
  2. otklanjanje cross-module tehničkih pitanja,
  3. stvaranje i održavanje tehničkih pravila za zajednicu, na primjer, vodiči o stilu kodiranja, planovi za nova izdanja i planovi verzija,
  4. odobravanje novih projekata i odabir Voditelja projekta po potrebi,
  5. biti javno lice za Android Open Source projekt i
  6. blisko surađivati s Voditeljem projekta u planiranju izdanja i verzija projekta.

Da bi postao član Core Technical Teama, pojedinac mora imati neke kombinacije ovih karakteristika:

  1. demonstrirano znanje o end-to-end Android razvojnom procesu,
  2. stručnost u određenim područjima kao š to su sustavi izgradnje, sistemski softver, sigurnost platforme, upravljanje napajanjem, stilovi kodiranja, QA, okviri aplikacije, razvoj aplikacija, zahtjevi platforme i dugoročni planovi i
  3. povijest tehničkog vodstva u gore navedenim područjima [11].

2.4. Plasiranje aplikacija - Android Market

Android Market je dućan koji je razvio Google a Android uređaje, koja omogućava korisnicima pregledavanje i preuzimanje aplikacija neovisnih programera. Slična je dućanu App Store za iPhone.

Android Market je najavljen 28. kolovoza 2008., a stavljen na raspolaganje korisnicima 22. listopada 2O08. Podrška za aplikacije koje se naplaćuju dodana je za korisnike u SAD-u i Velikoj Britaniji sredinom veljače 20O9. Korisnici u Velikoj Britaniji stekli su mogućnost kupovanja aplikacija koje se naplaćuju 13. ožujka 2009.

Programeri aplikacija koje se naplaćuju primaju 70% cijene aplikacije, a preostalih 30% ide za "prijevoznike" (carriers). Prihod zarađen od Android Marketa plaća se programerima putem Google Checkout trgovačkih računa.

Aplikacije koje se naplaćuju su trenutno dostupne samo korisnicima u sljedećim zemljama: Austrija, Njemačka, Velika Britanija, SAD.

Google je objavio u, e-mailu programerima, da "će dodati podršku za krajnje korisnike za dodatne zemljame u narednim mjesecima".

Za sada, samo programeri u SAD-u i Velikoj Britaniji mogu objavljivati aplikacije koje se naplaćuju. U e-mailu na programerima 2. travnja 2009. Google je napisao: "naporno radimo kako bi u narednim tjednima programerima u Njemačkoj, Austriji, Nizozemskoj, Francuskoj, Š panjolskoj omogućili aplikacije koje se naplaćuju. Nakon što trgovačka podrška za aplikacije koje se naplaćuju zaživi u tim zemljama, mi ćemo objaviti naše planove za pokretanje podrške za programere u dodatnim područjima."

Zabranjene aplikacije

31. ožujka 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 mreže:

 

"On Monday, several applications that enable tethering were removed from the Android Market catalog because they were in violation of T-Mobile's terms of service in the US. Based on Android's Developer Distribution Agreement (section 7.2), we remove applications from the Android Market catalog that violate the terms of service of a carrier or manufacturer.

 

We inadvertently unpublished the applications for all carriers, and today we have corrected the problem so that all Android Market users outside the T-Mobile US network will now have access to the applications. We have notified the affected developers." [12]

Izdavanje

Pripremanje aplikacije prije izdavanja:

Prije nego što odlučite izdati Vašu aplikaciju:

  1. Testirajte aplikaciju opsežno na stvarnom uređaj
  2. Razmislite o dodavanju End User License Agreementa Vašoj aplikaciji
  3. Navedite ikonu i natpis u manifest applikacije
  4. Isključite logging i debugging i pospremite podatke/datoteke

 

Prije nego napravite zadnje kompajliranje Vaše aplikacije:

  1. Navedite verziju Vaše aplikacije
  2. Nabavite odgovarajući kriptografski ključ
  3. Registrirajte se za Maps API ključ, ako Vaša aplikacija koristi MapView elemente

Kompajlirajte Vašu aplikaciju... Nakon kompajliranja:

  1. Prijavite vašu aplikaciju
  2. Testirajte vašu kompajliranu aplikaciju [13]

 

Izdavanje na Android Market

Za objaviti Vaše aplikacije na Android Market, najprije se morate registrirati pomoću svog Google računa i složiti se s uvjetima korištenja. Nakon š to ste registrirani, možete uploadati Vaše aplikacije na servis kad god želite, koliko god puta želite, a potom ih objaviti kad ste spremni. Nakon objave, korisnici mogu vidjeti Vaš program, skinuti ga i ocjeniti koristeći Market aplikaciju instaliranu na njihovom Android uređaju [14].

 

 

Android Developer Challenge

Android Developer Challenge je natjecanje za najinovativniju aplikaciju za Android. Prvo natjecanje (Android Developer Challenge 1) je započelo početkom 2008. godine. Google je ponudio nagrade vrijedne ukupno 10 milijuna dolara, distribuirane između dvije faze natjecanja. U prvoj fazi prihvaćane su prijave od 2. siječnja do 14. travanj 2008. 50 prijava koje su najviše obećavale, objavljene su 12. svibnja 2008., svaka je dobila 25000 dolara nagrade za financiranje daljnjeg razvoja. Druga faza završila je početkom rujna sa objavom deset timova koji su primili po 275.000 $ svaki, a deset timova koji su dobili po 100.000 $ svaki.[1]

2.5. Uređaji koji koriste Android

HTC Dream (također predstavljan kao T-Mobile G1, ili Era G1 u Poljskoj) je prvi telefon na tržištu koji koristi Android platformu. Telefon je dio otvorenog standarda Open Handset Alliancea. Izdan je u SAD-u 22. listopada 2008, u Velikoj Britaniji 30. listopada 2008, u Nizozemskoj i Češkoj 31. prosinca 2009., Poljskoj 23. veljače 2009, Australiji 5. Veljače, a bit će dostupan u drugim državama uključujući i Singapur, Francusku i Njemačku, tijekom 2009. Kineska tvrtka Qigi izdala je verziju svojih i6 Windows Mobile uređaja koji pokreću Android u prosincu 2008. Uređaj je proizveden od strane kineskog ODM TechFaith [1].

Nadolazeći uređaji

  1. U rujnu 2008, Motorola je potvrdila da radi hardverske proizvode koje ć e pokretati Android.
  2. Huawei planira izdati telefon koji će izvoditi Android na T-Mobile-u. Ovaj datum međutim nije postavljena do nakon lipnja 2009.
  3. Archos planira lansirati novi uređaj, koji bi kombinirao značajne medijske sposobnosti sa Android operacijskim sustavom.
  4. Lenovo radi na Android-temeljenom mobilnom telefonu koji podržava kineski 3G TD-SCDMA standard.
  5. HTC planira "portfelj" Android zasnovane telefone pustiti u ljeto 2009, uključujući HTC Magic, prikazan 17. veljače 2009 na 2009 Mobile World Congress-u u Barceloni. HTC Magic će biti objavljen 1.svibnja.
  6. Sony Ericsson planira izdati jedan Android uređaj u ljeto 2009.
  7. Samsung planira izdati telefon temeljen na Google Android operacijskom sustavu u lipnju 2009 sa još nekoliko koje dolaze u sljedećim mjesecima.
  8. GiiNii Mini Movit je Internet uređaj baziran na Google Android operacijskom sustavu.
  9. Glasine su da ć e Acer izdavati telefonije naziva L1 , C1, E1, F1, i A1 (nepotvrđen) krajem 2009.
  10. Kineski ODM Yuhua prvi Android telefon, dual-SIM DSTL1 će biti izdan pod General Mobile brand-om u lipnju. Tvrtka planira više Android uređaja.[1]

Kogan Technologies, Australski proizvođač tehnologije, najavio je Android kompatibilne uređaje: Kogan Agora i Kogan Agora Agora Pro. Uređaji su trebali biti objavljeni 29. siječnja 2009. Sredinom siječnja 2009, Kogan najavio da će izlazak Agora uređaja je kasniti neodređeno [1].

Nedavno su se pojavile i specifikacije nasljednika HTC-ovog mobitela G1 koji bi kao direktni konkurent iPhone uređaju bi mogao biti veoma zanimljiv. Međutim, najavljivan je već u siječnju 2009. - nije se još pojavio.

Android Dev Phone, spomenut ranije u tekstu (Razvoj na uređaju), trenutno nije dostupan u Hrvatskoj.

Zaključak

 

Android je definitivno projekt koji mnogo obećava. Iako osobno nemam previše vjere u uspjehe projekata otvorenog koda, vjerujem da bi Android mogao biti iznimka. Sigurno će unijeti promjene u svijetu mobilnih uređaja.

Jedna od njegovih glavnih prednosti je dobra organizacija, koja ima potencijal da iskoristi svu moć i znanje zajednice otvorenog koda. Još jedna dobra stvar je uključenost velikog broja jakih kompanija u projekt, što omogućuje jako brzo širenje. Brzi razvoj, kao posljedica dobre organizacije, povlači za sobom unapređivanje svih aspekata projekta.

Svatko može sudjelovati, š to ć e dodatno poticati inovacije i ubrzati razvoj. Svakodnevno se platforma tehnički usavršuje i unapređuje od strane neovisnih proizvođača. U Hrvatskoj će sve vezano uz Android vjerojatno kasniti, jer kao što je opće poznato, mi tehnološki zaostajemo za naprednim zemljama.

Android je jako pozitivan pomak u svijetu mobilnih uređaja. Ima dobre š anse da ostvari uspjeh, ako ne i revoluciju. Što će se dogoditi - vrijeme će pokazati.

 

 Literatura

 

[I]   Wikipedia: Android (operating system),
http://en.wikipedia.org/wiki/Google Android, ožujak 2009.

[2] Android Open Source Project, http://source.android.com/, ožujak 2009.

[3] Android: What is Android?, http://www.android.com/about/, ožujak 2009.

[4] Android developers: Dev Guide, What is Android?, http://developer.android.com/guide/basics/what-is-android.html, ožujak 2009.

[5] Android Open Source Project: Release features - Android 1.0, http://source.android.com/release-features—android-1-0, ožujak 2009.

[6] Android developers: Dev Guide, Application Fundamentals, http://developer. android. com/guide/topics/fundamentals. html, ožujak 2009.

[7] Android developers: Dev Guide, Developing In Eclipse, with ADT, http://developer. android. com/guide/developing/eclipse-adt.html, ožujak 2009.

[8] Android developers: Dev Guide, Developing In Other IDEs, http://developer. android. com/guide/developing/other-ide.html, ožujak 2009.

[9] Android developers: Dev Guide, Developing on a Device, http://developer. android. com/guide/developing/device. html, ožujak 2009.

[10] Android Open Source Project: Project layout, http://source.android.com/projects, ožujak 2009.

[II]   Android Open Source Project: Project roles, http://source.android.com/project,
ožujak 2009.

[12] Wikipedia: Android Market, http://en.wikipedia.org/wiki/Android Market, ožujak 2009.

[13] Android developers: Dev Guide, Preparing to Publish: A Checklist, http://developer. android. com/guide/publishing/preparing. html, ožujak 2009.

[14] Android developers: Dev Guide, Publishing Your Applications, http://developer. android. com/guide/publishing/publishing. html, ožujak 2009.

Besplatni Seminarski Radovi