Kis Gergely MattaKis Consulting Fejlesztői szemmel



Hasonló dokumentumok
Kis Gergely MattaKis Consulting Fejlesztői szemmel

Fejlesztői szemmel at K

iphone és Android két jó barát...

Mobilplatformok Merre tart a világ? Kis Gergely MattaKis Consulting

MOBIL PLATFORMHÁBORÚ. Török Gábor

ANDROID EMULÁTOR. Avagy nincsen pénz drága telóra.

Nokia N9 - MeeGo Harmattan bemutatkozik

Mobil eszközök programozása Mivel is kezdjem?

Mobil eszközök programozása Mivel is kezdjem?

Alkalmazás boltok. Android Market, Apple AppStore, WP7 MarketPlace Cserna Bence, Paksy Patrik

Java I. A Java programozási nyelv

Crossplatform mobil fejlesztőkörnyezet kiválasztását támogató kutatás

Mobil készülékek programozása

Budapesti Műszaki és Gazdaságtudományi Egyetem Távközlési és Médiainformatikai Tanszék. TDK dolgozat

Több platform egy kódbázis Tanulságok a Tresorittól. Budai Péter, vezető fejlesztő

Mobil Informatikai Rendszerek

Mobil Informatikai Rendszerek

VIRTUÁLIS GRAFFITI ÜZENETHAGYÓ RENDSZER

Mobilalkalmazás fejlesztés. Android I. előadás

Google App Engine az Oktatásban 1.0. ügyvezető MattaKis Consulting

FELHASZNÁLÓI KÉZIKÖNYV 1.sz. melléklet

Mobil operációs rendszerek. Hidasi Balázs Szendrei Gábor

Bevezetés, platformok. Léczfalvy Ádám

FELHASZNÁLÓI KÉZIKÖNYV 1.sz. melléklet

A gemiusranking HU-ról bővebb információ, a Módszertan menüpont alatt található.

Java I. A Java programozási nyelv

Szoftverfejlesztés a Google Android OS-re (Android 3.0, API level 11)

Pentaho 4: Mindennapi BI egyszerűen. Fekszi Csaba Ügyvezető október 6.

MKB. Mobil NetBANKár. Mobil eszköz és böngészı beállítások

Hova tart a cross platform mérés?

Virtualizációs technológiák és alkalmazások. Házi feladat. A Virtualbox. készítette: Andrus Tamás

mlearning Mobil tanulás a gyakorlatban

Dr. Schuster György október 30.

Új technológiák az Ubuntuban. Új fejlesztések Amik egy éven belül jelenhetnek meg az Ubuntuban

A gemiusranking HU-ról bővebb információ, a Módszertan menüpont alatt található.

Mobil operációs rendszerek. Készítette: Kisantal Tibor

Veeam Agent for Windows and Linux

Közösség, projektek, IDE


Kirobbanó Mobil Web Regionális kitekintés

Ustream.tv Bepillantás egy közösségi élővideo site működésébe

OPENCV TELEPÍTÉSE SZÁMÍTÓGÉPES LÁTÁS ÉS KÉPFELDOLGOZÁS. Tanács Attila Képfeldolgozás és Számítógépes Grafika Tanszék Szegedi Tudományegyetem

FELHASZNÁLÓI ÚTMUTATÓ A MOBIL BROKER KERESKEDÉSI FELÜLET HASZNÁLATÁHOZ

Trendek a nyílt forráskódú térinformatikai fejlesztésekben

Mobil Telefonon Keresztüli Felügyelet Felhasználói Kézikönyv

Android Wear programozás. Nyitrai István

Code review és continous integration toolok BME-MIT

ANDROID ALKALMAZÁS FEJLESZTÉS

Mobil Peer-to-peer rendszerek

OZEKI Phone System. 4 elengedhetetlen szolgáltatás a jövőbeli vállalati telefonos rendszerek számára. A jövő üzleti telefon rendszere SMS

Webes alkalmazások fejlesztése Bevezetés. Célkitűzés, tematika, követelmények. A.NET Core keretrendszer

SZABADKAI MŰSZAKI SZAKFŐISKOLA. E-mobil prezentáció dokumentációja SZABADKA, 2015.

KnowledgeTree dokumentumkezelő rendszer

Webes alkalmazások fejlesztése Bevezetés. Célkitűzés, tematika, követelmények. A.NET Core keretrendszer

Mobil Üzleti Intelligencia

MDM Exchange Alapokon AVAGY A MICROSOFT EXCHANGE 2013 MINT AZ MDM KŐBALTÁJA

Gyors, kényelmes, típusbiztos

Novell Roadshow január március

Első lépések útmutatója Vodafone Mobile Wi-Fi R207

Mobil alkalmazások fejlesztése

Számlaigazoltatás újratöltve. Lázár Péter

Az internetpiac számokban Trendek 2010-ben

Blackberry 9000 (Bold) HTC Diamond 2. HTC 6262 Hero

A webanalitika változó világa 4 felvonásban

Új fejlesztések, együttműködések a Magyar Elektronikus Könyvtárban, 2011-ben

Első lépések útmutatója Vodafone Mobile Wi-Fi R216-Z

Mobil alkalmazások fejlesztése

IBM WorkLight 5.0 mobil alkalmazás platform

Megújul a Videotorium

JavaScript Web AppBuilder használata

Flex: csak rugalmasan!

Mobil eszközök programozása Java

A L i n u x r u h á j a

Mire nem jó egy telefon!

Ubuntu Desktop a zsebedben

Ismerkedjünk meg a Linuxszal!

