Mobil készülékek programozása



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

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

Synology DiskStation DS216play 2-lemezes NAS (2 1,5 GHz CPU, 1 GB

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

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

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

BusEye online személyre szabott utastájékoztató mobil alkalmazás fejlesztése

Az IBM WebSphere Multichannel Bank Transformation Toolkit V7.1 felgyorsítja a többcsatornás alkalmazásfejlesztést

Ubuntu Desktop a zsebedben

Fejlesztői szemmel at K

Cross platform játékmotor + szerkesztő Támogatott platformok

Közbeszerzési Értesítő száma: 2015/108

Távközlési és Médiainformatikai Tanszék Hálózatok és szolgáltatások szakirány. Szolgáltatások és alkalmazások. Apple App Store. Sándor Roland Martin

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

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ő

Hogyan válasszunk megfelelően LAPTOPOT. magunknak? Laptop vásárlási útmutató: 9+1 tanács 2016-ra

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

Nokia N9 - MeeGo Harmattan bemutatkozik

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

Címtár Felhő Projektfeladat specifikáció

strings.xml res/values/strings.xml fájlban hozzuk létre a hiányzó string adatforrásainkat A jelenlegi helyett ez álljon: <resources> <string

Point of View Android 2.3 Tablet Kézikönyv ProTab 2XXL

Végpont védelem könnyen és praktikusan

Minőségi tartalom. Amely beindítja üzletét

Windows 8 Consumer Preview

Infokommunikációs alkalmazásfejlesztő. Informatikai alkalmazásfejlesztő

axióma alapú automatizált teszteléssel

Gate Control okostelefon-alkalmazás

DSI működésre. tervezve. Hogyan fog kinézni a jövő informatikai infrastruktúrája? Egész szoftverrendszerek egy

WQMobile 1.0 kezelési útmutató

Bevezetés. Kiknek szól a könyv?

AUGMENTED REALITY KITERJESZTETT VALÓSÁG TARTALOMJEGYZÉK. Czéhner Tamás

Felhasználói kézikönyv

SUBUS FEJES SZILVESZTER DR. PINTÉR RÓBERT

SZABADKAI MŰSZAKI SZAKFŐISKOLA. PREZENTÁCIÓ E-mobil tantárgyból Jquery Mobil Keretrendszer SZABADKA, 2015.

Informatikus, Webfejlesztő. Nagy Gusztáv

a szolgáltatást igénybe vevő Megbízó/Befizető ügyfelek részére Hatályos: október 24.

1. oldal, összesen: 29 oldal

A Dunaújvárosi Főiskola vezeték nélküli hálózat (WiFi) szolgáltatási rendszere.

VirtualBox, Debian telepítés

Tarantella Secure Global Desktop Enterprise Edition

Közben folyamatos kapcsolatban voltunk, az ötleteket megosztottunk egymással, átolvastuk és megbeszéltük egymás munkáját.

Darts - Krikett Projekt feladat specifikáció

VÁLLALATI INFORMÁCIÓS NAPOK A DUÁLIS FELSŐOKTATÁSI KÉPZÉSEKRŐL ÁPRILIS 3.

Az Internet of Things világa

Indítsuk el az imént kicsomagolt Eclipse programot és kattintsunk a Help/Install new software menüre. A work with opcióhoz írjuk be a

Fejlesztési tapasztalatok multifunkciós tananyagok előállításával kapcsolatban Nagy Sándor

IBM Business Monitor 7. változat 5. alváltozat. IBM Business Monitor telepítési kézikönyv

Alap számológép alkalmazás

Google Play és iphone App Store üzleti modell, alkalmazásfejlesztés. Szórádi Balázs BME TMIT Szolgáltatások és alkalmazások 2015

Gate Control okostelefon-alkalmazás

gyógyszer-információs alkalmazás

Adataink biztonságos tárolása és mentése

Mobil Informatikai Rendszerek

Robotot vezérlő szoftverek fejlesztése Developing robot controller softwares

Üzleti lehetőség. Egy ember zsebében általában három fontos dolog biztosan megtalálható: a kulcsa, a pénztárcája és a telefonja.

Élvezze az élet hangjait!

Vírusok a telefonokon. Mikor mások hallgatnak és néznek telefonommal.

Elektronikus Szolgáltatások Hirdetménye. Érvényes: május 24-től

WWW Kliens-szerver Alapfogalmak Technológiák Terv. Web programozás 1 / 31


Gyümölcsöző megoldások

Mire nem jó egy telefon!

Point of View Android 2.3 Tablet Kézikönyv PlayTab 2 / ProTab 2

Nemzeti Alaptanterv Informatika műveltségterület Munkaanyag március



HU-GO Mobil bemutatása április 16.

Fehér Krisztián. Navigációs szoftverek fejlesztése Androidra

Rendszerterv. 1. Funkcionális terv Feladat leírása:

ViCA. Virtuális chipkártya alkalmazás

Touch me - az Iphone világsikerének titkai

Mobil Informatikai Rendszerek


Döntő feladat. Főtámogató. Arany fokozatú támogatók. Szervezők

A személyre szabás lehetőségei az internet és a mobiltelefon korában

Mobil kommunikáció szerepe a vállalat sikerességében

NetIQ imanager Telepítési útmutató január

A Szekszárdi I. Béla Gimnázium Helyi Tanterve

TANÚSÍTVÁNY (E-MS05T-TAN.SW_1) MELLÉKLETE

I. Bevezető, az elektronikai tervezés során felmerülő megoldandó problémák rövid összefoglalása

Android 5.0.

HOGYAN TÁMOGATJA A NEMZETI KÖZNEVELÉSI PORTÁL A TANÍTÁST ÉS A TANULÁST?

Bevezetés a Symbian operációs rendszerbe

DocBook útmutató. Jeszenszky Péter Debreceni Egyetem, Informatikai Kar

Informatika szintmérő-érettségi tételek február

Megnevezés Verzió Méret (byte) SHA-1 lenyomat

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

Felhő alapú szinkronizációra épülő pénzügyi nyilvántartó rendszer

IT TERMÉKEK TANÚSÍTÁSA

MOBILTRENDEK A SZÁLLÁSFOGLALÁSBAN

Ember-gép interfész. 1. gyakorlat. Csapó Tamás szeptember 16.

RÉSZLETES FELHÍVÁS ÉS ÚTMUTATÓ. az Elektronikus közigazgatás operatív program keretében megvalósuló. E-befogadás. című kiemelt projekt támogatásához

Az infoszféra tudást közvetítő szerepe a mai társadalomban

Kitöltő telefonja (körzetszám is): megyei/fővárosi önkormányzat. gazdasági szervezet

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

MVC. Model View Controller

Operációs rendszer ismeretek

A LEGKISEBB HD KAMERA WIFI JELTOVÁBBÍTÁSSAL

Átírás:

Mobil készülékek Egyre több ember zsebében és táskájában a legkülönfélébb mobileszközök megtalálhatóak Mobiltelefonok, PDA-k, PalmTopok és intelligens multimédiás eszközök (mit pl. ipod-ok) A készülékek legjelentősebb része különböző márkájú okostelefonokból áll Ezek szoftver- és hardverkapacitása dinamikusan fejlődik Képességeikben és lehetőségeikben az asztali számítógépekhez hasonlítanak Felhasználói részről az izgalmas programok és játékok iránti kereslet Szoftverfejlesztői részről pedig az intelligens készülékek programozása utáni vágy

Mobil készülékek programozása Komoly problémákkal kell szembesülni, mivel megszámlálhatatlanul sokféle mobil készülék létezik A hardver- és szoftverkörnyezet változatossága és egymással való inkompatibilitása olyan mértékű, hogy az nagymértékben megnehezíti az alkalmazás-fejlesztést Probléma a számítógépekénél lényegesen gyengébb hardveres képességek Ezt hivatott kompenzálni azonban az általános célú operációs rendszer

Az okostelefonok Fejlett számítógépszerű mobiltelefonok Ezek az eszközök uralják a hordozhatókészülék-ipart Szabványosított interfészeket és platformot nyújt az alkalmazásfejlesztők számára Hardveres problémák körültekintőnek kell lennie hatékonyság terén alkalmazás-fejlesztőnek fokozottan figyelnie kell az áramtakarékosságra Szoftveres problémák számos mobiltelefon-gyártó az idők során különböző technológiákat fejlesztett ki eszközeik szoftveres támogatására azonos szoftverek eltérő verziónak együttes programozása is nehéz

Fejlődő hardver Az okostelefonok követhetetlenül gyorsan fejlődő és átalakuló hardverével nehéz lépést tartani Folyamatosan jelennek meg az újabb, erősebb készülékek A szoftverrel nem lehet ezzel lépést tartani, tehát a szoftvernek nem szabad olyan gyorsan változnia, azért hogy egy programozási nyelv használható legyen az újabb készülékeken is és követhetőek/tanulhatóak legyenek az új funkciók/változtatások a szoftver-fejlesztőknek Külön megfontolásokat érdemel a kompatibilitás

Szoftveres megoldások Platformfüggetlen programozás Több platformon, architektúrán (eszközön) is futtatható. Olyan nyelvi elemeket és megoldásokat (könyvtárakat) használ, amik a rendszerek nagy részében (vagy a nyelv specifikációjában) rendelkezésre állnak, így számos platformon változtatás nélkül lefordítható és futtatható. (pl.: Java) Ennek segítségével ugyanaz a lefordított programkód Windowson és pl. Linuxon is (nagyjából) ugyanúgy fut Platformfüggő programozás Egyes szabványosított nyelvek (C/C++) platform- /oprendszerfüggő megoldásokat tartalmaznak, ezért máshogy néz ki egy program forráskódja ugyanazon a nyelven Windowsra, mint pl. Linuxra (sőt még ugyanarra a platformra is léteznek különböző fordítók)

Platformfüggetlen programozás A platformfüggetlen programozási nyelvek általános célú nyelvek Ugyanaz a lefordított programkód több platformon is fut (cross-platform) Ezt egy úgynevezett virtuális rendszer/program (virtual machine) segítségével érik el, a virtuális rendszer minden platformon egyedi, de a programozó forráskódja minden platformon ugyanaz (tehát egyszer kell megírni) és mindenhol (kb) ugyanúgy működik Ez egy zseniális megoldás, de így a forráskódban platformfüggő optimalizálások nem használhatóak, az erőforrás-kezelés nem hatékony Ezért sokkal hatékonyabb, ha a platformfüggetlen nyelveknél is vannak platformfüggő megoldások pl.: Dalvik (Android Java)

Függvénykönyvtárak (megoldások) A különféle szabványosított programozási nyelvek általános szintaxisa rögzített (kulcsszavak, szabályok) Amikben definiálhatunk saját függvényeket, eljárásokat, amiket meghívunk a programkódunk különböző részein De a különféle problémák, platformok konkrét megoldásait segítik az előre elkészített és megírt függvénycsomagok és könyvtárak Ezeknek a programozási interfészek (API) használatával történik a platformfüggő programozás A különböző rendszerekre való programozáshoz fejlesztői csomagokat adnak ki (SDK) amit a számítógépünk oprendszerén (pl Windows, ahol fejlesztünk) használunk A gépünkön fejlesztői környezet (IDE) segítségével történik a forráskódunk szerkesztése, amiben rengeteg segítséget kapunk a kényelmesebb programozáshoz

Dalvik: Android Java A Java egy általános célú platformfüggetlen Objektum Orientál nyelv (OOP) (lásd később) A Java virtuális rendszere a Java Virtual Machine (JVM) A Java nyelv a szintaxisát főleg a C és a C++ nyelvektől örökölte, viszont sokkal egyszerűbb objektummodellel rendelkezik, mint a C++ A Dalvik virtuális gép a Google által létrehozott Android operációs rendszer virtuális számítógépe (VM). Ezen a készülékeken futó programok legtöbbször Java nyelven íródnak és első lépésben Java bájtkódra fordulnak A fejlesztés most már a hivatalosan kiadott Android Studio segítségével történik

Windows Phone Windows Phone programozás Visual Studioban történik c++/c# nyelven A felület definiálása XAML ( Extensible Application Markup Language ) segítségével történik A fejlesztői eszközök (SDK) a Windows Phone SDK-ban megtalálhatóak Visual Studioban a Blend segítségével vizuális szerkesztő segítségével hozhatjuk létre az UI-t https://msdn.microsoft.com/enus/library/windows/apps/ff402529(v=vs.105).aspx

IOS Apple IOS programozás Xcode IDE segítségével történik Mac gépen Swift, Objective-C programozási nyelven, ez a szabványos C kibővítve Objektum Orientált (OO) elemekkel Az Objective-C nyelv mellett az Apple által létrehozott Swift (2014.jún) nyelv is fontos szerepet kap, azért jött létre, hogy a C nyelv nehézségeit könnyítse és hogy a programozók kevesebbet hibázzanak https://developer.apple.com/library/ios/referencelibrary/get tingstarted/developiosappsswift/

Mobilprogramozás Hasonlóságok is vannak a különböző platformok fejlesztési lépéseiben A programozás fejlesztői környezetben (IDE) történik, amiben különböző elemeket (gombokat, szövegdobozokat, képeket) behúzhatunk egy virtuális telefonképernyőre Általános leírónyelv (xml,xaml) segítségével az alkalmazásunk kinézetének a leírását adhatjuk meg (HTML-hez hasonló) Majd ezeknek a leírási tageknek az attribútumában megadott függvénynévhez írunk egy függvénydefiníciót, ami akkor fut le amikor a megadott esemény (attribútum név) bekövetkezik

Eseményvezérelt alkalmazás Rengetegféle eseményt definiálhatunk, amik különböző feltételek mellett bekövetkeznek (pl gomb nyomásra) Minden eseményhez tartozik egy függvény a forráskódban, ami akkor fut le, ha az esemény bekövetkezett Grafikus felületű GUI alkalmazásoknál gyakori ez a megközelítés Itt a programkód értelmezése a szokásostól (sorról sorra) eltérő, ugyanis a felhasználó interakciójától és nem a programozási definíciók sorrendjétől függ a programnak a futása

XML Az XML (Extensible Markup Language) általános leírónyelv különböző adattípusok leírására képes Elsődleges célja strukturált szöveg és információ megosztása Fontos különbség a HTML nyelvhez képest, hogy itt a tagek nevét és alkalmazhatóságát az adott szoftverfejlesztő alkalmazás szabja meg Rendkívül egyszerűen érthető és feldolgozható

Android Studio Ezzel a fejlesztői környezettel (IDE) programozhatunk Android okostelefonunkra Ajánlásokkal segíti a kódkiegészítést Van beépített kódanalízise Kódolás közben észreveszi a hibákat Appokat fejleszthetünk Android telefonra, tabletra, Android Wearre, Android TV-re, Android Autora és Google Glassra Virtuális Android kijelzőn akár a számítógépünkön is megnézhetjük az Appunkat (Android programunkat) http://developer.android.com/sdk/index.html

Forráskód fordítás programmá Megírjuk az Android Appunknak a forráskódját Android Studioban (IDE) az Android függvénykönyvtárak segítségével (API) Java programozási nyelven Ebből kapunk egy(pár).java kiterjesztésű forrásfájlt Ezt a fejlesztői környezetünk először Java bájkóddá fordítja =>.class Majd, ha Androidra fordítunk, akkor létrejön a Dalvik code (.dex), a programunk, amit a telefonunkon levő Dalvik VM képes értelmezni Vagy, ha PC-re fordítunk, akkor létrejön a.jar futtatható fájl, amit a Java VM értelmez (futtat)

Kompatibilitási megfontolások A telefonunk oprendszere gyorsan fejlődik, sokat frissítik, minden egyes nagy frissítés után újdonságokat építenek bele Ezekkel együtt párhuzamosan fejlődik a programozási nyelv is úgy, hogy a régi programkódok ugyanúgy használhatóak újabb rendszeren is, de a legújabb kódok, amik valami különleges verzióhoz köthető definíciót tartalmaznak, azok nem fognak működni régebbi rendszereken Meg kell gondolni, hogy az újabb lehetőségekkel akarunk-e élni, vagy inkább minél több verziójú eszközre próbálunk programozni Lehetőség van több verzióra akár külön módosított kódot lefordítani

Integrált fejlesztői környezet (IDE) IDE segítségével komplex projekteket kezelhetünk, amiben rengeteg segítséget kapunk Segítségével láthatunk akár egy virtuális telefonképernyőt is amibe behúzhatunk elemeket (UI), majd leprogramozhatjuk a viselkedésüket Az elemek tulajdonságainak a beállításaiban sok értéket egyszerűen átírhatunk A projektünkhöz tipikusan sok forrásfájl, multimédia (resource) tartozik, amiket könnyen kezelhetünk Kódolás közben javaslatokat tesz és hibákat is jelez

Android Studio (IDE)

Android Studio (IDE)

Android Studio (IDE) http://developer.android.com/training/index.html