You are on page 1of 12

1

Uvod u Android
programiranje
Obrisi jedne zemlje se najbolje vide tokom
vonje biciklom, jer morate da se preznojite
vozei uz brda i sputajui se niz njih.
Ernest Hemingvej

Android operativni sistem je sveobuhvatna platforma otvorenog koda osmiljena za


izradu aplikacija za mobilne ureaje. U ovom poglavlju, nauiete o istoriji Android
platforme i istraiete prednosti programiranja native aplikacija1 (onih iji je kod pisan
na Java programskom jeziku korienjem Android SDK-a). U poreenju sa aplikacijama
koje nisu native, aplikacije sa dobro pisanim kodom uglavnom rade bre i pouzdane
su. Native aplikacije takoe imaju pristup hardveru i alatkama ureaja, poput kamere i
adresara. U ovom poglavlju emo takoe istraiti i razne verzije operativnog sistema i
dobiete kratak osvrt na Google Play, kojim moete unoviti vau mobilnu aplikaciju.
Android brzo postaje najpopularniji mobilni operativni sistem na planeti, i on nudi
programerima neprevaziene naine da unove svoje mobilne aplikacije na vie trita.
U treem kvartalu 2013. godine, Android operativni sistem zauzimao je vie od 79 pro-
cenata celokupne prodaje pametnih telefona irom SAD, Evrope i Azije. Svakodnevno
se aktivira vie od 1,5 miliona Android ureaja. U julu 2013. godine, sa Google Play-a
se moglo preuzeti vie od milion aplikacija.
Pored toga to je otvorenog koda, Android se lako moe nadograivati, i programeri
ne moraju da imaju licencu za njega. Android predstavlja kompletn orazvojni sistem koji
vam obezbeuje sve alate koji su neophodni za pravljenje sjajnih aplikacija za mobilne
ureaje. Mobilni programeri mogu lako videti izvorni kod Android-a i razumeti kako
on funkcionie,to je pomo pri uenju pravljenja sjajnih aplikacija.

1
Native applications aplikacije kompajlirane za datu platformu, u daljem tekstu oznaene kao
native aplikacije (prim.prev.)

1
2 Poglavlje 1: Uvod u Android programiranje

Nekoliko rei o razlici Androida


Android je uradi sam operativni sistem za proizvoae hardvera koji za razliku od
Research in Motion-a (RIM) (Blackberry) i Apple-a (iOS) ne ele (ili ne mogu) da
naprave sopstvene mobilne operativne sisteme. Mnogi proizvoai hardvera su kreirali
sopstvene interfejse zasnovane na Androidu na primer, Samsungov TouchWiz ili Moto
rolin MOTOBLUR. Android vri teak posao povezivanja sa krajnjim softverom.
Jo jedan znaajan primer jeste korisniki interfejs Kindle Fire tableta, koji je naprav-
ljen u celosti u odnosu na sadraj Amazona ali koji je zasnovan na Android operativnom
sistemu. Android se takoe moe koristiti i za napajanje ureaja za igrice (OUYA), ka-
mere (kao to je Samsungova Galaxy Camera), pametne naoare (Google Glass), satove,
prenosive medija plejere, i ak DVD plejere i televiziju.
Android mobilni operativni system je Google-ov ampion i u vlasnitvu je Open
Handset Alliance-e. Cilj ove alijanse je, prema njihovoj internet strani, da ubrzaju ino-
vacije u mobilnom, i ponude potroaima bogatije, a jeftinije i bolje mobilno iskustvo..
Klju za razumevanje Android operativnog sistema jeste da se razume da je operativni
sistem odvojen od hardvera. Poto je relativno lako za proizvoae ureaja da prilagode
(portuju) softver operativnog sistema, korisnici mogu pokretati Android aplikacije na
velikom broju ureaja, ukljuujui i one iji su proizvoai Samsung, HTC, Motorola,
LG i mnogi drugi. Ovo prua mnoge mogunosti za mobilne programere. Ali, ovolike
pogodnosti Androida takoe mogu biti i komplikacija, jer razliiti ureaji imaju razliite
veliine ekrana i rezolucije, brzinu procesora, memoriju, itd.

