Mobil eszközök objektumorientált programozása, a Java2 Micro Edition Object-oriented Programming Language for Mobile Devices J2ME



Hasonló dokumentumok
Kétszemélyes játék Bluetooth kapcsolaton megvalósítva

Szoftver labor III. Tematika. Gyakorlatok. Dr. Csébfalvi Balázs

A mobil játékfejlesztés elméleti és gyakorlati momentumai

Operációs rendszerek. Az X Window rendszer

Internetes böngésző fejlesztése a mobil OO világban

Java I. A Java programozási nyelv

1. Digitális írástudás: a kőtáblától a számítógépig 2. Szedjük szét a számítógépet Szedjük szét a számítógépet 2.

Mérési útmutató a JAVA Micro Edition méréshez

Szakköri segédanyag. Írta: Bátfai Norbert október 26.

1. MODUL - ÁLTALÁNOS FOGALMAK

TARTALOMJEGYZÉK 1 BEVEZETÉS MIÉRT ÉPPEN JAVA MIDP 2.0? A JAVA NYELV LEGFŐBB TULAJDONSÁGAI MIT ÍGÉR A MIDP 2.0?...

Java I. A Java programozási nyelv

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

Mire nem jó egy telefon!

A J2EE fejlesztési si platform (application. model) 1.4 platform. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

Eseménykezelés. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor.

Szoftver-technológia II. Szoftver újrafelhasználás. (Software reuse) Irodalom

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

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

Az Ön kézikönyve HTC TOUCH PRO2

Felhasználói kézikönyv. Verzió: 1.01

Tartalomjegyzék. I. rész: Bevezető ismeretek. II. rész: PyS Bevezetés a mobiltechnológiákba Mobilszoftverplatformok...

Szoftver újrafelhasználás

Web-fejlesztés NGM_IN002_1

Bevezetés a Symbian operációs rendszerbe

Közösség, projektek, IDE

Csoportos üzenetszórás optimalizálása klaszter rendszerekben

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

Mobil szolgáltatások és alkalmazások fejlesztése

Bevezetés A harmadik szoftverkrízis korát éljük! Szoftverkrízisek: 1. nincs elég olcsó: hardver, szoftver, programozó 2. nincs elég olcsó: szoftver, p

Mobil Informatikai Rendszerek

Programozás. Bevezetés. Fodor Attila. Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék

Alkalmazások fejlesztése A D O K U M E N T Á C I Ó F E L É P Í T É S E

Elosztott rendszer architektúrák

CLICK ON... Termékismertető

Cloud computing. Cloud computing. Dr. Bakonyi Péter.

IK Algoritmusok és Alkalmazásaik Tsz, TTK Operációkutatás Tsz. A LEMON C++ gráf optimalizálási könyvtár használata

Fejlett kereső és lekérdező eszközök egy elektronikus szakfolyóirathoz (IBVS)

Már megismert fogalmak áttekintése

Internet programozása. 1. előadás

SZÁMÍTÓGÉP FELÉPÍTÉSE (TK 61-TŐL)

Utolsó módosítás:

Java alkalmazás fejlesztése mobiltelefonra

A szoftverfejlesztés eszközei

Informatika. 3. Az informatika felhasználási területei és gazdasági hatásai

VIRTUÁLIS GRAFFITI ÜZENETHAGYÓ RENDSZER

EgroupWare: A csoportmunka megoldás

Napjainkban a korábbiaknál is nagyobb szükségünk van arra, hogy eszközeink rugalmasak legyenek és gyorsan igazodjanak a változó környezethez.

Könyvtári címkéző munkahely

Mobil eszközök programozása Java

III. Alapfogalmak és tervezési módszertan SystemC-ben

BIG DATA ÉS GÉPI TANULÁS KÖRNYEZET AZ MTA CLOUD-ON KACSUK PÉTER, NAGY ENIKŐ, PINTYE ISTVÁN, HAJNAL ÁKOS, LOVAS RÓBERT

A Skype architektúrája. P2P hálózat Supernode ok, peer-ek, login server

Az Ön kézikönyve HTC TOUCH DIAMOND2

ANDROID ALKALMAZÁS FEJLESZTÉS

Cloud computing Dr. Bakonyi Péter.

Mobil Informatikai Rendszerek

Adatbázis rendszerek. dr. Siki Zoltán

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

Elektronikus kereskedelem

