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

Okostelefon

Api level

2.1 Eclair 2.2 Froyo 2.3 Gingerbread 2.3.3 = 2.4 Honeycomb

7 8 9, 10 11 12 13

3.0

3.1 3.2 4.0 Ice Cream Sandwich 4.0.3 4.0.4 5.0 Jelly Bean

Milyen verzira rdemes fejleszteni?


Kt hetente frissl statisztika:
http://developer.android.com/resou rces/dashboard/platformversions.html

14 15 ? ?

Sicz-Meszir Jnos - OE-NIK

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/
assets/ res/ res/drawable/ res/layout/ res/menu/ res/values/
res/xml/ AndroidManifest.xml

ADT ltal generlt R.java fjl helye. Segtsgvel rhetjk el Java kdban az res/ knyvtrban tallhat tartalmakat.
Alaprtelmezetten res knyvtr. RAW (nyers adat) tartalmakat trolhatunk itt. Klnbz forrsok, melyeket beptennk az alkalmazsba. Kpek s rajzok. Pl.: PNG, JPG, GIF, Ikonok, Drawable-t ler XML-ek (selector, shape, ) Activity fellett, layout-okat ler XML fjlok. Men felptst ler XML-ek. Pl.: Options men Klnbz rtkek, szvegek, szmok, sznek, tmbk trolsa XML formban. Pl.: nyelvi fjlok Tovbbi XML-ek, pl.: Bellts felletnek lersa 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


1.

2.
3.

"debuggable jelz belltsa AndroidManifest.xml-ben! Telefonon USB debugging engedlyezse! Settings > Applications > Development USB driver letltse az ADB-nek (Android Debug Bridge):
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
Debug mdba tesszk

Lpsei:
1.

2.

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

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