Pravljenje native aplikacija


Postoji mnogo naina na koje se mogu praviti aplikacije za mobilne ureaje, ukljuujui
i rastui broj razvojnih alata prilagoenih za vie sistema, kao to su PhoneGap, Sencha
Touch, Titanium, jQuery Mobile, Kendo UI, i mnogi drugi. Meutim, ovakvi okviri
vam ne pruaju pogodnosti novih Android mogunosti, a njihovi interfejsi, veinski na-
menjeni iOS korisnicima, tee da prate iOS konvencije. Nasuprot tome, native Android
aplikacije imaju bolji pristup mogunostima i senzorima telefona, dajui vam ansu da
napravite sjajan softver sa kojim e krajnji korisnik imati vrhunsko iskustvo.
U nekim sluajevima, naroito ukoliko ciljate na vie platformi, pravljenje native apli-
kacija moe biti skuplje od korienja alata prilagoenih za vie sistema, ali odluivanje
za native varijantu donosi mobilnim programerima vie slobode. Vae mobilne aplikacije
e imati direktan pristup interfejsima za programiranje Android aplikacija (application
programming interface, API), za razliku od aplikacija koje su napisane pomou prostih,
a nekvalitetnih reenja.
Aplikacije napravljene pomou alata prilagoenih za vie sistema generalno ne rade
tako dobro kao native aplikacije. Facebook je poeo sa takvom aplikacijom ali je kasnije
odluio da se prebaci na native aplikacije jer performanse nisu bile zadovoljavajue.Vrlo
je est sluaj da se aplikacije koje rade na vie sistema konvertuju u native. Retko se ljudi
odluuju za prebacivanje native aplikacije u aplikacije koje bi radile istovremeno na vie
sistema.
Nekoliko rei o istoriji Android operativnog sistema 3

Ukratko, pravljenjem native aplikacije imaete znaajne prednosti prilikom korienja


mobilnog okvira.

Razvojni alati umeju da prave interfejse koji izgledaju i ponaaju se isto na razliitim
operativnim sistemima. Android korisnici oekuju razliite konvencije koje e u
potpunosti iskoristiti mogunosti Android platforme, to je mnogo lake sa native
aplikacijom.
Razvojni alati zaostaju za najnovijim konvencijama i inae se ne auriraju tako
esto kao Android OS. Takoe, koriste najnovije mogunosti operativnog sistema.
Native aplikacije imaju bolji pristup senzorima i ostalim sofisticiranim moguno-
stima Android operativnog sistema.
Native aplikacije rade bre od aplikacija napravljenih pomou okvira.

Nekoliko rei o istoriji Android operativnog sistema


2005. godine, Google je kupio Android, Inc. a 2007. godine oformljena je Open Handset
Alliance. Operativni sistem Android je zvanino izdat kao sistem otvorenog koda pod
Apache Software Foundation licencom.
Google je u principu marketinka agencija i njegovi prihodi od aplikacija poput
Gmail-a su vei od Google Play-a. Kako bi to vie izreklamirali Android, cilj kompanije
je da se on usvoji na to veem broju mobilnih ureaja. Open Handset Alliance se sastoji
od svih kompanija koje su ukljuene u ekosistem mobilnih ureaja, ukljuujui i pro-
izvoae kao to su Samsung i HTC, mobilni dobavljai kao Verzion i AT&T, i mnoge
druge kompanije.
Zvanini Android Software Development Kit (SDK) objavljen je u septembru 2008.
godine, ali se nije koristio na komercijalno dostupnim ureajima. Pet meseci nakon to
je Google izbacio manju nadogradnju, izbaen je novi HTC-ov G1 telefon na T-Mobile
mobilnoj telefoniji.
Android je krenuo uzlaznom linijoom, i ubrzo je izbaeno vie od 20 Android ureaja.
Android je krenuo da se reklamira pod imenima razliitih ukusa, poev od Cupcake
verzije 1.5 u aprilu. Operativni sistem je podrazumevao sledee funkcionalnosti:

Integrisan je sa Youtube-om i Picasa-om.


