Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Kis Gergely MattaKis Consulting Fejlesztői szemmel.

Hasonló előadás


Az előadások a következő témára: "Kis Gergely MattaKis Consulting Fejlesztői szemmel."— Előadás másolata:

1 Kis Gergely MattaKis Consulting Fejlesztői szemmel

2 Workshop kedvcsináló ● Az alkalmazásfejlesztés bemutatása gyakorlati példán keresztül (PreziMote) – Eclipse használata a fejlesztésben – Natív komponensek használata – Debugolás a valódi eszközön ● Részvétel az Android Open Source Projectben ● Kötetlen beszélgetés II. szemináriumi terem az előadás után

3 Mi az Android? ● Szoftverplatform mobil eszközökhöz – Nyílt forráskódú – Linux kernelre épül – Java nyelven írhatók rá alkalmazások ● Androidot futtató eszközök – Mobiltelefonok – Set top boxok – Netbookok

4 Androidos mobiltelefonok HTC Dream T-Mobile G1 ADP1 HTC Hero T-Mobile G2 Touch HTC Magic T-Mobile MyTouch 3G Samsung Galaxy HTC Tattoo Huawei 8230 LG Etna Motorola Cliq T-Mobile Pulse Huawei 8220 Elérhető eszközök Fejlesztés alatt álló eszközök

5 Miben más az Android? ● Nem a megszokott beágyazott Linux irányt követi ● Saját könyvtárstruktúra ● Saját komponensrendszer (Binder) ● Saját futtatókörnyezet ● Saját segédprogramok (pl. init) Az Android nem GNU / Linux!

6 Android Architektúra

7 Alapkönyvtárak ● Libc / Bionic – BSD licencelt, beágyazott eszközökre optimalizált rendszerkönyvtár ● Média könyvtárak – OpenCORE keretrendszer, sokféle Codec ● Surface Manager – Képernyő kezelés, 2D és 3D grafika kompozitálás ● LibWebCore – WebKit alapú böngészőmotor ● 2D és 3D (OpenGL ES) könyvtárak ● FreeType, SQLite … stb.

8 Android futtatókörnyezet ● Dalvik virtuális gép – Regiszteralapú VM, – Saját bytekód formátum a memóriahasználat minimalizálásához – Beágyazott rendszerekre optimalizált – Kihasználja a Linux lehetőségeit (mmap, threading) – Saját folyamatmodell (az egyes alkalmazások külön folyamatként futnak, saját, egyedi felhasználóval)

9 Alkalmazás keretrendszer ● Views: Gazdag és könnyen kiegészíthető képernyőelemek („widgetek”) ● Content Providers: A más alkalmazások adataihoz történő hozzáférés megkönnyítéséhez ● Resource Manager: lefordított szövegek, képek, elrendezések ● Notification Manager: jelzések megjelenítéséhez ● Activity Manager: Képernyők, alkalmazások kezelése

10 Az alkalmazások anatómiája ● Activity – Egy képernyő egy programban, amivel a felhasználó valamilyen tevékenységet végezhet ● Services – Háttérben futó szolgáltatásokat nyújthat, pl.: médialejátszás, adatbázis elérés… stb. ● Broadcast Receivers – Reagál rendszereseményekre – Nincs saját felülete, de indíthat egy Activity-t, vagy megjeleníthet egy értesítést a Notification Manager segítségével

11 Az alkalmazások anatómiája (2) ● Content Providers – Adatokat tesz elérhetővé más alkalmazások számára. Csak a kívánt adatok leírását kell megadni, a rendszer megkeresi a megfelelő alkalmazást. ● Intent: Komponensek aktiválása – Aszinkron üzenet, amely tartalmazza, hogy mit szeretne tenni a felhasználó – A rendszer megkeresi a legmegfelelőbb komponenst, és elindítja – Ezzel a módszerrel az összes komponens cserélhető, akár a főképernyő is

12 App Widgetek ● A főképernyőn jelennek meg ● Beállítható, hogy milyen gyakran frissüljenek (energiatakarékosság) Gyorsan elérhető funkciók

