25
PANEVROPSKI UNIVERZITET APEIRON FAKULTET POSLOVNE INFORMATIKE Redovne studije Smer IT menadžmentPredmet „PRINCIPI PROGRAMIRANJA” Android SDK (Software Development Kit) (seminarski rad) Predmetni nastavnik Prof. dr Zoran Ž. Avramović, dipl.inž.elek. Student Ime i prezime, zanimanje Index br. ---------- Banja Luka, januar 2008.

programski jezici

Embed Size (px)

DESCRIPTION

...

Citation preview

Android SDK-Software Development Kit

PANEVROPSKI UNIVERZITET APEIRONFAKULTET POSLOVNE INFORMATIKERedovne studijeSmer IT menadmentPredmetPRINCIPI PROGRAMIRANJAAndroid SDK (Software Development Kit) (seminarski rad)Predmetni nastavnikProf. dr Zoran . Avramovi, dipl.in.elek.StudentIme i prezime, zanimanjeIndex br. ---------- Banja Luka, januar 2008.

Sadraj

1.Uvod- 2 -1.1.Arhitektura Android sistema- 3 -1.2.Linux jezgro- 4 -1.3.Izvorne programske biblioteke- 5 -1.4.Radno okruenje Android Runtime (Dalvik Virtual Machine)- 5 -1.5.Application Framevork- 6 -Integrisani pretraiva- 6 -1.6.Optimizovana grafika- 6 -1.7.SQLite- 7 -2.Razvoj Android aplikacija- 7 -2.1.Komponente aplikacija- 8 -2.2.Instalacija i postavljanje razvojnog okruenja- 9 -3.Programiranje u SDK Platformi- 21 -4.Zakljuak- 24 -5.Literatura- 25 -

1. UvodAndroid je mobilni operativni sistem prvobitno razvijen od strane Android kompanije, koju je kupio Gugl 2005. godine. Nakon kupovine, Gugl je zatraio stvaranje Open Handset Alliance (OHA) udruenja, koja je sada angaovana u pruanju podrke i dalji razvoj sistema. Android je zasnovan na izmenjenoj verziji Linux jezgra. Vie od 200 000 ureaja razliitih proizvoaa koji rade na Android OS : HTC, Samsung, Motorola, LG, Sonny Ericsson kao i drugih proizvoaa mobilnih ureaja. Android OS se sastoji od 12 miliona linija koda, ukljuujui 3 miliona linija XML koda, 2,8 miliona linija C koda, 2,1 miliona linija Java koda i 1,75 miliona linija C++ koda..Android predstavlja softverski stek namenjen mobilnim telefonima koji u sebi ukljuuje operativni sistem, posredniki softver kao i kljune aplikacije za normalno funkcionisanje. Android SDK obezbeuje alatke i API koji su neophodni za dalji razvoj aplikacija na Android platformi koristei JAVA programski jezik.Prvobitno razvijen od strane Android kompanije. Prva zvanina verzija Android OS, razvijena u saradnji Google i OHA, lansirana je 2007 zajedno sa osnivanjem Open Handset Alliance, udruenja 78 kompanija posveene unapreenju otvorenih standarda za mobilne ureaje. Gugl je vei deo Android koda objavio pod Apache licencom, licencom slobodnog softvera i licencom otvorenog koda.Shodno svojoj politici OHA istie sledece karakteristike Android programskog okruenja: otvorenost - programeru omogucava potpunu slobodu u razvoju novih i vec postojecih aplikacija, a proizvoau ureaja slobodno koricenje i prilagoavanje platforme bez placanja autorskih prava; sve aplikacije su ravnopravne - to znai da ne postoji razlika izmeu osnovnih jezgarnih aplikacija ureaja i dodatnih aplikacija. Svim aplikacijama omogucen je ravnopravni pristup resursima pokretnog ureaja to daje mogucnost prilagoavanja ureaja specifinim potrebama individualnog korisnika; automatsko upravljanje ivotnim ciklusom aplikacije - omogucava nadzor pokretanja i izvravanja aplikacija na sistemskom nivou optimizovanim koricenjem memorije i snage ureaja. Krajnji korisnik vie ne brine o gaenju odreenih aplikacija pre pokretanja drugih; uklanjanje granica "klasinih" aplikacija - mogucnost razvoja novih i inovativnih aplikacija zasnovanih na meusobnoj kolaboraciji tehnologija; brz i jednostavan razvoj aplikacija - omogucen je bogatom bazom korisnih programskih biblioteka (eng. libraries) i alata za izradu aplikacija; visokokvalitetni grafiki prikaz i zvuk - podrana 2D vektorska i 3D OpenGL (engl. Open Graphics Librari) grafika, te ugraeni kodeci svih esto koricenih audio i video formata; kompatibilnost sa vecinom sadanjeg i buduceg hardvera - ukljuuje prenosivost Androidovih aplikacija na ARM, k86 i ostale arhitekture, te prilagodljivost sistema ulaznim i izlaznim komponentama.

