You are on page 1of 15

Java Android programiranje

Seminarski rad iz predmeta IT120

Profesor:
Valentina Paunovi

Student:
Helena Damjanovi 1945

Sadraj
Ni, 2014

1.UVOD............................................................................................................. 3
2.TA JE JAVA?................................................................................................... 4
2.1 KARAKTERISTIKE I OSNOVNE KOMPONENTE JAVA PROGRAMSKOG JEZIKA...........................................5
2.1.1 Osnovne vrste podataka......................................................................................... 6
2.1.2 Varijable (promenljive)............................................................................................7
2.2 ZNAAJ NEZAVISNOSTI PLATFORME......................................................................................... 8
3. O ANDROIDU.................................................................................................. 8
4.PROGRAMIRANJE ANDROID APLIKACIJA.............................................................9
4.1 TIPOVI KOMPONENTI ANDROID APLIKACIJE..............................................................................10
4.2 SASTAVLJANJE KODA.......................................................................................................... 11
4.3 ANDROID PROJEKTI............................................................................................................ 12
5. BEZBEDNO PISANJE U JAVI............................................................................13
ZAKLJUAK...................................................................................................... 14
LITERATURA..................................................................................................... 15

1.Uvod
U ovom seminarskom radu predstaviu Javu, programski jezik koji se koristi za razvoj Android
aplikacija. to se tie preduslova za razumevanje Jave, trebalo bi razumeti kako se programira,
ali i biti upoznat sa specifinostima programiranja u Java jeziku. Takoe, prikazau jasne primere
najee korienih jezika Java konstrukcija i principa, kao i neke Android savete i trikove. Da bi
se razvila Android aplikacija (ili bilo kakva Java aplikacija po tom pitanju) potrebno je razvojno
okruenje za pisanje i izgradnju aplikacija. Eclipse je veoma popularan kada se govori o
razvojnom okruenju za Javu, i poeljan IDE za Android razvoj (dostupan je za Windows, Mac i
Linux operativne sisteme.
Postoji vie naina da se kreiraju aplikacije za Android ureaje, ali se preporuuje metod pisanja
maternjih aplikacija, koristei Javu i Android SDK. Oni koji su novi u programiranju, verovatno
bi elelli da se upoznaju sa sintaksama Java jezika i kako da ostvare osnovne zadatke
programiranja.

2.ta je Java?
Programski jezici su, kao i redovni jezici, razliiti nain komuniciranja sa raunarom onako kako
elite da deluje. Omoguavaju davanje instrukcija raunaru, korak po korak kako da manipulie
podacima, prikuplja input od korisnika, a izmeu ostalog prikazuje stvari na ekranu. Android
aplikacije se razvijaju korienjem Java jezika. Java je veoma popularan programski jezik
razvijen od strane Sun Mycrosystems-a, koji je sada u vlasnitvu Oracle-a. Razvijen dugo posle
C i C++, Java ukljuuje mnoge mone fukcije tih monih jezika. Programski jezici programirani
na visokom nivou, poput Jave, omoguavaju pisanje instrukcija na apstraktan nain, koristei
rei i simbole, dok raunar sam brine o prevoenju instrukcija.

Slika 1. Java logo

Ono to je bitno razjasniti je da ne postoji nikakva veza izmeu Java i JavaScript programskih
jezika. Ipak, znanje vezano za JavaScript moe pomoi da razumete Javu, jer su neke od
osnivnih komponenti i ideja sline. Ova dva jezika se piu i rade veoma drugaije, ali oba
omoguavaju rad sa programskim karakteristikama kao to su varijable, objekti i slino. Logika
jezika je ista, pa e korienje Jave biti lake ukoliko znate da koristite varijable, metode i petlje.
[1]

2.1 Karakteristike i osnovne komponente Java programskog jezika


Izmeu ostalih, postoje neke od kljunih karakteristika Java programskog jezika:

lako ga je nauiti i razumeti;


dizajniran je tako da bude nezavisan od platforme, i bezbedan, koristei virtuelne maine;
objektno je orijentisan;

Android se u potpunosti oslanja na ove karakteristike Jave. Android SDK sadri mnoge
standardne Java biblioteke (struktura podataka biblioteke, matematika biblioteke, grafike
biblioteke, umreavanje biblioteke...), kao i posebne Android biblioteke koje mogu pomoi u
razvijanju monih Android aplikacija.
Jedan od razloga zbog kojeg je lako uenje Java programskog jezika je taj to sigurno postoji
jako mnogo resursa koji vam mogu pomoi da nauite jezik, ukljuujui i veb sajtove, tutorijale,
knjige i klase. Java je jedan od programskih jezika o kojima se najvie ui. Koristi se za mnoge
razliite vrste programskih projekata, bez obzira na njihovu skalu, od veb aplikacija, preko
desktop aplikacija do mobilnih aplikacija.Java je jedan od najvanijih ljudski itljivih jezika,
ime se podrazumeva da osoba koja ne zna nita o programiranju mora esto pogledati neke od
Java kodova kako bi imala nagovetaj ta da radi. Primer:
char character = 'a';
if(character=='a')
{
doSomething();
} else {
doSomethingElse();

2.1.1 Osnovne vrste podataka


Ako se programiranje zasniva na radu sa podacima, bitno je bolje se upoznati sa osnovim
tipovima podataka koji se koriste u Javi. Neke od sledeih su kljune rei koje ukazuju na tip
podataka koje se koriste.
int cela vrednost, odnosno ceo broj (bez decimali) koji sadri nule i negativne brojeve
float plutajua vrednost koja ukljuuje onoliko decimali koliko moe da izdri; decimalna
mesta moete promeniti, vano je znati da ove vrednosti tehniki mogu biti neprecizne, a kada su
potrebne precizne decimale, trebalo bi koristiti tip podataka BigDecimal
boolean 1-bitna tana ili netana vrednost koja moe biti samo u jednom od tih tvrenja
char zaseban karakter, kao to je, na primer, slovo A ili simbol #; treba imati na umu da su
veliki i mali karakteri drugaiji, odnosno da a i A nije isto
String string podaci su gomila znakova zajedno nanizanih; slovo S na poetku je veliko, jer
je String sloeniji tip podataka;
Prve etiri vrste podataka (int, float, boolean i char) su primitivni tipovi podataka, to znai da su
relativno jednostavni i jasni. Drugi primitivni tipovi podataka ukljuuju bajt, short i long.

Slika 2. Primitivni tipovi podataka


6

2.1.2 Varijable (promenljive)


Varijable se u osnovi koriste za dranje podataka. Sami podaci mogu biti bilo ta, od
jednostavnog broja do koordinata za lokacije. Java je statiki otkucan jezik, to znai da korisnici
treba eksplicitno da se izjasne koji tip podataka varijable treba da odre.

Slika 3. Primer

Na slici iznad, prikazana je izjava koja deklarie varijablu pod nazivom title, koja dri string,
tekst ili podatke. Takoe dodeljuje tekst Java osnove za Android na varijable.
Prva re u deklaraciji je tip podataka, to nam govori koje vrste podataka e varijabla odrati.
Druga re je ime promenljive, to moe biti bilo ta to korisnik eli. Imena varijabli ne smeju
sadrati razmake ili specijalne karaktere. One mogu imati samo slova, brojeve i donje crte. Ipak,
ne smeju poinjati brojem.
Znak jednakosti (=) je operater, to znai da za korisnika obavlja odreenu operaciju. To je
operater zadataka, to znai da se koristi da dodeli vrednost promenljivih. U ovom primeru se
dodeljuje vrednost teksta na desnoj strani varijabli title na levoj strani.
Zeleni tekst je String vrednost sa kojom korisnik radi. U Javi, String vrednosti su okruene
duplim navodnicima kako bi bile razlikovane od redovnog teksta koji se koristi u kodu.
Poslednji karakter je taka-zarez koji se koristi da zavri izjavu.[2]

2.2 Znaaj nezavisnosti platforme


Kada se radi sa mnogi programskim jezicima, nekada se mora koristiti kompilator kako bi se
redukovao kod u mainski jezik koji ureaj moe dobro da razume. Iako je i ovo dobro, razliiti
ureaji koriste razliite jezike maina. To znai da bi nekada moda morali da sastavimo svoje
aplikacije za svaki od razliitih ureaja posebno, drugim reima, na kod ne bi bio prenosiv.
Kada je Java u pitanju, ovo nije sluaj. Java kompajleri konvertuju svoju ifru od ljudski itljivih
Java Source fajlova do neega to se u Java svetu zove bitecode.
Java aplikacije rade u okviru mehura i izolovani su od hardvera ureaja. Odnosno, virtuelna
maina preko koje funkcioniu moe obuhvati upravljanje i izvrenje koda na bezbedan nain, u
poreenju sa jezicima koji rade u mainskom kodu direktno. Svaka Android aplikacija radi na
operativnom sistemu koristei drugaiji korisniki nalog. Android aplikacije su paljivo
kontrolisane od strane operativnog sistema i prekidaju sa radom ukoliko ne funkcioniu kako
treba (ukoliko je zauzeto previe procesorske snage, prestanu da reaguju, troe resurse, itd.).
Dakle, vano je razviti aplikacije koje su stabilne i reagujue. Aplikacije mogu komunicirati
meusobno koristei dobro definisane protokole.[3]

3. O Androidu
Android je softverska platforma i operativni sistem za mobilne ureaje, razvijen od strane
Google-a . Omoguava proramerima da piu kodove i upravljaju njima u Java jeziku,
kontroliui ureaj preko Google razvijenih Java biblioteka. Za kratko vreme, Android je
postigao veliki uspeh i jako brzo poeo da dominira na mobilnim telefonima i tabletima.
Zasnovan je na Linux kernel jezgru koje razvija okruenje Opan Handset Alliance. Za razliku od
ostalih operativnih sistema, kao to su na primer iOS, Android funkcionie kao open source
operativni sistem, tako da proizvoai mobilnih telefona koji se odlue za ovu platformu mogu
do izvesne mere da ga prilagode svojim potrebama. Obzirom na otvorenost izvornog
programskog koda, aplikacije middleware-a imaju mogunost da komuniciraju i pokreu druge
aplikacije. Iako je kod pisan u C/C++, veina stvari je pisana u Java programskom jeziku uz
korienje Android Software Development Kit-a (SDK). Kada se govori o arhitekturi Androida
ona moe biti predstavljena kroz est komponenti, od kojih svaka ini svoju funkciju.[4]

Slika 4. Arhitektura Androida

4.Programiranje Android aplikacija


Operativni sistem Android je danas najzastupljeniji operativni sistem na mobilnim ureajima i sa
ueem na tritu sa preko 60% u svetu i preko 70% kada e govori o naoj zemlji. Popularan je
najpre zbog svog slobodnog koda i velikog broja obrazovanih proramera koji svakog dana rade
kako bi reili razliite probleme, tzv.bagove, kao i da bi poboljali funkcionalnost Android
operativnog sitema. Posledica iroko rasprostranjene upotrebe Androida je velika potreba za
aplikacijama za ovu platformu, a samim tim su prilino traeni i Android programeri.
Android platforma je skup dobro poznatih programskih jezika, od kojih sam ve pomenula Java
programski jezik, a tu su i xml, html, css, java script, php, sqlite.

Sve aplikacije za Android se razvijaju u programskom okruenju Eclipse, sa plugin-om za


Android. Osnovni elementi bilo koje Android aplikacije su njene komponente koje u potpunosti
odluuju o ponaanju i karakteristikama aplikacija sa kojom sistem moe komunicirati ba preko
njenih komponenti.

Slika 5. Eclipse radno okruenje

4.1 Tipovi komponenti Android aplikacije


Aktivnost
Aktivnost se moe posmatrati kao jedan ekran sa korisnikim interfejsom. Recimo, aplikacija
imenik moe sadrati jednu aktivnost koja e prikazivati sve kontakte u telefonu, dok e druga
aktivnost vriti pretragu imena u imeniku, a trea moe obezbediti prikaz vie informacija o
izabranom kontaktu iz imenika. Bitno je napomenuti da je svaka od aktivnosti nezavisna, iako su
aktivnosti u okviru jedne aplikacije koordinirane i predstavljaju jednu logiku celinu. Zasebne
aplikacije mogu startovati aktivnosti iz nekih drugih aplikacija.

10

Servisi
Servis je komponenta koja se uvek izvrava u pozadini kako bi bila omoguena realizacija nekih
dugotrajnih operacija i izvravanje nekih udaljenih procesa. Servis ne prua korisniki interfejs.

Provajderi sadraja
Ova komponenta upravlja deljenim delom podataka aplikacije. Podaci mogu biti skladiteni u
sistemskom folderu, bazi, ili bilo kojoj lokaciji kojoj aplikacija moe da pristupi. Preko ove
komponente aplikacija takoe moe vriti upit nad podacima.

Broadcast receivers
Broadcast receivers je komponenta koja je kljuna za prenos sistemskih objava i obavetenja.
Veina ovih komponenti potie iz sistema (npr. kada nam izlazi notifikacija da nam je slaba
baterija, da je poslata poruka i sl.). Ova komponenta ne uestvuje u korisnikom interfejsu.

4.2 Sastavljanje koda


Potrebno je da programer sastavi Android projekte i spakuje ih kako bi se rasporedili na
razliitim ureajima. Razvojno okruenje Eclipse dosta olakava ovaj proces. U Eclipse-u,
automatska kompilacija je esto podrazumevano ukljuena, to znai da svaki put kada se sauva
fajl projekta, Eclipse rekomponuje promene za paket aplikacije i odmah se mogu videti greke.
Eclipse takoe vri interpretaciju Jave za vreme kucanja i prikazuje mnoge greke. esto se
moe kliknuti na greke i Eclipse e ih automatski prepraviti ili obezbediti izjavu.I dalje se kod
moe sastavljati runo. U okviru Eclipse-a, postoje podeavanja za izgradnju.
Proces izrade za redovne Java programere rezultira fajlom sa ekstenzijom JAR Java Arhiva.
Android aplikacije uzimaju JAR fajlove i pakuju ih za rasporeivanje na Android ureaje kao
paket fajlova sa ekstenzijom .apk. Ovi formati ne samo da ukljuuju sastavljen Java kod koji je
sastavio korisnik, ve i sve druge resurse kao to su slike, audio fajlovi i sl, koje aplikacija
zahteva da pokrene. Android fajl za manifestovanje je fajl koji je zahtevan od strane svih
Android aplikacija koji se koriste za definisanje konfiguracionih detalja o aplikaciji.[5]

11

4.3 Android projekti


Android projekti su projekti koji su ugraeni u jednu .apk datoteku koju instalirate na Android
ureaju. Oni sadre stvari ako to u izvorni kod aplikacija i resursi dadoteke. Neki su
podrazumevano generisani, dok druge treba generisati ukoliko je potrebno.
Sledei direktorijumi i dadoteke ine jedan Android projekat:
src/ sadri svoj fajl aktivnosti (svi ostali source code fajlovi kao to su .java ili .aidl takoe se
smetaju ovde)
bin/ - izlazni direktorijum; ovo je mesto gde moete pronai konanu .apk datoteku i druge
prikupljene resurse
jni/ - sadri maternji izvor koda razvijen korienjem Android NDK
gen/ - sadri Java dadoteke generisane uz ADT, kao to su npr. R.java fajl i interfejsi stvoreni od
AIDL fajlova
assets/ - aktiva je prazna, moe se koristiti za skladitenje sirovih fajlova; fajlovi koji su sauvani
ovde su objedinjeni u jedan .apk fajl
res/ - sadri resurse aplikacija, npr. string vrednosti
anim/ - za XML dadoteke koji su sastavljeni u objekte animacije
color/ - za XML datoteke koje opisuju boje
drawable/ - za bitmap fajlove (PNG, JPEG ili GIF)
layout/ - XML datoteke koje su objedinjene tako da kreiraju izgled ekrana (ili deo ekrana)
menu/ - za XML datoteke koje definiu aplikacije menija
raw/ - za proizvoljne raw fajlove (uvanje datoteka ovde umesto u direktorijumu aktive razlikuje
se samo u nainu na koji im se pristupa
values/ - vrednosti su za XML datoteke koje su sastavljene u mnogo vrsti izvora
XML/ - za razliite XML datoteke koje konfiguriu komponente aplikacije.[6]

12

5. Bezbedno pisanje u Javi


Java statiko kucanje se pokazalo kao vredno izvan vog kompajlera. Sposobnost maine da
analizira semantiku Java koda je glavna sila u razvijanju monih alata kao to su pronalazai
bagova i sl. Mnogi programeri tvrde da, posebno uz moderno kodiranje alata, ogranienja koja
postoje su mala cena koja se plaa u odnosu na mogunosti pronalaska i manifestovanja
problema. Java je prilino dobar statiki vezan jezik, ali je lo dinamian jezik. Ipak, mogue je
uraditi dosta dinaminih stvari uz Javu.[7]

Slika 6. Komparacija srodnih jezika

13

Zakljuak
Kako je Android postao iroko rasprostranjen, kao i njegova upotreba, tako rastu i zahtevi za
Android aplikacijama i potranja za Android programerima je velika. Danas na Internetu postoji
obimna literatura koja poetnicima moe olakati uvod u programske jezike. U ovom radu
prikazala sam nain funkcionisanja Java programskog jezika, kao i povezanost sa Androidom i
arhitekturu Android opertivnog sistema.
Postoje mnoga radna okruenja koja su specijalno dizajnirana za ovaj vid programiranja tako da
korisniku omoguavaju pouzdan i efikasan rad. Poetnici se uglavnom upoznaju sa elementima
HTML jezika, zatim sa objektno orijentisanim tehnikama u programiranju i razlikama u odnosu
na proceduralne i modularne jezike.
Java je programski jezik koji je danas zastupljen irom planete i ugraen ne samo u mobilne
ureaje ve i u raunare, automobile i slino, iju upotrebu olakava i unapreuje. Mislim da je
izbor Java programskog jezika pri programiranju aplikacija za Android dobra odluka.

14

Literatura
[1], [3] http://code.tutsplus.com/tutorials/android-sdk-app-structure--mobile-20280
[2]

http://blog.teamtreehouse.com/java-basics-for-android-development-part-1

[4], [6] http://it-ebooks.info/book/358/


https://instaedu.com/what-is-Android-Programming/
[5]

http://developer.android.com/tools/projects/index.html

[7]

Learn Java for Android Development, Second edition, Jeff Friesen

15

You might also like