You are on page 1of 29

Letnja kola Androida

RT-RK, 12 15. juli 2011.

Cilj kursa
Organizovan sa 4 asa dnevno x 4 dana Upoznavanje kroz primere sa glavnim konceptima aplikacija za Android Postavljanje dobre osnove za dalji samostalan razvoj

Agenda
Arhitektura sistema SDK i razvojno okruenje Hello World! Komponente aplikacije

Arhitektura

Elementi aplikacije
Activity grafiki element koji najee odgovara jednom ekranu Service usluni procesi koji rade u pozadini ContentProvider elementi koji omoguuju deljenje podataka u sistemu BroadcastReceiver element koji prihvata sistemske broadcast poruke (battery low, itd.)

ivotni vek

Intents

Aplikacije mogu same da osmisle i alju svoje poruke (Intent) Intent inicira aktiviranje Aktivnosti (Activity)

Intents

Sistem sam uparuje aktivnost (Activity) na osnovu zadate poruke (Intent) Elementi tipa Activity sami deklariu koje to poruke oni mogu da obrade (informacije za to se postavljaju u AndroidManifest.xml) Jedna Aktivnost moe da pozove drugu Aktivnost

Intents (primer)

Servisi

Rade u pozadini (putanje muzike, skidanje podataka sa interneta, i sl.) Postoji mogunost povezivanja Vae aplikacije i servisa koji radi u pozadini preko udaljene sprege (IPC InterProcess Communication) definisane u datotekama AIDL (Android Interface Definition Language)

10

ContentProviders

Omoguuju deljenje podataka izmeu aplikacija (npr. adresar, galerija slika, itd) Obezbeuju uniformnu spregu za pristup podacima, kao i za brisanje odnosno auriranje podataka

11

BroadcastReceivers

Komponente koje reaguju na sistemske broadcast poruke Broadcast poruke se prosleuju kao objekti klase Intent Obino nemaju svoj GUI, ve mogu da kreiraju status bar notification

12

uvanje podataka
Postoji vie opcija:

Podeavanja (Preferences) datoteka na disku SQLite ContentProvider

13

APK

Androidova arhiva za jednu aplikaciju Verzija ZIP-a Sve to je potrebno za aplikaciju se tu nalazi

14

Android SDK
Emulator adb

LogCat interni log Androida

android-sdk\samples\

15

Emulator

Uz SDK stie i emulator Mogu se birati razliiti modeli (generiki, ili emulatori pravih hardverskih ureaja) i razliita okruenja (verzije OS-a, verzije APIja)

16

adb

Android Debug Bridge Klijent-server sistem, gde je klijent na host raunaru (gde se odvija razvoj), a server na Android raunaru Omoguuje:

instalaciju programa u Android raunar,

adb install apk_file adb push moj_fajl /sdcard/ adb logcat


adb shell

prebacivanje fajlova na/sa Android raunar(a),

pregled sistemskog Log-a,

rad sa konzolom na Android raunaru (shell),

itd.

17

Ciklus razvoja

Kreiranje Aktivnosti

obino se redefinie onCreate() metoda

Realizacija korisnikog interfejsa Prijava Aktivnosti u AndroidManifest.xml fajlu Instalacija na raunar Startovanje/debagiranje

18

Struktura projekta

19

Struktura projekta

20

Kreiranje aktivnosti

Aktivnost naseuje klasu Activity Redefiniu se metode vezane za ivotni ciklus: onCreate(), onStart(), itd.

21

Realizacija UI

Dva naina:

programski deklarativno (.xml datoteka) layout folder, datoteka.xml

Preporueno je deklarativno definisanje

Plugin u Eclipse-u run-time generie klasu R, koja sadri id-ove svih resursa

ceo API je prilagoen radu sa id-ovima, a ne sa konkretnim resursima!


22

Realizacija UI

23

Realizacija UI

24

Klasa R
/* AUTO-GENERATED FILE. DO NOT MODIFY. * * This class was automatically generated by the * aapt tool from the resource data it found. It * should not be modified by hand. */ package com.rtrk; public final class R { public static final class attr { } public static final class drawable { public static final int icon=0x7f020000; } public static final class layout { public static final int main=0x7f030000; } public static final class string { public static final int app_name=0x7f040001; public static final int hello=0x7f040000; } }

25

Resursi

Resursi mogu biti:

multimedija (slike, animacije, itd.) folder drawable ostali fajlovi folder raw

android.resource://com.rtrk/raw/famous

xml fajlovi koji opisuju prostorni raspored komponenti na ekranu Aktivnosti folder layout stringovi folder values, fajl strings.xml

i18n localisation
26

Stringovi

27

Instalacija

Aplikacija se pakuje u APK fajl

zip fajl odreene strukture

Svaka aplikacija je digitalno potpisana

nije potrebno da se nabavlja komercijalni sertifikat

Eclipse razvojno okruenje samo pakuje i instalira aplikaciju

moe se obaviti i runo


28

Kraj prvog dela

Pitanja?

29

You might also like