Fejlesztői szemmel
M at K ta is K G i s er C ge on l y su lt in g
Workshop kedvcsináló ●
●
Megbeszélés a honosítás projektről A különböző magyar Android oldalak bemutatása
●
Ismerkedés a közösség tagjaival
●
Kötetlen beszélgetés
●
Kérdések és válaszok n á t u s á d a ő l e z a m e r e t p o h s k r Wo
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
Androidos mobiltelefonok Elérhető eszközök
HTC Dream T-Mobile G1 ADP1
HTC Hero T-Mobile G2 Touch
Samsung Galaxy HTC Magic T-Mobile MyTouch 3G
Fejlesztés alatt álló eszközök
HTC Tattoo
Huawei 8230
T-Mobile Pulse Huawei 8220
LG Etna
Motorola Cliq
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) m e n d i o r d n A z A
n i L / U N G
! x u
Android Architektúra
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.
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)
Az alkalmazások anatómiája ●
Activity –
●
Services –
●
Egy képernyő egy programban, amivel a felhasználó valamilyen tevékenységet végezhet 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
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
App Widgetek ●
●
A főképernyőn jelennek meg Beállítható, hogy milyen gyakran frissüljenek (energiatakarékosság)
lé e n a s r o Gy
tő e rh
k n fu
k ó i c
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
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ő
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
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
Az Android 2.0 újdonságai ●
Még több felbontás támogatása
●
Bluetooth támogatás
●
Több felhasználói fiók támogatása a szinkronizációs alrendszerben –
A fejlesztők új szinkronizációs modulokat írhatnak
–
Exchange támogatás
–
A több forrásból érkező üzenetek egy Inboxban megtekinthetők
Az Android 2.0 újdonságai (2) ●
Továbbfejlesztett kamera támogatás
●
Jobb virtuális billentyűzet
●
HTML5 támogatás a böngészőben –
Adatbázis
–
Offline oldalak cachelése
–
Geolocation API
–