0% found this document useful (0 votes)
55 views

Android Ebook

The document provides an overview of key concepts in Android programming including: - Java can run on different operating systems as long as a Java Virtual Machine is available to translate Java code to the specific OS. - Classes represent abstract representations of objects that have the same properties. A class consists of attributes and methods. - An object represents a single instance of its class. Objects are declared and created using the new operator. - The document then discusses various Android-specific topics like activities, intents, permissions, layouts and more. It provides code examples to illustrate concepts like classes, constructors, inheritance and more.

Uploaded by

s_rosic
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
55 views

Android Ebook

The document provides an overview of key concepts in Android programming including: - Java can run on different operating systems as long as a Java Virtual Machine is available to translate Java code to the specific OS. - Classes represent abstract representations of objects that have the same properties. A class consists of attributes and methods. - An object represents a single instance of its class. Objects are declared and created using the new operator. - The document then discusses various Android-specific topics like activities, intents, permissions, layouts and more. It provides code examples to illustrate concepts like classes, constructors, inheritance and more.

Uploaded by

s_rosic
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

Android programiranje

eBOOK

www.obukeikursevi.com
[email protected]

Osnovni koncepti Jave


Java se moe izvriti na razliitim operativnim sistemima, pod pretpostavkom da je za operativni
sistem napravljena JVM, koja preslikava naredbe Jave u naredbe konkretnog operativnog
sistema. Zbog injenice da se Java program sastoji od bajt kodova, a ne od izvornih mainskih
naredbi, on je u potpunosti izolovan od hardvera na kome radi.
Klasa predstavlja apstraktnu predstavu skupa objekata koji imaju iste osobine. Klasa se sastoji od
atributa i metoda. Atributi i metode klase se nazivaju lanice klase. Objekat predstavlja jedno
konkretno pojavljivanje (primerak,instancu) svoje klase.
Opti oblik definicije klase
class imeklase
{
tip atribut1;
tip atributn;
tip ime_metode1(lista parametara)
{ telo metode1}

tip ime_metodem(lista parametara)


{ telo metodem}
}

2
www.obukeikursevi.com

Objekat predstavlja jedno pojavljivanje klase. Objekat se deklarie i kreira na sledei nain:
AutomatNovca au = new AutomatNovca();

Varijable i primitivni tipovi


Prema sintaksnim pravilima Jave, ime je niz od jednog ili vie karaktera. Mora pocinjati
slovom i mora biti u potpunosti sastavljeno od slova, brojeva i donje crte "_".

iznos
x15

Velika i mala slova smatraju se razlicitim pa su:


HelloWorld
helloworld
HELLOWORLD i
HElloWorLD
sasvim razlicita imena.
Rezervirane reci su:
class
public
static
if
else
while
I mnoge druge sa kojima cemo se sresti

Tipovi podataka:
Primitivni tipovi podataka su:
byte
short
int
long
float
double
char
Boolean

3
www.obukeikursevi.com

Konstruktori
Objekti se kreiraju operatorom new. Tako u programu u kome elimo koristiti objekat Student
treba napisati:
Student student = new Student (); // konstruise objekat tipa Student
// i sprema poziv na njega u varijablu student

Definicija konstruktora
Konstruktor nema povratni tipa (ak ni void), ime konstruktora mora biti isto kao i ime klase u
kojoj je definisan, a jedini modifikatori koji mogu biti koriteni na konstruktoru su modifikatori
pristupa public, private i protected, (konstruktor ne moe biti deklarisan static.) Konstruktor
ima blok naredbi.
Nema ogranienja naredbi koje mogu biti koritene. Jedan od glavnih razloga koritenja
konstruktora je mogunost ukljuivanja parametara koji daju podatke koritene pri kreiranju
objekta.
Primer
public class Student {
public int tekucaGodina; // godina studija datog studenta
public String broj Indexa; // broj indeksa odgovarajuceg studenta
public Student(int tekucaGodina1, String brojIndexa2) {
//konstruktor pravi studenta
tekucaGodina= tekucaGodina1; // dodeljuje odredene vrijednosti
brojIndexa= brojIndexa1; // varijablama instance
}
public void ispis() {
// ispis informaija o studentu
Szstem.out.println(Tekuca godina: +tekucaGodina+ broj
indexa:+brojIndexa );
}
} // kraj klase Student