1.1. Arhitektura Android sistema

Arhitektura Android sistema bazira se na Linux-u 2,6 jezgru (eng. kernel) koja se koristi kao sloj apstrakcije hardvera (HAL, eng. Hardvare Abstraction Laier). Razlog za koricenje jezgra operativnog sistema Linux je dokazana pogonska podrka (eng. driver model), mogucnost upravljanja memorijom i procesima, sigurnosni model, mreni sistem, te dokazana robusnost, konstantni razvoj i unapreivanje sistema.

Slika 1.1 prikazuje arhitekturu Android sistema.

Sloj aplikacijeStandardne aplikacijeKontaktiAplikacije proizvoaaPretraiva...Okvir aplikac. (Framework)Upravljanje aktivnostimaUpravljanje prozorimaProvajderi sadrajaUpravljanje obavetenjimaUpravljanje paketimaUpravljanje resursimaUpravljanje lokacijamaXMPP servisBibliotekeSurface ManagerSQLiteFreeTypeWebKitSSLOpenGL|ESAndroid RuntimeBiblioteke jezgraDalvik virtuelna mainaLinux KernelDrajveri za displejDrajveri za kameruDrajveri za BluetoothDrajveri za fle memorijuDrajveri za USBDrajveri za tastaturuWiFi drajveriAudio drajveri

1.2. Linux jezgro

Najvaniji elementi jezgra su: pogonski program za meuprocesnu komunikaciju izmeu aplikacija i usluga (eng. service) (eng. Binder (IPC) Driver) upravljanje napajanjem (eng. Pover Management) - komponenta Androida temeljena na standardnom Linuxovom sistemu upravljanja napajanjem.1.3. Izvorne programske biblioteke

Izvorne programske biblioteke (eng. native libraries) pisane su u programskim jezicimaC i C++ i ine sledei sloj u arhitekturi sistema. Neke od znaajnijih su: UI - program za upravljanje grafikim interfejsom (eng. Surface Manager) - biblioteka odgovorna za pravilno iscrtavanje razliitih aplikacionih komponenti u vremenu i prostoru; OpenGL ES (eng. OpenGL for Embedded Sistems) - biblioteke koje se koriste za hardversku 3D akceleraciju (ukoliko je podrana) ili za 3D rasterizaciju; SGL (eng. Scalable Graphics Librari) - predstavlja 2D biblioteke na kojima je zasnovana vecina aplikacija. Spomenimo jo da se 2D i 3D elementi mogu kombinovano prikazivati u jednom korisnikom interfejsu; Media Framevork - grupa kodeka za snimanje i reprodukciju audio formata, video formata i nepominih slika. Omogucena je od strane PacketVidea; FreeTipe - biblioteka koja slui za vektorsku rasterizaciju oblika pisma (eng. font); SSL (eng. Secure Socket Laier) - omogucava rezervnu komunikaciju preko Interneta; SKLite - programska biblioteka koja implementira bazu podataka (eng. database engine); VebKit - Jezgro pretraivaa koji podrava JavaScript i ostale standarde na malom ureaju; Sistem C library - implementacija standardne C-ove sistemske biblioteke (libc) izvedene iz operativnog sistema BSD.