Dodaci (widgets) i folderi su na poetnom ekranu.
Moe se predviati se kucanie teksta i tastatura na ekranu.
Postoji video podrka preko kamkordera.
Postoje nove tranzicije izmeu ekrana.

U septembru 2009. godine, Google je izdao Donut, verziju 1.6, sa sledeim novim
mogunostima:

Novi interfejs za kameru, kamkorder, i galeriju slika


Poboljana pretraga i glasovna pretraga
4 Poglavlje 1: Uvod u Android programiranje

Podrka za vie rezolucije


Konverter pisanog teksta u govor
Podrka za multitouch Podrka za pristup Virtual Private Network (VPN)

Jedan mesec kasnije, Android 2.0 Software Development Kit je izbaen, i nadograen
januara 2010. godine na verziju 2.1. U oba izdanja, pod imenom Eclair, dodate su nove
mogunosti:

ive pozadine
Poboljani kalendar i Google Maps aplikacije
Poboljanja pretraivaa, ukljuujui podrku za HTML5
Unapreena brzina
Unapreena tastatura
Vea podrka za kameru
Podrka za Microsoft Exchange email
Poboljani korisniki interfejs (UI)

2010. godine, Operativni sistem Android postao je broj dva, pored BlackBerry-ja od
svih korisnika na svetu. U maju, Android 2.2 SDK je objavljen. Ovo izdanje, pod imenom
Froyo (zamrznuti jogurt2), ukljuivalo je sledee mogunosti:

Podrka za Adobe Flash 10.1


Bolja podrka za Microsoft Exchange
Poboljanja browsera, ukljuujui i poveanu podrku za HTML5
Unapreena brzina
Sposobnost instaliranja aplikacije na secure digital (SD) kartici
Vea podrka za kameru
Deljenje kontakata preko Bluetooth-a
Unapreen korisniki interfejs
Privezivanje (tethering)

Decembra 2010. godine, izbaen je Android 2.3 SDK, pod imenom Gingerbread, koji
je nudio sledee mogunosti:

Viestruka podrka za kameru (prednja i zadnja)


Voice over Internet Protocol (VoIP)
Status aplikacije i mogunost stopiranja aplikacije
Bolje rukovoenje energijom

2
Zamrznuti jogurt (engl. frozen yogurt), prim.prev.
Nekoliko rei o istoriji Android operativnog sistema 5

Unapreen korisniki interfejs


Podrka za barometar, gravitaciju, iroskop, i akcelerometar
Novi download manager
Podrka za near field komunikaciju (NFC)

Februara 2011. godine, izbaen je Android 3.0 SDK. Ovo izdanje, pod imenom Ho
neycomb, ciljalo je ureaje sa veim ekranima poput tableta i nudilo sledee nove mo-
gunosti:

Novi korisniki interfejs posebno je namenjen tabletima, ukljuujui i prilagod-


ljivi poetni ekran, novu sistemsku liniju, novu liniju sa radnjama, i listu nedavno
korienih aplikacija
Nova tastatura osmiljena posebno za tablete sa unapreenom opcijom copy/paste
Podrka za fiziku tastaturu
Sposobnost sinhronizovanja preko USB-a bez mount-ovanja konkretnog USB
ureaja
Podrka za privezivanje preko Bluetooth-a
Nove aplikacije posebno osmiljene za tablete ukljuujui email, pretraiva, kon-
takte, i galeriju
Podrka za procesor sa vie jezgara
Podrka za 2-D i 3-D grafiku karticu visokih performansi

Juna 2010. godine, izbaen je Android 3.1 SDK. Pod istim imenom Honeycomb, na-
menjen je ureajima sa veim ekranima, sa sledeim novim mogunostima:

Vie poboljanja korisnikog interefejsa: animacije i navigacija


Podrka za vie USB ureaja
Proirena lista nedavno korienih aplikacija
Dodaci za poetni ekran ija se veliina moe menjati
Podrka za dojstike i gejmpedove
Bolja Wi-Fi konekcija
Podrka za Enterprise
Nadograene standardne aplikacije

Jedan mesec kasnije, izdat je Android SDK 3.2, takoe namenjen tabletima, sa sledeim
novim mogunostima:

Dalja poboljanja za tablete