Mobilizálódó OSZK. A nemzeti könyvtár mobileszközöket célzó fejlesztései az elmúlt időszakban. Garamvölgyi László. Networkshop, 2013.

PTE-PROXY VPN használata, könyvtári adatbázisok elérhetősége távolról

Kommunikációs rendszerek teljesítőképesség-vizsgálata

Internet alkamazások Készítette: Methos L. Müller Készült: 2010

6.2. TMS320C64x és TMS320C67xx DSP használata

OZEKI Phone System. A jövő vállalati telefon rendszerének 4 alappillére. A jövő üzleti telefon rendszere SMS. Mobil mellékek. Összhang az IT-vel

Első lépések útmutatója Vodafone Mobile Wi-Fi R209-Z

TANANYAGTÁRHÁZAK SZEREPE AZ ELEARNINGBEN. Vágvölgyi Csaba - Papp Gyula. Kölcsey Ferenc Református Tanítóképző Főiskola Debrecen

FELHASZNÁLÓI ÚTMUTATÓ A MOBIL BROKER KERESKEDÉSI FELÜLET HASZNÁLATÁHOZ

Autóipari beágyazott rendszerek. Komponens és rendszer integráció

Mozgásvizsgálati mérések internetes megjelenítése. Zemkó Szonja - Dr. Siki Zoltán

READy Suite: mobil és fix kiolvasó hálózat fogyasztásmérőkhöz

A NetBeans IDE Ubuntu Linux operációs rendszeren

Az MTA Cloud a tudományos alkalmazások támogatására. Kacsuk Péter MTA SZTAKI

T-Systems Magyarország Zrt. készülék árlista vállalati Ügyfelei számára. Érvényes: november 2-tól visszavonásig vagy a készlet erejéig

Web-fejlesztés NGM_IN002_1

Zimbra levelező rendszer

A szoftverfejlesztés eszközei

Nyílt forráskódú irodai programkomponensek vállalati környezetbe való integrációjának vizsgálata és implementációja

Vodafone-os beállítások Android operációs rendszer esetében

Web harvesztelés. Automatikus módszerekkel

Végfelhasználói Applet kézikönyv

Webes alkalmazások fejlesztése

MOBILTRENDEK A SZÁLLÁSFOGLALÁSBAN

Átírás:

Kis Gergely MattaKis Consulting Fejlesztői szemmel

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 HTC Magic T-Mobile MyTouch 3G Samsung Galaxy Fejlesztés alatt álló eszközök HTC Tattoo Huawei 8230 T-Mobile Pulse LG Etna Motorola Cliq Huawei 8220

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!

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 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

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) Gyorsan elérhető funkciók

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 <video> tag

Gyakorlati bemutató - PreziMote 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

Android Open Source Project Webcím: http://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 és Sapphire 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

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

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

Android Open Source Project (3) A CyanogenMod botrány A nem hivatalos ROM-okat a Google nem hivatalosan támogatja A felszólítás a jogosulatlanul terjesztett zárt kódú alkalmazások miatt érkezett Android 2.0 Már megjelent az SDK, de a forráskód még csak részlegesen érhető el A hírek szerint sokáig még egyes OHA tagok sem fértek hozzá Nincs platform útiterv, nehéz tervezni

AOSP Fejlesztés 1 oldalban Hozzávalók: Ubuntu 8.04, Git, Repo Letöltés: http://source.android.com repo init -u git://android.git.kernel.org/platform/manifest.git repo sync make repo start my-killer-feature fejlesztés fordítás tesztelés git commit -m Értelmes logbejegyzés repo upload

AOSP Code Review Gerrit: http://r.android.com

Külső open-source projektek Nem hivatalos ROM-ok A legismertebb: CyanogenMod AOSP-re és különböző patchekre épülnek Probléma: a zárt kódú hardverdriverek nem szabadon terjeszthetők Nagyon fragmentált, sok pici projekt Open Android Alliance http://openandroidalliance.org/ Célja, hogy összefogja a különböző projekteket

Külső open-source projektek (2) Új hardver platformok portjai: MIPS: http://www.mipsandroid.org OMAP: http://elinux.org/android_on_omap x86: http://android-x86.org OpenMoko FreeRunner A patchek nem jutnak vissza az AOSP-be

Hundroid Magyar Android Portál Weboldal: http://www.hundroid.com Blog: http://blog.hundroid.com Levelezési lista: 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. Első közösségi projekt: Android honosítás!

Honosítási folyamat Bináris csomagok Készítése a közösség számára Build szerver Fordítások a közösségtől Hundroid Pootle Lektorálás Beküldés Hivatalos Android Tárolók

Honosítás projekt Webes fordítórendszer: http://translate.hundroid.com A projekt állása: Android XLIFF konverziós eszköz fejlesztése folyamatban Magyar billentyűzet fejlesztése folyamatban Következő lépések: Fordítandó fájlok feltöltése Fordítás megkezdése Lektorálás Magyar buildek készítése

Magyar Android közösség Hundroid http://www.hundroid.com Blog Levelezési lista Honosítás Build rendszer... IRC android-hu@freenode androidhungary.com Blog Hírek androidportal.hu Hírek Blog Fórum Facebook Hungarian Android Community

Ö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 és 2.0 újdonságai Android Open Source Project Köszönöm a figyelmet! Elérhetőség: www.mattakis.com gergely.kis@mattakis.com

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

Más platformok (2) Iphone MacOSX kicsiben: Objective C, Cocoa Touch... Csak Macen fejleszthető 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)