1.4. Radno okruenje Android Runtime (Dalvik Virtual Machine)

Naredni sloj u arhitekturi Androida je radno okruenje (eng. Android runtime) kojeg ine virtuelni maina Dalvik (DVM, eng. Dalvik Virtual Machine) i jezgrene biblioteke (eng. core library).DVM je registarski bazirana virtuelna maina, dok je klasina Javina virtuelna maina (JVM, eng. Java Virtual Machine) baziran na steku. Bazne biblioteke pisane su u programskom Jeziku Java i predstavljaju sve esencijalne klase kao to su klase za manipulaciju kolekcijama, klase za komunikaciju sa okolinom i slino. Bitna novost je i to to se Androidom jezgrene biblioteke razlikuju od biblioteka u Java Standard Edition (J2SE) i Java 2 Micro Edition (J2ME).Umesto upotrebe standardnog Java 2 Micro Edition (J2ME) kao mehanizma za pokretanje Javinih aplikacija na pokretnim ureajima, Google je razvio sopstvenu virtuelnu maina za Android. DVM Je najverovatnije razvijen kako bi se zaobila problematika s dozvolama koricenjem Sunovog J2ME. Svaki pokretni ureaj koji u sebi sadri J2ME mora kod Suna licencirati bilo kakvu promenu izvornog koda J2ME-a.

Virtuelna maina Dalvik dobila je ime po istoimenom Islandskom gradu u kojem su iveli preci glavnog developera DVM-a Dan Bornstein.

Osnovna razlika izmeu Sun Java virtuelnih maina i DVM-a je u tome to su prvo spomenuti virtualni ureaju bazirani na steku, dok je DVM registarski baziran virtuelni maina. Meukod (eng. bitecode) Dalvik virtuelne maine transformie se pomocu alata dk (koji je sastavni deo Android SDK-a) iz Javinih klasnih datoteka (eng. Java class file) prevedenih Javinim prevodiocem u novu klasu *.dex (eng. Dalvik Ekecutable) formata. Meukod koji izvrava DVM nije Javin meukod, nego upravo spomenuti .dex oblik. Transformacija formata omogucava bolju prilagoenost za rad na manjim procesorima boljim iskoricavanjem raspoloive memorije i procesorske snage. Rezultat svega je mogucnost viestrukog instanciranja same virtuelne maine to znai da se svaka Android aplikacija pokrece kao zasebni proces, s vlastitom instancom virtuelne maine Dalvik.1.5. Application Framevork

Sloj aplikativnih okvira (eng. Application Framevork) napisan je u programskom jeziku Java i sadri proiriv skup programskih komponenti kojeg koriste sve aplikacije ureaja. Framework podrava mnogobrojne open source jezike kao to su openssl, sqlite i libc. Takoe podrava i jezik Android jezgra. Sa gledita sigurnosti, framework se bazira na UNIX file system ovlaenjima koja osiguravaju da aplikacije poseduju samo one mogunosti koje im je vlasnik telefona dao pri instalaciji aplikacije.Neki od vanijih elemenata su: upravljanje aktivnostima (eng. Activiti Manager) - upravljanje ivotnim ciklusom aplikacije, upravljanje programskim paketima (eng. Package Manager) - sadri informaciju o aplikacijama instaliranim na sistemu upravljanje prozorima (eng. Window Manager) - upravljanje aplikacionim prozorima, upravljanje pozivima (eng. Telephone Manager) - sadri API-je koji se koriste pri izradi aplikacija za upravljanje pozivima, pruaoci sadraja (eng. Content Providers) - omogucavaju zajedniko koricenje podataka od strane vie aplikacija, upravljanje resursima (eng. Resource Manager) - slui za skladitenje delova aplikacije koji nisu kod (npr. slike), sistem grafikog prikaza (eng. Viev Sistem) - sadri bazu gotovih grafikih prikaza i alata (eng. vidget), upravljanje lokacijski zasnovanim uslugama (eng. Location Manager) i upravljanje notifikacijama (eng. Notification Manager) - upravljanje notifikacijama i dogaajima (npr. dospece poruke, nadolazeci sastanak).