4
www.obukeikursevi.com

Nasledjivanje
Klasa predstavlja skup objekata sa zajednickom gradjom i ponaanjem. Klasa odredjuje
strukturu objekta navodjenjem varijabli koje su sadrane u svim instancama klase i
odredjuje ponaanje objekata preko metode instance koje izraavaju ponaanje
objekata. Ovo je mocna ideja, ali neto poput ovog se moe postici u vecini
programskih jezika. Glavna novost objektno orijentiranog programiranja u odnosu na
tradicionalno je da klase mogu izraavati slicnosti izmedju objekata koji imaju
zajednike neke, ali ne sve delove strukture i ponaanja.
class B extends A {
.
. // dodacii izmene
. // onog to je nasledjeno od klase A
.
}

Operatori u Javi

A+B sabiranje dva lana


A-B oduzimanje dva lana
A*B mnoenje dva lana
A/B deljenje dva lana
A%B ostatak pri celobrojnom deljenju dva lana
A++ inkrementira vrednost date varijable za 1
Asmanji vrednost date varijable za 1

Shodno ovome isto je da li emo napisati


a = a+1 ili a++

Relacioni operatori

< vee od
manje od
<=manje ili jednako
>= vece ili jednako
== da li je jednako?
=! razliito od

5
www.obukeikursevi.com

Logiki operatori

&& logiko i
|| logiko ili

ANDROID OPERATIVNI SISTEM


Vie od 200 ureaja razliitih proizvoaa koji rade na Android OS : HTC, Samsung, Motorola,
LG, Sonny Ericsson. 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..

KARAKTERISTIKE

OTVORENOST
SVE APLIKACIJE SU RAVNOPRAVNE
AUTOMATSKO UPRAVLJANJE IVOTNIM CIKLUSOM APLIKACIJE
UKLANJANJE GRANICA KLASINIH APLIKACIJA
BRZ I JEDNOSTAVAN RAZVOJ APLIKACIJA
VISOKOKVALITETNI GRAFIKI PRIKAZ I ZVUK...

6
www.obukeikursevi.com

FUNKCIONALNOSTI ANDROID PLATFORME

Prikaz na ureajima OS prilagoava izgled razliitim tipovima ureaja i kompatibilian je


sa 2D, 3D grafikim bibliotekama
Skladitenje podataka SQL lite relaciona baza podataka za upravljanje podacima
Konektivnost Android podrava konektivnost sa svim standardnim tehnologijama:
GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE i WiMAX.
Razmena poruka SMS i MMS
Web browser WebKit browser, zasnovan na Chrome-u
Java support Android aplikacije se piu u Java programskom jeziku, Dalvik virtuelna
maina
Podrka za multimedijalne podatke - WebM, H.263, H.264, MPEG-4 SP, AMR, AMR-WB,
AAC, HE-AAC, MP3, MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF, BMP.
Streaming media support - RTP/RTSP streaming (3GPP PSS, ISMA), HTML download
(HTML5 <video> tag), Adobe Flash Streaming (RTMP), HTTP Dynamic Streaming

Dodatna harderska podrka - kamera, touchscreen, GPS, brzinometar, iroskop,


magnetometar, senzori udaljenosti i pritiska, termometri

Okruenje za razvoj Android Development Plugin

Trite GooglePlay je online katalog aplikacija koje se mogu preuzeti i instalirati na


Android ureaje, bez potrebe za raunarom.

Multi-touch mogunost ureaja da prepozna tri razliite pozicije ulaznih dodira

Bluetooth

Video poziv

Multitasking multitasking aplikacija