13 Fejlesztőkörnyezet ● Eclipse támogatás – Android projekt (automatikus resource fájl generálás) – Debugger integráció, rendszernapló hozzáférés – Közvetlen debugolás valódi eszközön ● Emulátor – QEMU alapú – Kényelmes használni ● Támogatott platformok – Linux, Windows, Mac OSX

14 Android 1.6 újdonságai (1) ● Gyorskereső (Quick Search Box) ● Virtuális magánhálózat (VPN) támogatás ● Akkumulátor felhasználás jelző

15 Android 1.6 újdonságai (2) ● Akadálymentesítés támogatása – A fejlesztők pluginekkel bővíthetik a rendszert ● Szövegfelolvasó motor ● Több képernyőfelbontás támogatása ● Gesztusok támogatása

16 NDK – Native Development Kit ● Lehetővé teszi natív könyvtárak fejlesztését és integrálását az alkalmazásokba ● Az integráció szabványos JNI felületen történik ● Támogatott API-k (1.6-os verziótól) – Libc, libm, libz – Liblog – Android naplózás – OpenGL ES – Minimális C++ támogatás

17 Más platformok ● J2ME – Java nyelv, korlátozott futtatókörnyezet (CLDC) – A közös nevező, ami a legtöbb mobiltelefonon elkérhető – Az emulátorok általában Windowsra érhetők el ● BlackBerry – J2ME-re épül, egyedi UI API is használható, néhány BlackBerry specifikus kiegészítéssel – Egymásnak ellentmondó élmények (pl. BB Mail API) – Windows alapú fejlesztőkörnyezet

18 Más platformok (2) ● Iphone – MacOSX kicsiben: Objective C, Cocoa Touch... – Mac SDK ● Symbian – C++ objektumorientált API, Windows SDK – Két irányzat: Nokia Series és UIQ (pl. Sony Ericsson) ● Maemo – Nokia Tabletek operációs rendszere – GNU/Linux alapú Scratchbox fejlesztőkörnyezet (Debian)

19 Android Open Source Project ● Webcím: http://source.android.comhttp://source.android.com – Letölthető a forráskód, amelyből működő emulátor, kernel és felhasználói programok fordíthatók – Szkriptek segítségével kinyerhetők a HTC Dream telefonokból a zárt kódú, nem terjeszthető binárisok, így telefonon futó változat is építhető. ● Licenc – Apache 2.0 – Bizonyos esetekben BSD (Bionic) – Kivételes esetekben GPL / LGPL

20 Open Handset Alliance ● Az Android platformot támogató üzleti szövetség

21 Android Open Source Project (2) ● Kihívások – Nehezen összeegyeztethetők a gyártók és a szabad szoftveres közösség céljai – A fejlesztői verziók nem tesztelhetők hardveren, mivel a bináris komponensek csak a már kiadott verziókhoz elérhetők – Emiatt kicsi a közösség mérete ● Ami jól működik – CM és build rendszer – Portolás más platformokra

22 Hundroid – Magyar Android Portál ● Weboldal: http://www.hundroid.comhttp://www.hundroid.com ● Blog: http://blog.hundroid.comhttp://blog.hundroid.com ● Levelezési lista: http://groups.google.com/group/android- hu http://groups.google.com/group/android- hu ● Célunk egy közösségi oldal létrehozása, ahol mind a felhasználók, mind a fejlesztők hasznos információkat találnak.

23 Összefoglalás ● Mi az Android! ● Alkalmazások felépítése ● Összehasonlítás más platformokkal ● Fejlesztőkörnyezet (SDK, NDK) ● Android 1.6 újdonságai ● Android Open Source Project Köszönöm a figyelmet! Elérhetőség: www.mattakis.com gergely.kis@mattakis.com Workshop: II. szemináriumi terem Azonnal kezdünk! :-)


Letölteni ppt "Kis Gergely MattaKis Consulting Fejlesztői szemmel."

Hasonló előadás


Google Hirdetések