SZAKDOLGOZAT. Király Edit. Debrecen

mlearning Mobil tanulás a gyakorlatban

Mobilprogramozás tanárként

JAVA SE/ME tanfolyam tematika

Copyright 2012, Oracle and/or its affiliates. All rights reserved.

Használati. útmutató

Párhuzamos programozási platformok


A Java nyelv bemutatása

Az Ön kézikönyve OMRON CX-ONE

Adatbázis-kezelő rendszerek. dr. Siki Zoltán

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

Párhuzamos programozási platformok

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

Iman 3.0 szoftverdokumentáció

1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben?

WAP. A Wireless Application Protocol (WAP) a vezetéknélküli eszközök (pl. mobiltelefonok, PDA-k) számára készített alkalmazások nemzetközi szabványa.

Operációs rendszerek. Az NT folyamatok kezelése

MOODLE mobileszközön


Vizuális, eseményvezérelt programozás X. V 1.0

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

Fejlesztés, működtetés, felügyelet Hatékony infrastruktúra IBM szoftverekkel

30 MB INFORMATIKAI PROJEKTELLENŐR

TELEPÍTÉSI ÚTMUTATÓ SW

I. Bevezetés. 1. ábra A Java "logója"


802.11b/g WLAN USB adapter. Wi-Fi detektorral. Gyors telepítési útmutató

Küls memóriakártyák. Dokumentum cikkszáma: Ez az útmutató a külső memóriakártyák használatát ismerteti január

Szegedi Tudományegyetem Informatikai Tanszékcsoport SZAKDOLGOZAT. Fertői Ferenc

Tartalomjegyzék. Előszó... 10

Utolsó módosítás:

Közbeszerzési rendszerek Informatikai Biztonsági Szabályzata

Élettartam teszteknél alkalmazott programstruktúra egy váltóvezérlő példáján keresztül

Felhasználói kézikönyv. funscreen EM73 Tablet

OPERÁCIÓS RENDSZEREK. Elmélet

Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések. 1. Mi a programozás?

Technikai tájékoztató - kérdések és válaszok TSD-QA89 (2011/11)

Prolan Zrt. fejlesztéseiben. Petri Dániel

VIRTUALIZÁCIÓS TECHNOLÓGIÁK EUCALYPTUS CLOUD PLATFORM

Átírás:

Mobil eszközök objektumorientált programozása, a Java2 Micro Edition Object-oriented Programming Language for Mobile Devices J2ME VARJASI Norbert Széchenyi István Egyetem, Gy/r Számítástechnika Tanszék Abstract The spreading of Java enabled devices in everyday life and the effective object-oriented softwares written for these devices can mean new directions and possibilities in IT training in the future. In my presentation I am going to give an overview of the structure of Java Micro Edition, which has been created for the development of mobile applications, and the application models based on it. Keywords: MIDlets, wireless programming, MIDP programming Összefoglaló A Java-képes eszközök mindennapos elterjedése és ezen eszközökre írt hatékony objektum-orientált programok (a továbbiakban mobil-oo, MIDlet) az informatikus-képzés új irányait és lehetségeit jelenthetik a jövben. Az alábbiakban bemutatom a mobil alkalmazások fejlesztésére megalkotott Java Micro Edition felépítését, az erre épül alkalmazás-modelleket. Kulcsszavak: MIDletek, vezetéknélküli fejlesztés, mobilprogramozás, MIDP A mobil eszközök Napjainkban az elterjedt mobil szolgáltatások és lehetségek többféleképpen csoportosíthatók. Egy lehetséges összeállítás szerint a mobil eszközök az alábbi területeken érik el a szolgáltatásokat: mobil kommunikáció (email, SMS stb.) mobil kereskedelem (aukciók, bank, utazás) mobil információtartalom (helyfügg szolgáltatások, hírek, idjárás) mobil szórakozás (zene, kép, játék) mobil vállalati szolgáltatások 1. ábra Mobil szolgáltatás igénybevétele Mszaki Szemle 33 27