Funkcionalnosti zasnovane na glasu Pozivanje, pretraga, navigacija pomou glasa

Tethering Android telefon moe da se iskoristi kao wireless hotspot

7
www.obukeikursevi.com

XML - EXtensible Markup Language

Markup jezik, jezik koji slui za uvanje podataka ne i njihov prikaz.


Tagovi koji se koriste u njemu nisu predefinisani, to znai da uvek moete da definiete i
svoje tagove.
Tagovi su samoopisujui
XML praktino ne radi nita, on je tu da skladiti, uva i transportuje podatke

Manifest file
Primer
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myapp"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
<uses-permission android:name="android.permission.SET_WALLPAPER" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.myapp.Splash"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
8
www.obukeikursevi.com

</activity>
<activity
android:name="com.example.myapp.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="com.example.myapp.MAINACTIVITY" />

<category android:name="android.intent.category.DEFAULT" />


</intent-filter>
</activity>
<activity
android:name="com.example.myapp.Menu"
android:label="@string/app_name" >
<intent-filter>
<action android:name="com.example.myapp.MENU" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name="com.example.myapp.TextPlay"
android:label="@string/app_name" >
</activity>
<activity
android:name="com.example.myapp.Email"
android:label="@string/app_name" >
</activity>
<activity
android:name="com.example.myapp.Camera"
android:label="@string/app_name" >
</activity>
<activity
android:name="com.example.myapp.GFXSurface"
android:label="@string/app_name" >
</activity>
<activity
android:name="com.example.myapp.Data"
android:label="@string/app_name" >
</activity>
9
www.obukeikursevi.com

<activity
android:name="com.example.myapp.OpenedClass"
android:label="@string/app_name" >
</activity>
<activity
android:name=".AboutUs"
android:label="@string/app_name"
android:theme="@android:style/Theme.Dialog" >
<intent-filter>
<action android:name="com.example.myapp.ABOUT" />

<category android:name="android.intent.category.DEFAULT" />


</intent-filter>
</activity>
<activity
android:name=".Prefs"
android:label="@string/app_name" >
<intent-filter>
<action android:name="com.example.myapp.PREFS" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application>
</manifest>

Linear Layout
Nain rasporeda elemeata gde se oni rasporeuju u tavisnosti od orijentacije jedan ispod
drugog, odnosno jedan pored drugog, dakle nemamo mogunost pozicioniranja elementa u
odnosu na drugi kao to je to sluaj kod Relativnog Layout-a. Orijentacija se podeava pomou
sledee deklaracije

10
www.obukeikursevi.com

Layout Weight
android:layout_weight - pomou ovog taga mogue je dodeliti nivo znaajnosti odreenom
elementu, odnosno moemo da naznaimo koliko procenata od veliine roditelja pripada njemu
a koliko ostalima. to je vea ova vrednost, veu povinu e zauzimati konkretan element.
Default vrednost ovog taga je 0.
Na primer, ako na ekranu imamo tri TextView polja, ukoliko na prva dva elementa postavimo
android:layout_weight na 1, a treem ostavimo predefinisanu vrednos, odnosno 0 taj element
se nee videti na ekranu obzirom da mu nismo dodelili nikakav znaaj. Ostala dva elementa e
se proirii u okviru roditelja, po celoj njegovoj povrini i pritom ravnopravno.

Padding
Padding je mera koja se izraava u pikselima a omoguava da se elementima pojedinano ili
celoj grupi dodeli odreeno odstojanje od ivica roditelja.

EditText
Vrsta polja koja omoguava unos varijabilnog teksta, dakle nije u pitanju fiksni tekst kao kod
TextView elementa
Metode koje prua ovaj element su mnogobrojne ali trenutno emo koristiti u najveem broju
sluajeva getText() koja vraa vrednost teksta koji se nalazi u editabilnom polju.

Postani i ti Android programer.


Prijavi se na kurs.

www.obukeikursevi.com

11
www.obukeikursevi.com

You might also like