Aplikativni sloj je poslednji sloj u arhitekturi sistema Android i ine ga korisnike aplikacije ureaja. Predstavlja sloj vidljiv krajnjem korisniku. Ukljuuje neke od standardnih sistemskih aplikaciJa kao to su Veb pretraiva, lista kontakata, telefon, itd.Integrisani pretraiva

Google je napravio pravi potez izborom WebKit kao open source web pretraivaa. Ubacili su dva veoma bitna poboljanja, two pass layout i frame flattening. Two pass layout otvara stranicu bez ekanja na blokirajue elemente, kao to su eksterni CSS ili eksterni JavaScript, ali posle kraeg perioda ponovo otvara stranicu sa svim podacima na strani. Frame flattening konvertuje postojee okvire stranice u jedan okvir i taj okvir pokazuje na ekranu. Ova poboljanja pospeuju brzinu i korisnost surfovanja internetom preko mobilnog telefona.1.6. Optimizovana grafika

Kako Android poseduje 2D grafiku i 3D grafiku zasnovanu an OpenGL ES 1.0, vrlo je mogue da emo videti Google Earth i spektakularne igre kao to je Second Life, koje dolaze na Linux sistemima. U ovom trenutku, legendarna 3D pucaka igra Doom je predstavljena na mobilnim telefonima koji imaju Android platformu.1.7. SQLite

SQLite je veoma mali (oko 500kb) sistem za upravljanje relacionim bazama podataka, koji je integrisan u Android. Zasniva se na pozivima funkcija i jedinstvenih fajlova, gde se uvaju sve definicije, tabele i podaci. Ovaj jednostavan dizajn je vie nego pogodan za platformu kao to je Android. Postoji veliki broj karakteristika koje zavise od hardvera, kao to su velika koliina multimedijalnih fajlova, podrka konekcija, GPS, unapreena podrka za kameru i jednostavna GSM telefonija.

2. Razvoj Android aplikacija

Android aplikacije se mogu pisati u Java ili C programskom jeziku. Android SDK alati kompajliraju kod, zajedno sa ostalim podacima i resursima aplikacije u Android package, t.j. fajl sa .apk sufiksom. Kod koji se nalazi u okviru .apk fajla predstavlja Android aplikaciju. Kada se aplikacija jednom instalira na ureaj, ona postaje nezavisna celina u okviru sistema: Android OS je multi-user Linux sistem gde se svaka aplikacija tretira kao jedinstveni korisnik Sistem dodeljuje aplikaciji jedinstveni Linux user id. Sistem podeava dozvole za sve fajlove u okviru aplikacije, tako da samo aplikacija sa odreenim user id moe da im pristupi Svaki proces poseduje sopstvenu virtualnu mainu, tako da jedna aplikacija moe da se izvrava nezavisno od drugih Svaka aplikacija se izvrava u okviru svog Linux procesa Aplikacija moe zahtevati pristup podacima na ureaju kao to su: skladite podataka, korisniki kontakti, SMS poruke, Bluetooth, itd.2.1. Komponente aplikacija