Direktan pristup fajl sistemu SD kartice
API ekrana za upravljanje razliitim veliinama ekrana
6 Poglavlje 1: Uvod u Android programiranje

Kompatibilno zumiranje za aplikacije fiksne veliine


Dodaci za poetni ekran, ija se veliina moe menjati

Oktobra 2011. godine, izbaen je Android 4.0 SDK, pod imenom Ice Cream Sandwich.
Sjedinio je 3.x operativni sistem usredsreen na tablete sa 2.x dizajnom sistema za tele-
fone. Nove mogunosti su:

Redefinisan korisniki interfejs


Odabir nedavno korienih aplikacija
Mogunost menjanja veliine dodataka (widget)
Kontrola mrenih podataka
Podeavanja zakljuanog ekrana
Poetni folder i Favorites polje
Brz odgovor na pozive
Integrisanje sa drutvenim mreama
Bolji email klijent
Mogunost pretraivaa da prikae u celosti desktop verzije internet strana
Nedefinisani kalendar

Jula 2012., 4.1 SDK (Jelly Bean), trenutno najkorienija verzija Androida, ima sledee
mogunosti:

Unapreeni odgovor na dodir i tranzicije


Unapreen sistem obvetenja
Prilagodljivu tastaturu
Brz pregled fotografija
Google Wallet
Unapreenu glasovnu pretragu
Deljenje slika bazirane na NFC-u
Mogunost eksternog inputa za Brajevu azbuku

4.2 SDK, izdat u novembru 2012. godine, predstavio je nove mogunosti:

Podrka za vie korisnika na tabletu


Podrka za prikaz na jo jednom ekranu koji je beino povezan
Proiriva praktina obavetenja
Prikaz fotografija ili vesti kada je ureaj u stanju mirovanja
Unapreena brzina i lakoa upravljanja
Nekoliko rei o istoriji Android operativnog sistema 7

Android Beam sa NFC ureajima


Unapreeni dodaci za ekran
Unapreen pristup sa uveliavanjem
Pisanje gestom

U julu 2013. godine, Jelly Bean je nadograen 4.3 SDK-om. Najveim delom je isti
kao i njegov prethodnik, uz nekoliko novih mogunosti:

Viekorisniki ogranieni profili


Podrka za Bluetooth Smart
Podrka za OpenGL ES 3.0 za igrice
Unapreen brojanik
Emoji tastatura
Podrka za skeniranja Wi-Fi mrea

U septembru 2013. godine, Google je sklopio sporazum sa kompanijom Nestle da za


sledei Operativni sistem Android koriste ime KitKat, koji je izbaen prvog novembra
2013. godine. Google je ukazao na nekoliko novih mogunosti:

Unapreen vek trajanja baterije


Vea kompatibilnost i pokrivenost globalne mree
Podrano je vie procesora
Nadograeno Linux jezgro je imalo male memorijske zahteve.

Tabela 1.1 prikazuje razliite verzije Androida i njihova kodna imena.

Tabela 1.1 Hronoloki pregled Android izdanja


Verzija Ime
1.6 Donut
2.1 Eclair
2.2 Froyo
2.3 2.3.2 Gingerbread
2.3.3 2.3.7
3.2 Honeycomb
4.0.3 4.0.4 Ice Cream Sandwich
4.2.2x Jelly Bean
4.4 KitKat
8 Poglavlje 1: Uvod u Android programiranje

Slika 1.1 Rasprostranjenost Operativnog sistema Android

Kako bi im aplikacije bile usmerene na odgovarajue korisnike, mobilni programeri


treba da razumeju razliita izdanja Androida i da koriste poseban API za verziju za koju se
odlue. Dobra je ideja da maksimizujete rasprostranjenost aplikacije tako to ete omogu-
iti da funkcionie na to veem broju ureaja; ali moda ne bi trebalo da se usredsredite
na poslednju verziju operativnog sistema, jer mnogi korisnici moda nisu aurirali svoje
ureaje ili nemaju za to mogunost.
Kao to se moe videti na slici 1.1, neki od ureaja jo uvek koriste 2.x verzije Andro
ida. Oni verovatno nikada nee biti nadograeni zbog njihovih hardverskih i softverskih
zahteva(dok korisnici ne zamene svoje telefone). Broj 4.x korisnika brzo raste, te sada
premauje broj korisnika ostalih verzija, tako da ima smisla usredsrediti se na ove kori-
snike kako bi se postigla ravnotea izmeu funkcionalnosti i rasprostranjenosti.

