Professional Documents
Culture Documents
Osnove Android Programiranja
Osnove Android Programiranja
izdavanjem Android 3.0 verzije, Google je poeo razvoj nove verzije Android platforme, koja se
moe koristiti podjednako dobro i na pametnim telefonima i na tablet raunarima. U oktobru 2011.
godine Google je izdao Android 4.0, sa kodnim nazivom Ice Cream Sandwich, koji je opisan u
ovoj knjizi.
U ovom poglavlju ete nauiti ta je Android i ta ga ini podjednako privlanim i programerima
i proizvoaima ureaja. Takoe ete pristupiti razvoju svoje prve Android aplikacije, odnosno
saznaete kako da pronaete sve neophodne alate i kako da ih ispravno podesite da biste mogli da
testirate svoju aplikaciju na Android 4.0 emulatoru. Nakon to proitate ovo poglavlje, imaete
osnovno znanje koje je neophodno da pristupite prouavanju sloenijih tehnika i trikova koji se
odnose na razvoj atraktivnih Android aplikacija.
ta je Android?
Android je mobilni operativni sistem koji je zasnovan na modifikovanoj verziji Linux operativnog
sistema. Originalno ga je razvila Android, Inc. kompanija. U toku 2005. godine, kao deo strategije za pristupanje tritu mobilnih ureaja, Google je kupio Android i preuzeo odgovornost za
njegov dalji razvoj (kao i za razvojni tim).
eleo je da Android bude otvoren i slobodan; zbog toga je najvei deo Android koda bio pod
Apache License licencom, koja se odnosi na otvoreni kod, to znai da svako moe da koristi
Android preuzmanjem njegovog izvornog koda. tavie, proizvoai (pre svega, hardvera) mogu
da dodaju sopstvene ekstenzije i podeavaju Android u skladu sa svojim proizvodima kako bi se
oni razlikovali u odnosu na druge proizvode. Ovaj jednostavan model ini Android veoma atraktivnim i zbog toga je privukao brojne proizvoae. Ovo je posebno znaajno za kompanije koje su
bile pogoene fenomenom iPhone telefona kompanije Apple, neverovatno uspenim proizvodom koji je izazvao revoluciju u industriji pametnih telefona. Takve kompanije su, izmeu ostalog, Motorola i Sony Ericsson, koje su dugo godina razvijale sopstvene operativne sisteme za
mobilne ureaje. Nakon to je iPhone puten u prodaju, neki od proizvoaa su morali da pronau
nain da revitalizuju svoje proizvode. Oni su kao reenje videli Android nastavie razvoj sopstvenih hardvera i koristiti Android kao operativni sistem koji upravlja tim hardverom.
Glavna prednost prilagoavanja Android operativnog sistema je primena unifikovanog pristupa
razvoju aplikacija. Programeri razvijaju sve pod Android platformom, a njihove aplikacije treba
da imaju mogunost izvravanja na velikom broju razliitih ureaja, pod uslovom da ti ureaji
koriste Android operativni sistem. U svetu pametnih telefona aplikacije su najznaajniji deo lanca
uspeha. Proizvoaima ureaja je Android platforma, zbog toga, bila najbolja osnova za hvatanje
u kotac sa iPhone telefonom, iji su korisnici ve imali veliki broj aplikacija na raspolaganju.
Android verzije
Android je doiveo veliki broj modifikacija od svoje prve verzije. U tabeli 1-1 prikazane su razliite Android verzije sa njihovim kodnim nazivima.
ta je Android?
Datum objavljivanja
Kodni naziv
9. februar 2009.
30. april 2009.
15. septembar 2009.
26. oktobar 2009.
20. maj 2010.
6. decembar 2010.
22. februar 2011.
19. oktobar 2011.
Cupcake
Donut
Eclair
Froyo
Gingerbread
Honeycomb
Ice Cream Sandwich
U februaru 2011. godine Google je izdao Android 3.0 verziju koja je prilagoena iskljuivo za
tablet raunare sa irokim ekranom.
Kljune promene koje je uveo Android 3.0 su navedene u daljem tekstu.
3D desktop sa novim dodacima
poboljani multi-tasking
nove funkcije web itaa, kao to su korienje kartica, automatsko popunjavanje
formi, sinhronizacija oznaenih stranica i privatnost prilikom pregledanja
podrka za procesore sa vie jezgara
Aplikacije koje su napisane za Android verzije pre 3.0 su kompatibilne sa Android 3.0 ureajima
i izvravaju se bez ikakvih modifikacija. Meutim, Android 3.0 tablet aplikacije, koje mogu da
koriste najnovije funkcije raspoloive u 3.0 verziji, ne mogu da se izvravaju na starijim ureajima. Da biste se uverili da Android tablet aplikacija moe da se izvrava na svim verzijama ureaja, morate programski da obezbedite da se odreene funkcije koriste samo na onim ureajima na
kojima se izvravaju specifne Android verzije.
U oktobru 2011. godine Google je izdao Android 4.0, verziju koja je omoguila korienje svih
funkcija uvedenih u Android 3.0 verziji na pametnim telefonima, zajedno sa nekim novim funkcijama, kao to su otkljuavanje na osnovu prepoznavanja lica, nadgledanje i upravljanje korienjem podataka, Near Field Communication (NFC) i drugo.
Android karakteristike
Poto Android ima otvoreni kod i dostupan je potpuno besplatno proizvoaima za samostalno
prilagoavanje, ne postoje precizno definisane hardverske ili softverske konfiguracije. Meutim,
Android podrava sledee:
skladitenje Za skladitenje podataka koristi se SQLite, jednostavna relaciona baza
podataka. Poglavlje 6 sadri detaljan opis postupaka skladitenja podataka.
pristupanje mreama Podrane su GSM/EDGE, IDEN, CDMA, EV-DO, UMTS,
Bluetooth (ukljuuje A2DP i AVRCP), Wi-Fi, LTE i WiMAX. U Poglavlju 8 detaljno
su opisani postupci umreavanja.
Android arhitektura
Da biste razumeli na koji nain funkcionie Android, pogledajte sliku 1-1, na kojoj su prikazani
razliiti slojevi koji sainjavaju Android operativni sistem (OS).
Android OS je grubo podeljen na pet sekcija i etiri osnovna sloja:
Linux jezgro To je jezgro na kome je Android zasnovan. Ovaj sloj sadri sve
drajvere ureaja definisane na niskom nivou za razliite hardverske komponente
svakog pojedinanog Android ureaja.
biblioteke Sadre sav kod koji obezbeuje osnovne funkcije Android operativnog
sistema. Na primer, SQLite biblioteka obezbeuje podrku za korienje baza
podataka, tako da aplikacija moe da je koristi za skladitenje podataka. WebKit
biblioteka obezbeuje funkcije koje se odnose na pregledanje web sadraja.
Android runtime okruenje Na istom nivou kao i biblioteke, Android okruenje
obezbeuje skup osnovnih biblioteka koje omoguavaju programerima da piu Android
aplikacije korienjem Java programskog jezika. Android okruenje sadri i Dalvik
virtuelnu mainu, koja omoguava svakoj Android aplikaciji da se izvrava u sopstvenom
procesu, sa sopstvenom instancom Dalvik virtuelne maine (Android aplikacije se prevode
u Dalvik izvrne datoteke). Dalvik je specijalizovana virtuelna maina, projektovana
specijalno za Android i optimizovana za mobilne ureaje koji koriste baterije pri radu i
imaju ograniene memorijske resurse i CPU (centralnu procesorsku jedinicu).
radni okvir aplikacija Omoguava se korienje razliitih mogunosti Android
operativnog sistema, tako da programeri mogu da ih koriste u svojim aplikacijama.
aplikacije Na ovom nivou nalaze se aplikacije koje se isporuuju sa Android
ureajima (kao to su Phone, Contacts, Browser i sline), kao i aplikacije koje se
preuzimaju i instaliraju korienjem Android Marketa. Sve aplikacije koje samostalno
kreirate nalaze se na ovom nivou.
Slika 1-1
Contacts
Phone
Media Framework
FreeType
SSL
Drajver kamere
Wi-Fi drajver
Surface Manager
OpenGL / ES
SGL
Drajver prikaza
Drajver tastature
BIBLIOTEKE
Iibc
WebKit
SQLite
Audio drajver
Browser
Osnovne biblioteke
ANDROID RUNTIME
Upravljanje potronjom
IPC drajver
...
Upravljanje obavetenjima
Sistem za pregledanje
Upravljanje lokacijom
LINUX JEZGRO
Upravljanje resursima
Obezbeivanje sadraja
Upravljanje telefonom
Upravljanje aktivnostima
Upravljanje paketima
Home
APLIKACIJE
ta je Android?
5
Slika 1-2
Jo jedna popularna kategorija ureaja koje proizvoai ubrzano izbacuju na trite su tablet
raunari. Oni se, uglavnom, prave u dve dimenzije: sedam ina i deset ina, mereno dijagonalno.
Na slici 1-3 prikazani su Samsung Galaxy Tab 10.1 (levo) i Asus Eee Pad Transformer TF101
(desno), a oba su tableti veliine 10,1 in. I Samsung Galaxy 10.1 i Asus Eee Pad Transfer TF101
koriste Android 3 operativni sistem.
ta je Android?
Slika 1-3
Slika 1-4
Android polako pronalazi svoje mesto i u naim domovima. Zaposleni u vedskoj kompaniji
Lava su razvili TV zasnovan na Android operativnom sistemu, koji su nazvali Scandinavia
Android TV (videti sliku 1-5).
Google je razvio specifinu platformu za pametne televizore, koja je zasnovana na Android operativnom sistemu, i to u saradnji sa kompanijama kao to su Intel, Sony i Logitech. Na slici
1-6 prikazan je Google TV, koji je kreirala Sony kompanija.
Slika 1-5
Slika 1-6
U vreme pisanja ove knjige Samsung Galaxy Nexus (videti sliku 1-7) bio je jedini ureaj koji je
koristio Android 4.0 operativni sistem. Meutim, iz kompanije Google stiglo je obeanje da e
svi postojei ureaji (kao to je Nexus S) imati mogunost prelaska na Android 4.0. Kada budete
itali ovu knjigu, verovatno e postojati veliki broj ureaja na kojima se izvrava Android 4.0.
Slika 1-7
Android Market
Kao to je prethodno pomenuto, jedan od glavnih faktora za utvrivanje uspeha odreene plaforme
pametnih telefona je postojanje aplikacija koje je podravaju. Jasno je, na osnovu uspeha iPhone telefona, da aplikacije imaju veoma znaajnu ulogu u utvrivanju uspeha ili neuspeha nove platforme.
Pored toga, mogunost prosenih korisnika da pristupaju ovim aplikacijama je izuzetno znaajna.
Zbog toga je Google u avgustu 2008. godine najavio Android Market, mreno dostupnu prodavnicu aplikacija za Android ureaje, a pristupanje je omoguio korisnicima dva meseca kasnije.
Koristei Market aplikaciju koja je preinstalirana na Android ureaju, korisnici su mogli veoma
jednostavno da preuzimaju aplikacije nezavisnih autora direktno na svoje ureaje. Android Market
je predvien i za besplatne aplikacije i za one koje se plaaju. Aplikacije koje se plaaju dostupne
su samo u odreenim zemljama, zbog pravnih ogranienja. Slino tome, u nekim zemljama aplikacije sa Android Marketa korisnici mogu kupovati, ali programeri ih ne mogu prodavati. Na primer,
u vreme pisanja ove knjige korisnici u Indiji su mogli da kupuju aplikacije sa Android Marketa,
ali programeri u toj zemlji nisu mogli da prodaju aplikacije na Android Marketu. Postoje i obrnute
situacije; na primer, u Junoj Koreji korisnici ne mogu da kupuju aplikacije, ali programeri mogu
da prodaju aplikacije na Android Marketu.
Napomena Poglavlje 12 sadri vie informacija o Android Marketu i nainu na
koji moete da prodajete svoje aplikacije na njemu.
10
Za razvoj Android aplikacija moete koristiti Mac, Windows PC ili Linux raunar. Svi alati koji
su neophodni su potpuno besplatni i mogu se preuzeti sa Weba. Veina primera koji su prikazani
u ovoj knjizi odlino funkcionie i u Android emulatoru, sa izuzetkom nekoliko primera koji zahtevaju pristup hardveru. Za potrebe pisanja ove knjige koristio sam Windows 7 raunar da bih
demonstrirao sve primere koda. Ukoliko koristite Mac ili Linux raunar, slike ekrana treba da
izgledaju identino; postoje odreene minorne razlike, ali ete moi da pratite tekst bez ikakvih
problema.
Zabava moe da pone!
Java JDK
Android SDK koristi Java SE Development Kit (JDK). Ukoliko na vaem raunaru nije instaliran JDK, treba da ga
preuzmete sa stranice koja se nalazi na adresi www.oracle.com/technetwork/java/javase/downloads/index.
html i da ga instalirate pre nego to preete na naredni odeljak.
Android SDK
Prvi i najvaniji softver koji je neophodno da preuzmete je, naravno, Android SDK. On sadri
debager, biblioteke, emulator, dokumentaciju, primere koda i uputstva.
Android SDK moete preuzeti sa stranice koja se nalazi na adresi http://developer.
android.com/sdk/index.html (videti sliku 1-8).
Slika 1-8
Android SDK je upakovan u zip datoteku. Moete preuzeti ovu arhivu i otpakovati njen sadraj
(android-sdk-windows folder) u folder, recimo C:\Android 4.0\. Za Windows kori-
11
Slika 1-9
Od vas se zahteva da navedete odredini folder za instaliranje Android SDK alata. Unesite odredinu putanju (videti sliku 1-10) i kliknite Next.
Kada bude zatraeno da izaberete Start Menu folder za kreiranje preice programa, prihvatite
podrazumevanu Android SDK Tools vrednost, a zatim kliknite Install. Nakon to se zavri proces
instaliranja, selektujte Start SDK Manager (to download system images, etc.) opciju i kliknite
Finish (videti sliku 1-11). Tada se startuje SDK Manager.
12
Slika 1-10
Slika 1-11
13
Slika 1-12
Napomena Za poetak treba da selektujete bar najnoviju Android 4.0 SDK platformu i dodatke. U vreme pisanja ove knjige najnovija SDK platforma je SDK Platform
Android 4.0, API 14.
Svaka verzija Android operativnog sistema identifikovana je API brojem nivoa. Na primer,
Android 2.3.3 je nivo 10 (API 10), dok Android 3.0 predstavlja nivo 11 (API 11) i tako redom. Za
svaki nivo postoje dve platforme. Na primer, nivo 14 prua sledee:
SDK platformu
Google API interfejse kompanije Google
Kljuna razlika izmeu ova dve platforme ogleda se u injenici da Google API platforma sadri
dodatne API interfejse koje je obezbedio Google (kao to je Google Maps biblioteka). Zbog
toga, ukoliko aplikacija koju elite da kreirate zahteva Google Maps, neophodno je da kreirate
AVD korienjem Google API platforme (vie informacija o tome moete pronai u Poglavlju 9,
Servisi zasnovani na lokacijama).
14
Od vas e se zahtevati da izaberete pakete koje elite da instalirate (videti sliku 1-13). Selektujte
Accept All opciju i kliknite Install.
Slika 1-13
SDK Manager e nastaviti da preuzima pakete koje ste prethodno seletkovali. Instalacija moe da
potraje dosta dugo, tako da treba da budete strpljivi. Nakon to budu instalirani svi paketi, od vas
e se zahtevati da restartujete ADB (Android Debug Bridge). Kliknite Yes.
Eclipse
Sledei korak je instaliranje integrisanog razvojnog okruenja (eng. integrated development environment, IDE). Kada je re o Android aplikacijama, preporuuje se korienje Eclipse integrisanog
razvojnog okruenja, koje se moe koristiti za razvoj programa u razliitim programskim jezicima
i koje predstavlja sistem proiriv razliitim dodacima. Moe se koristiti za razvoj razliitih tipova
aplikacija korienjem programskih jezika, kao to su Java, Ada, C, C++, COBOL, Python i drugi.
Za potrebe razvoja Android aplikacija treba da preuzmete Eclipse IDE for
Java EE Developers (www.eclipse.org/downloads/). Na raspolaganju je
est razliitih izdanja:
Windows (32- i 64-bit), Mac OS X (Cocoa 32- i 64), odnosno Linux
(32- and 64-bit). Jednostavno, selektujte onaj koji odgovara operativnom
sistemu koji trenutno koristite. Svi primeri u ovoj knjizi su testirani korienjem 32-bitne verzije Eclipse integrisanog razvojnog okruenja za
Windows operativni sistem.
Nakon to preuzmete Eclipse IDE, otpakujte sadraj arhive (eclipse folder) u odgovarajui folder - na primer, C:\Android 4.0\. Na slici 1-14
prikazan je sadraj Eclipse foldera.
Da biste startovali Eclipse, neophodno je da dva puta kliknete eclipse.exe
datoteku. Od vas se prvo zahteva da navedete radni prostor (workspace)
koje ete koristiti. U Eclipse integrisanom razvojnom okruenju radni prostor je folder u kome se uvaju svi vai projekti. Ne menjajte predloenu
vrednost (ili moete samostalno da definiete sopstveni folder za uvanje
projekata) i kliknite OK.
Slika 1-14
15
Slika 1-15
ADT je proirenje Eclipse integrisanog razvojnog okruenja koje podrava kreiranje i identifikovanje greaka u Android aplikacijama. Koristei ADT, moi ete da u Eclipse integrisanom
razvojnom okruenju uradite sledee:
kreirate nove projekte Android aplikacija
pristupate alatima koji omoguavaju korienje Android emulatora i ureaja
prevodite i identifikujete greke u Android aplikacijama
eksportujete Android aplikacije u Android pakete (Android Package, skraeno APK)
kreirate digitalne sertifikate za potpisivanje koda vaih APK paketa
U Install okviru za dijalog koji se prikazuje navedite https://dl-ssl.google.com/
android/eclipse/ i pritisnite Enter taster. Nakon odreenog vremena, bie prikazana Developer Tools stavka u sreditu prozora (videti sliku 1-16). Proirite je da biste prikazali njen sadraj:
Android DDMS, Android Development Tools, Android Hierarchy Viewer i Android Traceview.
Selektujte neku od raspoloivih opcija, a zatim dva puta kliknite Next.
16
Slika 1-16
Napomena Ukoliko imate bilo kakvih problema prilikom preuzimanja ADT
alata, pomo moete potraiti na adresi Google kompanije http://developer.android.
com/sdk/eclipse-adt.html#installing.
Od vas se zahteva da proitate i prihvatite licencni ugovor. Selektujte I accept the terms of the
license agreements opciju, a zatim kliknite Finish. Nakon to se zavri instalacija, neophodno je da
restartujete Eclipse - uinite to, a zatim nastavite rad u Eclipse integrisanom razvojnom okruenju.
Nakon to se Eclipse integrisano razvojno
okruenje restartuje, bie neophodno da konfiguriete Android SDK (videti sliku 1-17).
Poto ste ve prethodno preuzeli Android
SDK, selektujte Use existing SDKs opciju
i navedite direktorijum u koji ste instalirali
Android SDK. Kliknite Next.
Kada zavrite ovaj korak, od vas e se traiti da poaljete svoju statistiku korienja
Google kompaniji. Nakon to odluite da li
ete to da uradite ili ne, kliknite Finish.
Slika 1-17
17
Da biste kreirali AVD ureaj, neophodno je da selektujete Window AVD Manager stavku
(videti sliku 1-18).
Slika 1-18
18
U Android Virtual Device Manager okviru za dijalog (videti sliku 1-19) kliknite New... taster da
biste kreirali novi AVD.
Slika 1-19
U Create new Android Virtual Device (AVD) okviru za dijalog izvrite podeavanja onako kako
je prikazano na slici 1-20. Kliknite Create AVD taster nakon to ste uneli sve neophodne podatke.
Slika 1-20
19
U ovoj situaciji ste kreirali jedan AVD (recimo jednostavnije, Android emulator) koji emulira
Android ureaj na kome funkcionie Android 4.0 verzija operativnog sistema i koji ima ugraenu
SD karticu kapaciteta 10 MB. Imate opciju i da emulirate ureaje sa razliitim gustinama piksela
na ekranu i razliitim rezolucijama ekrana.
Napomena Dodatak B sadri opis naina emulacije razliitih tipova Android
ureaja.
Preporuuje se da kreirate nekoliko AVD ureaja sa razliitim API nivoima i hardverskim konfiguracijama, tako da vaa aplikacija moe da bude testirana na razliitim verzijama Android operativnog sistema.
Nakon to kreirate AVD ureaj, pravi je trenutak da ga testirate. Selektujte AVD koji elite da
testirate, a zatim kliknite Start... taster. Otvara se Launch Options okvir za dijalog (videti sliku
1-21). Ukoliko imate mali monitor, preporuljivo je da selektujete Scale display to real size opciju,
tako da moete da moete da prilagodite emulator manjoj veliini. Kliknite Launch taster da biste
startovali emulator.
Slika 1-21
Startovae se Android emulator, a, nakon odreenog vremena, bie spreman za korienje (videti
sliku 1-22). Isprobajte ga. On e funkcionisati isto kao i realni Android ureaj. Ve u narednom
odeljku ete nauiti kako da napiete svoju prvu Android aplikaciju.
20
Slika 1-22
21
Slika 1-23
Napomena Kada kreirate svoju prvu Android aplikaciju, svaki sledei Android
projekat ete kreirati selektovanjem File New Android Project stavke.
2. Pristupite Android folderu i selektujte Android Project (videti sliku 1-24). Kliknite Next.
3. Nazovite svoj Android projekat HelloWorld, kao to je prikazano na slici 1-25, a
zatim kliknite Next.
Slika 1-24
22
Slika 1-25
Slika 1-26
23
Slika 1-27
24
Slika 1-28
Slika 1-29
25
<TextView
android:layout_width=fill_parent
android:layout_height=wrap_content
android:text=@string/hello />
<TextView
android:layout_width=fill_parent
android:layout_height=wrap_content
android:text=This is my first Android Application! />
<Button
android:layout_width=fill_parent
android:layout_height=wrap_content
android:text=And this is a clickable button! />
</LinearLayout>
10. Da biste snimili izvrene promene u projektu, pritisnite kombinaciju tastera Ctrl+S.
11. Sada moete da pristupite testiranju svoje aplikacije u Android emulatoru. Desnim
tasterom mia kliknite naziv projekta u Eclipse integrisanom razvojnom okruenju, a
zatim selektujte Run As Android Application stavku (videti sliku 1-30).
Slika 1-30
26
Slika 1-31
13. Kliknite Home taster (ikonicu u obliku kue, koja se nalazi u donjem levom uglu
iznad tastature), tako da se prikae Home ekran (videti sliku 1-32).
14. Kliknite ikonicu za startovanje aplikacije da biste prikazali listu aplikacija koje su
instalirane na vaem ureaju. Obratite panju da je sada HelloWorld aplikacija
prikazana u listi aplikacija na ekranu koji omoguava njihovo startovanje (application
launcher); videti sliku 1-33.
Slika 1-32
Slika 1-33
27
28
Slika 1-34
Nain funkcionisanja
Da biste kreirali Android projekat u Eclipse integrisanom razvojnom okruenju, neophodno je da
navedete informacije koje su prikazane u tabeli 1-2.
Tabela 1-2 Projektne datoteke koje se kreiraju na osnovu inicijalnih podeavanja
Svojstvo
Project name
Application name
Package name
Create Activity
Min SDK Version
Opis
Naziv projekta
Korisniki definisan naziv aplikacije
Naziv paketa; treba da koristite notaciju zasnovanu na inverznom prikazivanju naziva domena
Naziv prve aktivnosti u vaoj aplikaciji
Minimalna verzija SDK koju koristite u projektu
U Android operativnom sistemu aktivnost predstavlja prozor koji sadri korisniki interfejs u aplikacijama. Moe se dogoditi da odreena aplikacija nema ni jednu ili da ima vie aktivnosti. U naem
primeru aplikacija sadri aktivnost HelloWorldActivity ona je polazna taka aplikacije (prikazuje se kada se startuje aplikacija). U Poglavlju 2 nai ete detaljan opis aktivnosti.
29
Slika 1-35
bin Ovaj folder sadri datoteke koje je kreirao ADT u procesu prevoenja.
Konkretno, generie se .apk datoteka (Android Package datoteka). Datoteka sa
ekstenzijom .apk je binarni kod Android aplikacije. Ona sadri sve to je neophodno
za izvravanje jedne Android aplikacije.
30
res Ovaj folder sadri sve resurse koji se koriste u aplikaciji. Sadri i druge
potfoldere: drawable-<resolution>, layout i values. U Poglavlju 3
detaljno je opisan postupak definisanja razliitih rezolucija i gustina za ureaje.
AndroidManifest.xml Ovo je manifest datoteka za Android aplikaciju. U njoj
definiete privilegije koje su neophodne za vau aplikaciju, kao i ostale funkcije (kao
to su filter sadraja, primaoci i slino). U Poglavlju 2 detaljno je opisan postupak
korienja AndroidManifest.xml datoteke.
Datoteka main.xml definie korisniki interfejs za aktivnost. Posebno razmotrite tekst prikazan
podebljanim slovima:
<TextView
android:layout_width=fill_parent
android:layout_height=wrap_content
android:text=@string/hello />
U ovom primeru @string ukazuje na strings.xml datoteku koja je locirana u res/values folderu.
Zbog toga, @string/hello ukazuje na hello string koji je definisan u strings.xml datoteci, a
to je, zapravo, Hello World, HelloWorldActivity!
<?xml version=1.0 encoding=utf-8?>
<resources>
<string name=hello>Hello World, HelloWorldActivity!</string>
<string name=app_name>HelloWorld</string>
</resources>
Preporuuje se da sve stringove koje koristite u svojoj aplikaciji snimate u strings.xml datoteci
i referencirate ih korienjem @string identifikatora. Tako e, ukoliko nekada budete eleli da
svoju aplikaciju lokalizujete na neki drugi jezik, biti potrebno samo da iskopirate celokupan values
folder i modifikujete vrednosti strings.xml datoteke da bi ona sadravala string na jeziku koji
elite da prikazujete na ekranu ureaja. Na slici 1-36 prikazan je dodatni folder pod nazivom
values-fr, koji sadri strings.xml datoteku sa istim hello stringom na francuskom jeziku.
Slika 1-36
31
Ukoliko korisnik uita istu aplikaciju na telefonu koji je konfigurisan tako da prikazuje poruke na
francuskom jeziku na osnovu inicijalnih podeavanja, vaa aplikacija e automatski da prikazuje
hello string na francuskom jeziku.
Sledea znaajna datoteka u Android projektu je manifest datoteka. Obratite panju na sadraj
AndroidManifest.xml datoteke:
<?xml version=1.0 encoding=utf-8?>
<manifest xmlns:android=http://schemas.android.com/apk/res/android
package=net.learn2develop.HelloWorld
android:versionCode=1
android:versionName=1.0 >
<uses-sdk android:minSdkVersion=14 />
<application
android:icon=@drawable/ic_launcher
android:label=@string/app_name >
<activity
android:label=@string/app_name
android:name=.HelloWorldActivity >
<intent-filter >
<action android:name=android.intent.action.MAIN />
/>
<category android:name=android.intent.category.LAUNCHER
</intent-filter>
</activity>
</application>
</manifest>
32
Nije predvieno da samostalno menajte sadraj R.java datoteke; Eclipse okruenje e automatski generisati njen sadraj uvek kada na bilo koji nain modifikujete svoj projekat.
Napomena Ukoliko runo obriete R.java datoteku, Eclipse integrisano razvojno
okruenje e je odmah ponovo generisati za vas. Obratite panju da Eclipse okruenje
moe da generie R.java datoteku samo ukoliko projekat ne sadri ni jednu greku. Ukoliko
Eclipse okruenje nije ponovo generisalo R.java datoteku nakon to ste je obrisali, neophodno je da detaljno proverite svoj projekat. Moda kod sadri odreene sintaksne
greke ili moda vae XML datoteke (kao to je AndroidManifest.xml, main.xml itd) nisu
dobro formirane.
Konano, kod koji povezuje aktivnost sa korisnikim interfejsom (main.xml) je setContentView() metod, koji je definisan sledeom HelloWorldActivity.java datotekom:
Pregled poglavlja
33
package net.learn2develop.HelloWorld;
import android.app.Activity;
import android.os.Bundle;
public class HelloWorldActivity extends Activity {
/** Izvrava se kada se aktivnost prvi put obavlja. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
Pregled poglavlja
U ovom poglavlju dat je kratak pregled Android jezika, uz poseban naglasak na njegove mogunosti. Ukoliko ste sledili navedena uputstva kako se preuzimaju alat i Android SDK, sada treba da
pred sobom imate funkcionalan sistem onaj koji omoguava da razvijate mnogo interesantnije
Android aplikacije u odnosu na prikazanu Hello World aplikaciju. U narednom poglavlju ete
nauiti neto vie o osnovnim konceptima aktivnosti i sadraja i o veoma znaajnim ulogama koje
one imaju u razvoju Android aplikacija.
Vebe
1. ta je AVD?
2. Koja je razlika izmeu android:versionCode i android:versionName atributa u
AndroidManifest.xml datoteci?
3. Za ta se koristi strings.xml datoteka?
34
Kljuni koncepti