Osnovni elementi svake Android aplikacije su njene komponente, koje odreuju ponaanje i karakteristike aplikacije. Sistem moe da pristupi i komunicira sa aplikacijom preko njenih komponenata. Postoji etiri tipa komponenata aplikacije:AktivnostAktivnost predstavlja jedan ekran sa korisnikim interfejsom. Na primer email aplikacija moe imati jednu aktivnost koja prikazuje listu novih mejlova, druga aktivnost omoguava pisanje mejla, a trea aktivnost slui za itanje mejlova. Iako su aktivnosti u okviru jedne aplikacije komponovane i koordinirane tako da predstavljaju logiku celinu, svaka od njih je nezavisna. U skladu sa tim, razliite aplikacije mogu da startuju akitvnosti iz drugih aplikacija. Na primer aplikacija za rad kamere, moe startovati aktivnost iz email aplikacije kako bi omoguila deljenje fotografija na drutvenoj mrei. Svaka aktivnost se implementira kao podklasa klase Activity.Servisi (Services)Servis je komponenta koja se izvrava u pozadini kako bi se omoguila realizacija dugotrajnih operacija, kao i izvravanje udaljenih procesa. Servis ne prua korisniki interfejs. Na primer, servis moe da puta muziku u pozadini dok se korisnik nalazi u nekoj drugoj aplikacija. Aktivnost moe da pokrene servisProvajderi sadraja (Content providers)Provajder sadraja upravlja deljenim setom podataka aplikacije. Podaci se mogu skladititi u fajl sistemu, bazi, na vebu ili bilo kojoj perzistentnoj lokaciji kojoj aplikacije moe da pristupi. Preko provajdera sadraja aplikacija moe da vri upit nada podacima. Na primer, Android prua provajdera sadraja koji upravlja informacijama o imeniku na telefonu. Svaka aplikacija sa odgovarajuim permisijama, preko provajdera sadraja moe da pristupi kontaktima u imeniku. Broadcast receiversOva komponenta aplikacije je vezana za prenos sistemskih objava i notifikacija. Veina broadcast receiver-a potie iz sistema obavetenje da je baterija slaba, ili da je slika napravljena i sl. Ova komponenta ne uestvuje u korisnikom interfejsu, ali moe da se pojavi kao notifikacija lampice i sl. Jedinstvena karakteristika Android OS je u tome to svaka aplikacija moe startovati komponente iz neke druge aplikacije. Komponente aplikacije se aktiviraju preko asinhrone poruke intenta. Sve komponente jedne aplikacije se definiu u okviru AndroidManifest.xml fajla. Svaka Android aplikacija osim koda sadri i odgovarajue resurse, kao to su slike, audio fajlovi, stilovi, itd.2.2. Instalacija i postavljanje razvojnog okruenjaZa razvoj aplikacija za Android operativni sistem potrebno je instalirati sledee programe navedenim redosledom: Java SDK Eclipse IDE Android SDK Android Development Tools Plugin za Eclipse Potrebne verzije Android platformi za Android SDK