A Java2 Micro Edition fejlgdése és architektúrája A mobiltelefonok jelenlegi fejldési ütemét felismerve a Sun Microsystems 2000 nyarán bejelentette a MIDP (Mobil Information Device Profile) 1.0-s verzióját [i]. Ennek keretében elsként fogalmazott meg egy szabványos, platformfüggetlen és skálázható mobiltelefon szabványt. Ezzel sikerült a fejlesztk és gyártók érdekldését visszaterelni a Java megoldások felé, és szinte teljes mértékben meghódította a piac ezen szegmensét, hiszen mára már többmillió készülékbe implementálták a Java szoftvert. Az els verzió megjelenésével eleinte csak egyszerbb alkalmazásokat, játékokat és segédprogramokat fejlesztettek (mint a számológépek, e-mail olvasók, a tetris, az aknakeres stb.), de fellelhetk komolyabb algoritmusokat megvalósító útvonaltervez, tzsdei elemz és MP3 lejátszó programok is. A MIDP 2.0 fejlesztésébe már egyre több mobilgyártó cég bekapcsolódott [ii], megalakítva a Java Community Processt (JCP). Így 2002 novemberére, a 2.0-s verzió bejelentésekor már 49 gyártó cég volt tagja a JCP-nek. A hardver és szoftver fejlesztések összehangolásával a mobil eszközök grafikai és audió képességei maximálisan kihasználhatóvá váltak, és sokat fejldött az alkalmazások biztonsága is. A Java2 ME fejldése a konkurens termékekkel szemben a nyílt forráskódnak, a szabványosított fejleszti felületnek köszönhet, mert az egyedi készülékek egyedi megoldásaival szemben szabványos és hordozható alkalmazások fejleszthetk, hiszen a Java alapelvei szerint a megírt szoftver bármilyen készüléken futtatható, függetlenül attól, hogy milyen operációs rendszer és milyen processzor mködik alatta. Maga a Java2 ME nem önálló szoftver, hanem a kisméret elektronikai cikkek piacára tervezett technológiák és szabványok gyjteménye. A platform magját a központi Java könyvtárak és jelenleg két különböz termékekhez fejlesztett konfiguráció adja. A Java2ME rétegei 2. ábra A Java2 kiadásai és a céleszközök 3. ábra A J2ME szabvány logikai szerkezete. Az eszköz operációs rendszere felett futó virtuális gép (VM) az erre épül5 konfiguráció (CDC/CLDC), majd a profil réteg (MIDP/PDAP) 28 Mszaki Szemle 33

A konfigurációs réteg Ezek a Connected Device Configuration (CDC) és a Connected Limited Device Configuration (CLDC) [iii]. A CDC-t a nagyteljesítmény hordozható készülékekhez (kommunikátorok, Net TV dobozok), míg a CLDC-t a kisebb teljesítmény mobiltelefonokhoz, személyhívókhoz tervezték. A CDC a hagyományos Java Virtuális gépet használja, míg a CLDC a K Virtuális gépet, melynek neve arra utal, hogy a mobil eszközökben a rendelkezésre álló erforrások néhány 10 kbájtra korlátozódnak. A KVM olyan 16/32 bites RISC/CISC processzorokkal mködik együtt, melyek 128 kbájtban tárolják a virtuális gépet az osztálykönyvtárakkal és további 32 kbájt áll a futásidej adatok rendelkezésére. A felhasználók számára ez a réteg nem látható, a profil réteg implementálásában kap szerepet, összességében meghatározza a virtuális gép minimális tulajdonságait és az elérhet java osztálykönyvtárakat. A profil réteg A konfigurációkon alapulnak, és ezekre épülnek az egyes készülék-kategóriákat meghatározó profilok. Jelen pillanatban a CLDC-re épül MIDP van használatban, de már fejlesztés alatt áll a PDA Profil is. Összegezve, ez a látható réteg, az API olyan minimális halmaza, amely elérhet az adott eszközcsalád részére, és ez a réteg biztosítja a hordozhatóságot az adott profilt támogató eszközök között. A program-elnevezési tradíciók szerint a CLDC-t és MIDP-t használó Java alkalmazásokat MIDleteknek nevezik. A MIDletek céleszközei tehát olyan mobil eszközök, amelyek minimum 96 x 54 pixeles kijelzvel, billentyzettel vagy érintképernyvel, vezetéknélküli összeköttetéssel és minimum 160 Kbájt memóriával rendelkeznek. A MIDletek jar fájlokba csomagolhatók és szabványos leírófájlok vezérlik a helyes mködésben. A mobil eszközre feltöltött MIDletek mindegyike rendelkezik egy-egy startapp(), pauseapp() és destroyapp() metódussal, melyek az alkalmazás életciklusát vezérlik. Alkalmazásfejlesztés A szakmai fórumokon és a fiatal, már a mobil-kultúrában nevelkedett generációkban élénk az érdekldés a mobil programozás és a MIDletek iránt. Az ingyenesen beszerezhet Java vezetéknélküli fejlesztcsomag (Java Wireless Toolkit [iv]), és a hozzá letölthet emulátorok [v] segítségével olyan alkalmazások készíthetk, amelyek: magas absztrakciós szintet képviselnek, eseményvezéreltek, elterében áll a funkcionalitás, hatékony algoritmusokra ösztönöz, figyelmes és pontos tervezést igényelnek, alkalmasak hálózati, multimédiás mködésre, nagyfokú biztonsággal ruházhatók fel, hordozhatók az egyes eszközök között. A fejlesztésben felhasználható szabványos osztályok a javax.microedition.midlet, lcdui, io, media, rms és a javax.wireless.messaging csomagokban kaptak helyet. Az egyes mobil eszközökhöz letölthetek a fejlesztkörnyezethez írt emulátorok, amelyek tartalmazzák a hardverspecifikus osztálykönyvtárakat is. Mszaki Szemle 33 29

