You are on page 1of 19

Az Android rendszer s a fejleszti

krnyezet bemutatsa

OE-NIK

2012. februr 13.

Sicz-Meszir Jnos

sicz-mesziar.janos@
nik.uni-obuda.hu

Az Android trtnete
Eredetileg az Android Inc. fejlesztse volt
Google Inc. 2005-ben felvsrolta
Mra az Android mgtt tbb cg is (pl.: gyrtk)
megtallhat Open Handset Alliance (OHA)
Els elrhet kszlk: T-mobile G1 (HTC Dream), 2008
oktberben jelent meg, Android 1.0 rendszer (Base)
Azta:

Forrs:
http://gs.statcounter.com/
#mobile_os-ww-monthly201001-201201

Sicz-Meszir Jnos - OE-NIK

2012.02.13.

Android verzik
Api level
Folyamatosan nvekv szm
Fejlesztskor hasznljuk a minimlis
Android verzi megjellsre
API level alapjn eset vlaszts.
Pl.: adott funkci csak bizonyos
verzi ta rhet el.
Megknnyti a referenciban Tablet
val tjkozdst (filter):
http://developer.android.com/
reference/packages.html

Milyen verzira
rdemes fejleszteni?
Kt hetente frissl statisztika:
http://developer.android.com/resou
rces/dashboard/platformversions.html

Api level

Okostelefon

3.0

2.1 Eclair

2.2 Froyo

2.3 Gingerbread
2.3.3 = 2.4
Honeycomb

9, 10
11

3.1

12

3.2

13
4.0 Ice Cream Sandwich
4.0.3
4.0.4
5.0 Jelly Bean

Sicz-Meszir Jnos - OE-NIK

14
15
?
?

2012.02.13.

Amit j tudni a platformrl

Linux kernelre pl opercis rendszer


http://developer.android.com/guide/basics/what-is-android.html#os_architecture
Linux 2.6.* kernelre pl, de az Android 4.0-tl mr az j 3.0.* kernelre.

Dalvik VM virtulis gpen menedzselt Java kd futtatsa


(!= Sun JVM, s J2ME-vel sem kompatibilis)
Open Source
Prhuzamosan futhat tbb alkalmazs is (nincs megkts)
Android Market: egy instant alkalmazspiac
Ingyenes s fizets szoftverek (30%-70%) ill. alkalmazson
belli vsrls lehetsge (2.3 ta)
Offline alkalmazstelepts (unknow source) megengedett
A mobilalkalmazs egyetlen fjlbl ll (*.apk)
Fejleszti krnyezet is ugyangy fejldik, mint maga a
rendszer (ADT)

Sicz-Meszir Jnos - OE-NIK

2012.02.13.

Programozs

+1 rdekessg:
Android app Windows-on

SDK - Java (Dalvik VM)


NDK - C/C++ (Natv kd, Java kdbl elrhet - JNI)
ADK Accessory Development Kit (3.1 ta)
Tovbbi ksrletek
Script nyelvekkel (SL4A segtsgvel)

Pl.: Python, Perl, JavaScript,


http://code.google.com/p/android-scripting/

C# (MonoDroid kezdemnyezs)
http://monodroid.net/

Fejleszts
Hivatalosan tmogatott IDE: Eclipse
Az SDK rendelkezik emultorral (kicsit lass, idnknt
problms szenzorok?)
Futtathatunk kzvetlen telefonon (gyors, knyelmes de
kell kszlk)
Biblink: http://developer.android.com/

Sicz-Meszir Jnos - OE-NIK

2012.02.13.

Android alkalmazsokrl
Az alkalmazsok egyenrangak
Minden programot s kpernyt egy stack-be rgzt
Vissza (Back) gomb hatsra az elz elemre vlt t

(Gyakorlatilag, mint bngszben az elzmnyek)

Az alkalmazsok (hivatalosan) nem bezrhatak, ezt maga a


rendszer vgzi, ha szksg van r. (Pl.: kevs memria)
Nem ablakok, hanem teljes kpernyt kitlt Activity-k
Egy alkalmazs tbb Activity-bl llhat
Minden Activity-nek sajt letciklusa van!

Sicz-Meszir Jnos - OE-NIK

2012.02.13.

Activity letciklus modell


Clja:
Vratlan esemnyek kezelse.
Pl.: bejv hvs, akku merlse
Erforrsok hatkony kezelse
A modellen brzolt
metdusokat a rendszer
automatikusan meghvja,
amikor az szksges.

Forrs:
http://developer.android.com/guide/t
opics/fundamentals.html#actlife

Ugyanez mskpp:
http://www.google.hu/images?q=andr
oid+activity+lifecycle

Sicz-Meszir Jnos - OE-NIK

2012.02.13.

Fragments API

Tervezsi filozfia nagyobb kpernyk kezelsre


Gyakorlati szempontbl megadhatjuk mely felletek
kerlhetnek egyms mell.
Bvebben:

http://developer.android.com/guide/topics/fundamentals/fragments.html
Sicz-Meszir Jnos - OE-NIK