Android SDK podrava Windows, Linux i Mac OS operativne sisteme. Za pisanje Android aplikacija koristi se programski jezik Java. Programer moe da izabere proizvoljno razvojno okruenje. Potrebno je napomenuti da je najjednostavnije razvijati Android aplikacije u Eclipse razvojnom okruenju, poto je Google za njega obezbedio najbolju podrku u vidu dodataka (plugins). Rad u ostalim okruenjima je komplikovaniji, zato to nisu integrisana sa Android SDK-om, te je neophodno pokretati odgovarajue alate iz konzole (komandne linije). U daljem tekstu bie opisan postupak postavljanja Android razvojnog okruenja za operativni sistem Windows. Navedeni postupak se neznatno razlikuje za Linux i MacOS operativne sisteme.Prvi korak pri postavljanju razvojnog okruenja jeste instalacija Java Development Kit paketa (JDK). Ukoliko je na raunaru prethodno ve instaliran Java Runtime Environment paket (JRE), neophodno je instalirati i JDK, poto on sadri kompajlere i alate za rad sa izvornim kodom, koji nisu prisutni u JRE paketu. Java Development Kit je mogue besplatno preuzeti sa sajta kompanije Oracle (http://www.oracle.com/technetwork/java/javase/downloads/index.html). Izgled stranice za preuzimanje JDK paketa prikazan je na slici 2.1.

Klikom na taster Download JDK, otvorie se stranica gde je mogue izabrati platformu za koju se preuzima paket (Slika 2.2).

Nakon izbora platforme, potrebno je kliknuti na checkbox I agree i taster Continue. Sada e se otvoriti strana na kojoj je prikazan naziv fajla za preuzimanje (Slika 2.3).

Klikom na naziv fajla, zapoee sesa procesom preuzimanja. Po zavretku preuzimanja i startovanju fajla, krenue proces instalacije JDK-a (Slika 2.4). Potrebno je pratiti instrukcije sa ekrana.

Sledei korak jeste instalacija Eclipse Integrated Development Environment-a (razvojno okruenje). Njega je mogue besplatno preuzeti sa adrese http://www.eclipse.org/downloads/. Eclipse razvojno okruenje podrava Windows, Linux i MacOS X operativne sisteme, kao i itav niz programskih jezika. Mogue je koristiti bilo koju verziju Eclipse-a koja podrava Java programski jezik. Poto na sajtu za preuzimanje Eclipse razvojnog okruenja postoji veliki broj razliitih verzija, odluiemo se za najjednostavniju verziju koja podrava Java programski jezik. To je Eclipse IDE for Java Developers (Slika 2.5).

Nakon izbora verzije Eclipse-a, treba izabrati i mirror sajt sa koga e se preuzimanje izviti. Od izabranog naina preuzimanja jedino zavisi brzina samog download-a, te ovaj izbor nije od presudne vanosti. Moete izabrati prvi preporueni sajt (Slika 2.6).

Eclipse IDE nema sopstveni program za instalaciju. On se jednostavno nalazi zapakovan u okviru jedne ZIP arhive. Nakon uspenog preuzimanja, dovoljno je raspakovati tu arhivu u eljeni folder (npr. C:\, tako da e konana putanja Eclipse IDE-a biti C:\eclipse), to je prikazano na slici 2.7.

Slika 2.7 Raspakivanje Eclipse razvojnog okruenjaPoto Eclipse IDE nije instaliran na uobiajeni nain, raspakivanjem nisu postavljene preice izvrnog fajla na radnu povrinu i u Start meni. To je mogue uraditi runo. Najpre treba otii u folder C:\eclipse (odnosno u folder gde je Eclipse raspakovan) i kliknuti na fajl eclipse.exe desnim tasterom mia, a zatim izabrati opciju Copy. Potom treba kliknuti na prazan deo radne povrine desnim tasterom mia i izabrati opciju Paste shortcut.Sledei korak jeste instalacija Android Software Development Kit-a (SDK). Njega je mogue besplatno preuzeti sa sajta http://developer.android.com/sdk/index.html . Na navedenom sajtu je potrebno izabrati verziju za eljeni operativni sistem. U sluaju Windows-a, preporuljivo je preuzeti exe datoteku, poto je to verzija SDK sa ugraenim programom za instalaciju (Slika 2.8). Kod drugih operativnih sistema, dovoljno je otpakovati datoteku u eljeni folder.

Sada je mogue startovati instalaciju, gde je potrebno pratiti instrukcije sa ekrana (Slika 2.9).

Slika 2.9 Instalacija Android SDKPo zavretku instalacije, startovae se SDK Manager. Ovde je mogue izabrati verzije Android API-a koje se mogu preuzeti.

Slika 2.10 SDK ManagerIzbor verzije Android API-a veoma je vaan, zato to od toga direktno zavisi da li e aplikacija raditi na odreenom mobilnom telefonu ili tablet ureaju. Na primer, ako se izabere verzija 3.0 API-a, aplikacija svakako nee raditi na starijim Android telefonima. Nove verzije API-a imaju naravno vie funcionalnosti, ali manju kompatibilnost sa starijim ureajima.Izborom opcije Accept All (Slika 2.10) i klikom na taster Install zapoee se preuzimanje i instalacija svih verzija API-a, pratee dokumentacije i primera. Verzija API-a za koju e se kreirati aplikacija bira se naknadno.Nakon zavrenog preuzimanja potrebnih fajlova, instalirane komponente je mogue videti u odeljku Installed Packages. Naknadno je mogue instalirati novu verziju API-a izborom opcije Available Packages (Slika 2.11).

Ovde bi trebalo izabrati Google Inc. add-ons, zato to ovi paketi ukljuuju dodatne biblioteke za rad sa Google servisima. Nakon izbora, treba kliknuti na dugme Install Selected i zatim prihvatiti licencu, ime e se potrebne datoteke preuzeti. U okviru SDK Manager-a mogue je kreirati i podesiti virtuelne Android mobilne ureaje, koji se koriste prilikom testiranja aplikacije. Potrebno je izabrati opciju Virtual Devices. Ovde se prikazuje spisak podeenih virtuelnih Android ureaja. Klikom na taster New mogue je kreirati novi ureaj (Slika 2.12).

U novootvorenom prozoru mogue je podesiti parametre virtuelnog ureaja. U pitanju su sledei parametri: Name proizvoljan naziv virtuelnog ureaja. Target verzija Android API-a koju koristi ureaj. SD Card podeavanja virtuelne memorijske kartice. Ukoliko se izabere opcija Size, mogue je zadati veliinu nove virtuelne memorijske kartice. Ukoliko se izabere opcija File, mogue je uitati sadraj image fajla kao virtuelnu memorijsku karticu. Snapshot ukoliko se izabere opcija Enabled, omoguie se pamenje stanja virtuelnog ureaja i kasnije uitavanje tog stanja prilikom ponovnog ukljuivanja virtuelnog ureaja. Opcija Snapshot je slina opciji Hibernate u Windows operativnom sistemu. Skin predstavlja rezoluciju ekrana virtuelnog ureaja. Moe se izabrati neka od predefinisanih standardnih rezolucija (Built-in) ili se moe zadati proizvoljna vrednost rezolucije (Resolution). Hardware prilikom kreiranja virtuelnog ureaja, moe se izabrati virtuelni hardver koji ureaj sadri (na primer GPS prijemnik, memorijska kartica, kamera i drugo).

Na primer, kreiraemo novi virtuelni ureaj sa parametrima kao na slici 2.13. Nakon unosa vrednosti parametara, kliknuemo na taster Create AVD, ime e novi Android virtuelni ureaj biti sauvan.

Sada treba izai iz SDK Manager-a i pokrenuti Eclipse razvojno okruenje. Prilikom prvog startovanja ovog okruenja, potrebno je izabrati lokaciju workspace-a. Workspace u stvari predstavlja folder u kome e se nalaziti projekti raeni u Eclipse razvojnom okruenju. Workspace se obino nalazi u okviru linog foldera operativnog sistema (Slika 2.14). Ukoliko opcija Use this as the default and do not ask again nije izabrana, korisnik e lokaciju workspace-a birati prilikom svakog pokretanja Eclipse razvojnog okruenja. Nakon ovog podeavanja treba kliknuti na taster OK.

Sada je neophodno instalirati dodatak koji omoguava integraciju Eclipse IDE-a i Android SDK-a. Potrebno je izabrati meni Help, a zatim opciju Install New Software (Slika 2.15).

Otvorie se novi prozor, u kome treba kliknuti na dugme Add (Slika 2.16).

U novootvorenom prozoru u polje Name treba uneti Android, a u polje Location treba upisati https://dl-ssl.google.com/android/eclipse/, kao to je prikazano na slici 2.17. Zatim treba izabrati opciju OK.

Posle nekoliko trenutaka, trebalo bi da se pojavi prozor kao na slici 2.18. Potrebno je selektovati Developer Tools, ime e biti izabrane i sve podopcije, a zatim kliknuti na taster Next.

Zatim je potrebno potvrditi izbor ponovnim klikom na Next (Slika 2.19), prihvatiti licence (Slika 2.20) i na kraju kliknuti na taster Finish.

Ovim je zapoeo proces instalacije dodataka za Eclipse. Ukoliko se pojavi prozor koji obavetava korisnika da sadraj koji se preuzima nema digitalni potpis, potrebno je kliknuti na taster OK, ime se omoguava instalacija (Slika 2.21).

Nakon zavretka instalacije, potrebno je ponovo pokrenuti Eclipse razvojno okruenje (Slika 2.22).

Sada je neophodno podesiti dodatak za Android SDK. Treba izabrati opciju Window -> Preferences, a zatim opciju Android. U polje SDK Location treba uneti putanju do instaliranog Android SDK. Podrazumevana vrednost je C:\Program Files\Android\android-sdk-windows (Slika 2.23).

Ovime je zavren proces podeavanja Android razvojnog okruenja i sada je mogue kreirati aplikacije za Android platformu!

3. Programiranje u SDK Platformi

Sada je sve spremno za poetak programiranja, sada se pokree Eclipse, pa se podeavaju parametri, preko komande linije se u Eclipse dodaje podrka za Android operativni sistem, tako to se u prozoru Help pokree kratica Install New Software i onda se u prozor NEW ukucava sledee:https://dl-ssl.google.com/android/eclipse/

Kada dodavanje zavi potrebno je restartovati Eclipse, i tada se moe poeti sa radom. Idemo gore na kraticu File/NewProject/Android/NewProject, izaberemo verziju Androida i moemo poeti sa programiranjem.

Za potrebe ovog dodatka isprogramirati emo osnovni, mali program, koji na ekranu Android ispisuje pozdravnu poruku Hello, World.

package com.example.helloandroid;

import android.app.Activity;import android.os.Bundle;import android.widget.TextView;

public class HelloAndroid extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView tv = new TextView(this); tv.setText("Hello, world"); setContentView(tv); }}