4. ábra A Sun vezetéknélküli fejleszt5csomagja és emulátorok A használt osztályok A MIDP profil alaposztálya a MIDlet. Az emulátorban illetve a mobil eszközökben futó Java kódok belépési pontja a MIDlet osztály konstruktora. 5. ábra A MIDlet osztály A csomag további osztályai definiálják a megjelenítést és az eseménykezelést megvalósító osztályokat. Ezek közül a legfontosabbak az alábbiak: Command eseménykezelés információi, Display képerny és billentyzet magas szint kezelése, vezérlése, Screen absztrakt osztály, minden megjelen elem se, Canvas alacsonyszint grafika és eseményvezérlés, 30 Mszaki Szemle 33

Graphics 2D ábrák osztálya, Image képek, grafika kezelése, Form adatelemek együttes megjelenése, kezelése, Alert egyszer információkijelz ablak, ChoiceGroup választható elemek csoportja (egyszeres, többszörös) List, TextBox, Font, Gauge, Ticker stb. A fejlesztés során figyelemmel kell kísérni, hogy a mobil eszközök csak korlátozott hibakezelést végeznek. Ezért már a fordítás során egy preverifier ellenrzi a kód integritását és az erforrás használatot. Az elkészített alkalmazás feltöltésekor a céleszköz a lefordított kódot ellenrzi, ( verifier ) majd letárolja. Amennyiben az eszköz nem tudja az adott kódot értelmezni, abban az esetben nem engedi a mobil eszköz interpreterének sem futtatni azt. Egy MIDlet futása során csak meghatározott állapotokban állhat. Ezen állapotokat szintén a fent említett MIDlet osztály definiálja. 6. ábra Egy MIDlet életciklusa[2] Összegzés A XXI. század mindennapos eszközeivé váltak a mobiltelefonok, és a felnövekv generációk érdekldéssel fordulnak nemcsak használata, hanem a fejlesztések felé is. A hatékonyabbá és olcsóbbá váló készülékek elterjedésével a mobil eszközök terén otthonosan mozgó szakemberekre lesz szükség. A könnyen átlátató és elsajátítható osztályhierarchia, a rendelkezésre álló szoftverkörnyezet új irányokat és lehetségeket nyújt az objektumorientált technológiák elsajátítása és a fejlesztések eltt. Az erforrások korlátozottsága nem jelent hátrányt, mert a kitzött feladatok és célok csak hatékony és kompakt megoldásokkal oldhatóak meg. A mobil eszközök szerepe napról-napra nyílik meg az újabb lehetségek, mint a kliens-szerver kommunikáció, a nagy sávszélesség és megbízható kapcsolatok, az on-line szolgáltatások eltt, és a piaci érdekldés ebben a szektorban nagyon jelents. [i] [ii] [iii] [iv] [v] Irodalom J2ME White Paper on KVM and the Connected, Limited Device Configuration(CLDC), Sun Microsystems, Inc. May 19.2000. Mobile Information Device Profile, http://java.sun.com/products/midp/ J2ME Step by Step http://www.ibm.com/developerworks/ Java2 Platform Micro Edition, Wireless Toolkit, http://java.sun.com/products/j2mewtoolkit Nokia Mobile Toolset (http://www.forum.nokia.com/) Mszaki Szemle 33 31