Korienje Android korisnikog interfejsa


Da biste razvili vau Android aplikaciju, treba da razumete kako Operativni sistem An
droid funkcionie sa korisnicima.
Na Androidu, poetni ekran je odvojen od liste aplikacija. Poetni ekran je slian
tradicionalnom desktop raunaru, gde su ikone aplikacija preice. Ba kao i na desktop
raunaru, moete imati duplikate preica dok brisanje preice ne nanosi nikakve izmene
na instalaciji aplikacije. Da biste deinstalirali neku aplikaciju, izaberite je, i pritisnite Un
install.
Kljuna taka poetnog ekrana na Android-u jesu dodaci za ekran (engl. widgets). Iako
se dodaci i preice mogu nai na poetnom ekranu (pogledajte sliku 1.2), dodaci nisu
preice. Naprotiv, oni su manje aplikacije koje rade u delu poetnog ekrana.
Dodaci su sjajan nain da personalizujete va ureaj, prikazivanjem sportskih rezultata
ili kvotama sa berze na primer. Android takoe ima i vie ekrana koji se mogu prevlaiti,
tako da dodacima moete iskoristiti prednosti ogranienog prostora na ekranu.
Android ima i vrlo korisnu liniju obavetenja, prikazanu na slici 1.3, koja prikazuje
sistemska obavetenja poput nove elektronske pote, SMS poruka, stanja baterije, kontrola
Korienje Android korisnikog interfejsa 9

muzikog plejera, ili USB konekciju, kao i aplikacije i obavetenja za korisnike poput
trenutnog stanja vremena, novih statusa sa Twitter-a, i jo dosta toga.
Razvojni alat Android takoe nudi i sledee korisne mogunosti za programere:

Proverava trenutne verzije pri pokretanju ureaja


Odreujee minimalne i ciljane API nivoe, gde je minimum manji od cilja
Koristi Android Support Library biblioteke kako bi se pristupilo mogunostima
izdatim u kasnijim API viih nivoa
Koristi klasu kompatibilnosti
Upravlja razliitim veliinama ekrana

Android programerima prua sve alate neophodne za pravljenje aplikacije za mobilni


ureaj. Generiki emulator softvera Android vam omoguava da kreirate aplikacije bez
konkretnog telefona na kojem biste ih testirali, to vam omoguava da eksperimentiete
sa razliitim API nivoima.
Kao to moete videti, stoga, otvorenost Androida i mogunost prilagoavanja su
glavni razlozi to je on najrasprostranjeniji mobilni operativni sistem. Meutim, sa time
dolazi i odreena koliina fragmentacije, pa programeri moraju da naprave kompromis

Slika 1.2 Android dodatak (widget) (primer: Slika 1.3 Android obavetajna linija
prikaz vremena) naspram preice za jednu
Android aplikaciju (primer: brojanik)
10 Poglavlje 1: Uvod u Android programiranje

izmeu korienja najnovijih funkcionalnosti i obezbeivanja da aplikacija odgovara


velikom broju korisnika. To nije tako teko kao to se moe pomisliti, kao to ete videti
u poglavljima koja slede.

Nekoliko rei o Android aplikacijama


U ovoj knjizi, nauiete kako se pravi optimizovana aplikacija za dosta tipova Android
ureaja. Na primer, jedna od varijacija koju treba da uzmete u obzir je veliina ekrana.
irok dijapazon pametnih telefona i tableta prestavlja stotine veliina ekrana za Android
ureaje od dvoinnih ekrana sa rezolucijom 240 320, pa do desetoinnih sa rezolu-
cijama i do 2560 1600. Vaa Android aplikacija mora odgovarati svim ovim veliinama.
Moete implementirati podeavanja i kontrole korienjem podrazumevanih pode-
avanja operativnog sistema. Ovo znai da sam ureaj (umesto vae aplikacije) generie
menije i dugmad.
Android aplikacije mogu se kompajlirati u Android Application Package (APK) fajl i
instalirati direktno na ureaj. Google dozvoljava APK fajlovima da budu instalirani sa bilo
koje lokacije, ak iako se preuzimaju preko pretraivaa mobilnog ureaja.