Kada smo sve isprogramirali u Eclipsu, to bi trebalo da izgleda ovako:

Kada je zavreno pisanje koda, koji se zasniva na Java programiranju, tada se provjerava dali je program sadri kakve sintaksike greke, ako ne sadri, ovaj program se pokree preko kratice Run ili preko tastature tipkama Shift+F11., kada se program prvi put pokree, podie se Android emulator, koji ako nije pre podeen u Android SDK, onda treba da bude podeen preko Eclipse. Nakon to se podesi, treba ga pokrenuti i saekati nekoliko trenutaka da se sam operativni sistem podigne pa bi se trebao pokazati na ekranu virtuelnog telefona ovakav sadraj:

Kada je testiranje zavreno, prelazimo na zadnji deo pre nego to na komad programskog koda ne postane aplikacija spremna za distribuciju. Sada pripremamo aplikaciju tako to idemo na kraticu File/export, u kratici Export izaberemo Android, izaberemo destinaciju naeg programa, i jo jedan bitan faktor a to je podeavanje debug.keystore komande, koja naoj aplikaciji dodaje potrebne certifikate da bi se ova aplikacija mogla postaviti na AndroidMarket.

Kada se ovaj proces zavri, naa aplikacija je spremna za instalaciju na bilo koji android ureaj, ili postavljanje na neki od internet servisa za razmjenu aplikacija.

4. Zakljuak

U radu su opisani samo neki osnovni koncepti koji se koriste prilikom izrade Android aplikacija. Ukazano je na mnoge prednosti i mane rada u ovoj platformi. Konzistentno provoenje kvalitetne prakse i kulture programiranja na Android platformi ju svakako ini jednostavnijom i primamljivijim izborom. Koncepte je uvijek potrebno koristiti na nain kako su i zamiljeni. Takvim pristupom aplikacije mogu dobivati na svrsishodnosti, te platforma profitirati zbog svojih naela otvorenog koda. Google kao pokreta Android pokreta puno energije i resursa ulae u odravanje zajednice kako bi ta ista zajednica vratila uloeno kroz unapreenje Android platforme.

5. Literatura

1. Jovanovi arkoMobilni operativni sistemi Saobraajni fakultet Doboj-diplomski rad2. Razvoj aplikacija za operativni sistem android FON Beograd-skripta3. Ognjen Ribii, Boris Toma, Zlatko Stapi Razvoj aplikacija za Android platformu Development of Android Mobile Applications

Milorad StjepanoviStrana- 2 -