2012.02.13.

Fejleszti krnyezet

Sicz-Meszir Jnos - OE-NIK

2012.02.13.

Fejleszti krnyezet teleptse


Mi kell hozz?
JDK teleptse
Eclipse IDE
Android SDK
ADT plugin (ADT = Android Development Tools)
Hogyan?
Windows:
http://szyrt.hu/downloads/Docs/Android_fejleszto_kornyezet_kialakitasa
_Windowson.pdf

Ubuntu 10.04 s felette:


http://szyrt.hu/downloads/Docs/Android_fejleszto_kornyezet_kialakitasa
_Ubuntu_10.04_en.pdf

Eredeti lers:
http://developer.android.com/sdk/installing.html
Sicz-Meszir Jnos - OE-NIK

2012.02.13.

10

j Android projekt
File

> New > Other > Android > Android project

Sicz-Meszir Jnos - OE-NIK

2012.02.13.

11

Ismerkeds a fellettel
Futtats

Forrskdok

Kszlkek &
Emulator, ill. fut
alkalmazsok

Debug
(ADB)

Munkaknyvtr

Sicz-Meszir Jnos - OE-NIK

2012.02.13.

12

A munkaknyvtr szerkezete
src/

Az Activity Java fjljai s minden egyb Java fjl.

gen/

ADT ltal generlt R.java fjl helye. Segtsgvel rhetjk


el Java kdban az res/ knyvtrban tallhat tartalmakat.

assets/

Alaprtelmezetten res knyvtr. RAW (nyers adat)


tartalmakat trolhatunk itt.

res/

Klnbz forrsok, melyeket beptennk az


alkalmazsba.

res/drawable/

Kpek s rajzok. Pl.: PNG, JPG, GIF, Ikonok, Drawable-t


ler XML-ek (selector, shape, )

res/layout/

Activity fellett, layout-okat ler XML fjlok.

res/menu/

Men felptst ler XML-ek. Pl.: Options men

res/values/

Klnbz rtkek, szvegek, szmok, sznek, tmbk


trolsa XML formban. Pl.: nyelvi fjlok

res/xml/

Tovbbi XML-ek, pl.: Bellts felletnek lersa

AndroidManifest.xml

Fontos informcik, hasznlati jogok, min. SDK verzi,


Activity-k, Service-ok, Broadcast-ek nylvntartsa, stb
Sicz-Meszir Jnos - OE-NIK

2012.02.13.

13

Futtats: Emultoron
j Android virtulis eszkz
hozzadsa
Window > Android SDK and AVD
Manager > New
Bellthatjuk
Hardveres jellemzket
Android verzit

Emultorrl tudni rdemes:


Lasscska szegny
New/Edit utn, els indtskor
mindig lassabb, mint egybknt
Emultor is egy virtulis gp
Nem mindent tmogat: szenzorok,
bluetooth,
Emultor irnytsa billentyzettel

Sicz-Meszir Jnos - OE-NIK

2012.02.13.

14

Futtats: Emultoron (2)

Sicz-Meszir Jnos - OE-NIK

2012.02.13.

15

Futtats: Kzvetlenl telefonon


"debuggable jelz belltsa AndroidManifest.xml-ben!
Telefonon USB debugging engedlyezse!
Settings > Applications > Development
USB driver letltse az ADB-nek (Android Debug Bridge):

1.

2.
3.

Window > Android SDK and > Available packages > Third party
Vagy OEM Driverek:

http://developer.android.com/sdk/oem-usb.html

4.
5.

USB kbellel sszektd (Kbelt nem otthon hagyni!)


Az ADB teleptsnl meg kell adni a driver helyt.
Szksg esetn az Eclipse s/vagy rendszer jraindtsa

Ha sikerlt, akkor hasonl:

Eredeti lers :

http://developer.android.com/guide/developing/device.html

Sicz-Meszir Jnos - OE-NIK

2012.02.13.

16

Debug - DDMS

Dalvik Debug Monitor Server


Eclipse-ben: Window > Open Perspective > Other... > DDMS
Fggetlenl: *SDK path] / tools / ddms.bat

Lpsei:
1.

2.

Breakpoint elhelyezse, mint


brmely ismert fejleszti
krnyezetben.
Devices fl alatt a kivlasztott
kszlken az adott alkalmazs
debug mdba kapcsolsa.
Breakpoint elhelyezve

Debug mdba tesszk

A debug mdban futtatott


alkalmazs lass.
De utlag is tvlthatunk!
Sicz-Meszir Jnos - OE-NIK

2012.02.13.

17

Debug(2) - LogCat

Kszlk vagy emultor kivlasztsa a Devices fln

LogCat fl alatt listzdik minden ami a rendszerben trtnik

j szr

Ajnlott filter hasznlata:

Log.d("cimke", "Ez trtnik:" + this.toString());

j szr:

Sicz-Meszir Jnos - OE-NIK

2012.02.13.

18

Sicz-Meszir Jnos - OE-NIK

2012.02.13.

19

You might also like