Uvoenje Google Play-a


U julu 2013. godine su sa Google Play-a aplikacije preuzete vie od 50 milijardi puta, a
od svih trita za Android aplikacije, najvee je Google Play, kao to je prikazano na slici
4.4. Veina ureaja se dobije sa instaliranim Google Play prodavnicom. Oni ureaji sa

Slika 1.4 Google Play Android prodavnica


Uvoenje Google Play-a 11

kojima to nije sluaj ili Google nije odobrio Google ili ga ne odobrava proizvoa (na
primer, Amazon sa Kindle Fire-om).
Sa Google Play-om ne postoji proces dozvoljavanja aplikacija, tako da je to sjajna
sredina za testiranje i brzo objavljivanje aplikacije. Programeri mogu brzo i lako testirati
i modifikovati svoje aplikacije.
Google Play takoe ima i moan pretraiva, kao to je prikazano na slici 1.5, to
korisnicima zainteresovanim za vau aplikaciju olakava pretragu. Od kljune je vanosti
da programeri pri odabiru naslova aplikacije do maksimuma dovedu njen potencijal da
budu pronaene. Obavezno koristite kljune rei u naslovu, i uzmite u obzir ukljuivanje
naslova aplikacije u njen sadraj.
Proces postavljanja i podnoenja aplikacije je dosta laki uz Google Play u poreenju
sa ostalim mobilnim tritima. Da biste podneli aplikaciju, napravite nalog i platite jed-
nokratnu proviziju od $25. U roku od 48 sati e va nalog biti odobren.
Google Play e oceniti vau aplikaciju. Algoritam za ocenjivanje je baziran na aplika-
cijama koje imaju dosta zadovoljnih korisnika. Stoga, da biste proirili mreu korisnika,
potrebno je da pokrenete marketinku kampanju barem dva do tri meseca, umesto da
putate oglase u kraim naletima.
Postavljanje oglasa na vaoj aplikaciji je jedan od naina da je unovite, a Google Play
obezbeuje velik inventar oglasa za Android aplikacije, i to po nioj ceni od konku
rentnih operativnih sistema. tavie, Android ne namee nikakva ogranienja izbora
mobilne oglaivake mree. Google Play takoe identifikuje ljude koji preuzimaju vae
aplikacije. Analizirajui ove podatke, moete imati uvid u ciljnu publiku i lako praviti
izmene u hodu.

Slika 1.5 Pretraivanje Google Play prodavnice


12 Poglavlje 1: Uvod u Android programiranje

Saetak
Native Android aplikacije sa dobro napisanim kodom mogu se pokretati daleko bre na
Android ureajima od ostalih tipova aplikacija, i native aplikacije su pouzdanije. Uz to,
native aplikacije imaju bolji pristup osnovnim API Android ureaja.
Istraivanjem istorije Android operativnog sistema otkrivaju se razliite verzije koje
postoje, i prikazuje se njihova rasprostranjenost meu korisnicima. Kasnije u ovoj knjizi,
otkriete kako da se usredsredite na to je vie verzija mogue kako biste pokrili to vie
publike. Takoe ete nauiti kako da nove mogunosti inkorporirate u svaku verziju.
Glavno trite za prodaju vaih Android aplikacija je Google Play prodavnica. Klju
uspeha na Google Play-u je pravljenje korisnih, dobro dizajniranih aplikacija. Ovo e-
sto podrazumeva fokusiranje na proizvodnju aplikacije koja je osmiljena posebno za
Android umesto da samo prilagodite aplikaciju zaAndroid kasnije.
Ova knjiga e vam pomoi da napravite native aplikacije visokih performansi koje su
namenjene posebno za Android ureaje. Poveemo vas na put pravljenja aplikacija koje
u potpunosti koriste prednosti svih nijansi Android platforme.

You might also like