Upload
sweidan-omar
View
213
Download
0
Embed Size (px)
Citation preview
8/3/2019 08 J2ME_alapok_v4
1/51
BME-AAIT 2010 A Java ME Platform Alapjai 1
A Java ME Platform Alapjai
Budapesti Mszaki s Gazdasgtudomnyi Egyetem
Automatizlsi s Alkalmazott Informatika Tanszk
Ekler Pter
A Java ME Platform
Alapjai
8/3/2019 08 J2ME_alapok_v4
2/51
BME-AAIT 2010 A Java ME Platform Alapjai 2
GyorskrdsMire szolgl a JSR-75?
8/3/2019 08 J2ME_alapok_v4
3/51
BME-AAIT 2010 A Java ME Platform Alapjai 3
Tartalom
Bevezets
A Java ME technolgia ltalnos ttekintse
Java ME konfigurcik
CDC CLDC
Mobile Information Device Profile (MIDP)
A fbb Java Specification Request (JSR)-ek bemutatsa
MIDletek
MIDlet letciklus
Egyszer MIDlet ksztse
sszefoglals
Teszt
8/3/2019 08 J2ME_alapok_v4
4/51
BME-AAIT 2010 A Java ME Platform Alapjai 4
Bevezets A mobilkommunikci szerepe s piaca talakulbanvan:
Multimdis anyagok (hang s vide) sszelltsa, elkldse,megtekintse
Adatkommunikcit ignybevev zleti alkalmazsok
Szrakoztat, mr-mr a kzi jtkkonzolok minsgtmegkzelt jtkok futtatsa
j technolgik magtl rtetd alkalmazsa
Mobil opercis rendszerek
Platformfggetlen megolds mobil kszlkekre: JavaME
8/3/2019 08 J2ME_alapok_v4
5/51
BME-AAIT 2010 A Java ME Platform Alapjai 5
Demo I.
8/3/2019 08 J2ME_alapok_v4
6/51
BME-AAIT 2010 A Java ME Platform Alapjai 6
Platformfggetlen - Java Java ME szorosan kapcsoldik az opercis
rendszerekhez
Java alap alkalmazsok alapelve:
Az opercis rendszerre pl a Java virtulis gp Az alkalmazsok ezen virtulis gpen keresztl rik
el az opercis rendszer szolgltatsait
A fentiekbl kvetkezik a platformfggetlensg
8/3/2019 08 J2ME_alapok_v4
7/51 BME-AAIT 2010 A Java ME Platform Alapjai 7
A Java virtulis gp elhelyezkedse
8/3/2019 08 J2ME_alapok_v4
8/51 BME-AAIT 2010 A Java ME Platform Alapjai 8
Tartalom
Bevezets
A Java ME technolgia ltalnos ttekintse
Java ME konfigurcik
CDC CLDC
Mobile Information Device Profile (MIDP)
A fbb Java Specification Request (JSR)-ek bemutatsa
MIDletek
MIDlet letciklus
Egyszer MIDlet ksztse
sszefoglals
Teszt
8/3/2019 08 J2ME_alapok_v4
9/51 BME-AAIT 2010 A Java ME Platform Alapjai 9
Java platformok
Java platformok (cskken sorrendben): J2EE (Java Platform, Enterprise Edition)
J2SE (Java Platform, Standard Editon)
Java ME (Java Platform, Micro Editon) A Java ME platformot fknt begyazott
eszkzkre val fejlesztshez talltk ki, mintpldul a PDA-k, mobil telefonok, stb.
Java ME is szabvnyostott API (ApplicationProgramming Interface)-val rendelkezik
8/3/2019 08 J2ME_alapok_v4
10/51 BME-AAIT 2010 A Java ME Platform Alapjai 10
Java technolgia elnyeiA Java ME platform biztostja a Java
technolgia elnyeit mobil kszlkeken:
Rugalmas felhasznli fellet
Robosztussg
Hlzati s off-line alkalmazsok tmogatsa
Hlzati protokollok tmogatsa
8/3/2019 08 J2ME_alapok_v4
11/51 BME-AAIT 2010 A Java ME Platform Alapjai 11
Java ME platform cljaLehetv teszi Java alkalmazsok
futtatst korltozott kpessgkszlkeken:
Kis kijelz Kevs memria
Korltozott energiaellts
8/3/2019 08 J2ME_alapok_v4
12/51 BME-AAIT 2010 A Java ME Platform Alapjai 12
Java technolgia fbb elemei
CDC
JVM JVM JVM
Java 2 PlatformEnterprise
Edition (J2EE)
OptionalPackages
Java 2 PlatformStandard Edition
(J2SE)
OptionalPackages
FoundationProfile
Personal Profile
PersonalBasis Profile
OptionalPackages
CLDC
KVM
MIDP
OptionalPackages
Java Card
Card VM
Java 2 Platform Micro Edition
Szerverek s
vllalati gpek
Szerverek s PC-k Fels kategris
PDA-k, begyazotteszkzk
Mobil telefonok,egyszerbb PDA-k
Smart-krtyk
8/3/2019 08 J2ME_alapok_v4
13/51 BME-AAIT 2010 A Java ME Platform Alapjai 13
Java platformok
J2EE: a legbvebb platform mely leginkbbvllalati mret alkalmazsok fejlesztsrehasznlatos
J2SE: ltalnos, desktop alkalmazsok, valamint
appletek fejlesztsre hasznljk Java ME:
Legszkebb API-val rendelkez platform
Lecskkentette az API ltal biztostott funkcikat,
hogy a mobil kszlkek legszlesebb skljnalkalmazhat legyen
8/3/2019 08 J2ME_alapok_v4
14/51 BME-AAIT 2010 A Java ME Platform Alapjai 14
Java ME technolgiaA technolgia elemei:
Konfigurcik
Profilokat
Opcionlis csomagok
Ezen elemekbl pl fel a teljes Java
futtatkrnyezet (JRE, Java RuntimeEdition) a mobil kszlkeken
8/3/2019 08 J2ME_alapok_v4
15/51 BME-AAIT 2010 A Java ME Platform Alapjai 15
Tartalom
Bevezets
A Java ME technolgia ltalnos ttekintse
Java ME konfigurcik
CDC CLDC
Mobile Information Device Profile (MIDP)
A fbb Java Specification Request (JSR)-ek bemutatsa
MIDletek
MIDlet letciklus
Egyszer MIDlet ksztse
sszefoglals
Teszt
8/3/2019 08 J2ME_alapok_v4
16/51 BME-AAIT 2010 A Java ME Platform Alapjai 16
Java ME Konfigurcik Konfigurci:
Virtulis gp
Meghatrozott knyvtrhalmaz
Az azonos konfigurcik biztostjk az egykategriba tatoz eszkzk szmra azalapfunkcionalitsokat: memria kezels, hlzatkezels, stb.
Jelenleg kt konfigurci ltezik: CDC (Connected Device Configuration)
CLDC (Connected Limited Device Configuration)
8/3/2019 08 J2ME_alapok_v4
17/51 BME-AAIT 2010 A Java ME Platform Alapjai 17
CDC (Connected Device Configuration)
Kt f szempont: A J2SE-vel val kompatibilits megtartsa
Korltozott erforrssal rendelkez kszlkek tmogatsa
Tmogatja a teljes Java virtulis gp specifikcit
Osztly szinten a CDC a J2SE kevesebb memrivalrendelkez kszlkekre optimalizlt osztlyknyvtrthasznlja
Flexibilis Java futtatkrnyezet, mely ~2MB RAM-mal s
~2MB ROM-mal gazdlkodik
8/3/2019 08 J2ME_alapok_v4
18/51 BME-AAIT 2010 A Java ME Platform Alapjai 18
CLDC (Connected Limited Device Configuration) I.
Telefonok szigor memriakorltaihozigaztottk
Klnfle megszortsok a virtulis gp s
az osztlyknyvtrak ternOsztlyknyvtrak sok esetben
klnbznek a J2SE-tl
8/3/2019 08 J2ME_alapok_v4
19/51 BME-AAIT 2010 A Java ME Platform Alapjai 19
CLDC (Connected Limited Device Configuration) II.
Nincs lebegpontos tmogats Az Object.finalize() metdus hinyzik
A hibakezels korltozott
Natv kd nem hasznlhat
Nincs lehetsg az osztlybetlts befolysolsra
Vgrehajtsi szlak vannak, de szlcsoportok sdmonok nincsenek
A gyenge hivatkozsok hinyoznak Az osztlyok ellenrzse eltren van megvalstva
8/3/2019 08 J2ME_alapok_v4
20/51 BME-AAIT 2010 A Java ME Platform Alapjai 20
CLDC (Connected Limited Device Configuration) III.
A J2SE-tl val klnbsgek mrjelentsnek nevezhetk
Nagyobb tuds s nagyobb memrival
rendelkez mobil kszlkek szmrakibvtettk a CLDC specifikcit
1.1-es verziban mr tmogatottak a
lebegpontos szmtsok, valaminthasznlhatk gyenge referencik
8/3/2019 08 J2ME_alapok_v4
21/51 BME-AAIT 2010 A Java ME Platform Alapjai 21
Tartalom
Bevezets
A Java ME technolgia ltalnos ttekintse
Java ME konfigurcik
CDC CLDC
Mobile Information Device Profile (MIDP)
A fbb Java Specification Request (JSR)-ek bemutatsa
MIDletek
MIDlet letciklus Egyszer MIDlet ksztse
sszefoglals
Teszt
8/3/2019 08 J2ME_alapok_v4
22/51 BME-AAIT 2010 A Java ME Platform Alapjai 22
MIDP (Mobile Information Device Profile) I.
A CLDC-vel egytt nevezzk a Java mobileszkzkre val futtatkrnyezetnek(JRE)
A MIDP s a CLDC egytt dinamikus sbiztonsgos platformot definil
Segtsgvel olyan alkalmazsok rhatk,
melyek a korszer mobil kszlkekrevannak optimalizlva
8/3/2019 08 J2ME_alapok_v4
23/51 BME-AAIT 2010 A Java ME Platform Alapjai 23
MIDP (Mobile Information Device Profile) II.
A grafikus felhasznli felletet a mobilkszlkekhez igaztottk:
Kis mret kijelz
Korltozott kpessg beviteli eszkzk
8/3/2019 08 J2ME_alapok_v4
24/51 BME-AAIT 2010 A Java ME Platform Alapjai 24
MIDP hardware kvetelmnyek
A kijelzvel szemben tmasztott minimlis kvetelmnyek: 96x54-esfelbonts, 1 bit-es sznmlysg, kzel ngyzet alak pixel Legalbb egy felhasznli input eszkzk meglte a kvetkezk
kzl: egykezes billentyzet, ktkezes billentyzet, rintkperny
256 kB nem felejt memria a MIDP-nek ezenkvl 8 kB memria azalkalmazsoknak
128 kB felejt memria (heap) Hlzattal szemben tmasztott kvetelmnyek: ktirny rdis
csatorna, korltozott svszlessg
Hang kezelssel szemben tmasztott kvetelmnyek: hangoklejtszsra alkalmas HW eszkz vagy valamilye SW algoritmus
8/3/2019 08 J2ME_alapok_v4
25/51
BME-AAIT 2010 A Java ME Platform Alapjai 25
Demo II.
8/3/2019 08 J2ME_alapok_v4
26/51
BME-AAIT 2010 A Java ME Platform Alapjai 26
MIDP software kvetelmnyek I. Eszkzk szoftverei sok esetben igen komolyan
eltrnek egymstl
Nhny mobil eszkz teljes opercis
rendszerrel, multiprocesszing tmogatssal shierarchikus fjlstruktrval rendelkezik, mgms eszkzk kis, szlalap opercisrendszerrel rendelkeznek, fjlrendszer nlkl
8/3/2019 08 J2ME_alapok_v4
27/51
BME-AAIT 2010 A Java ME Platform Alapjai 27
MIDP software kvetelmnyek II.
Minimlis kernel, amely kezeli a hardvert (megszaktsok, kivtelek,minimlis temezs) A kernel alkalmas legyen legalbb egy virtulis gp futtatsra
A kszlk szoftvere biztostsa a nem felejt memribl a valolvass, illetve az oda trtn rs lehetsgt
Olvassi s rsi hozzfrs az eszkz rdis hlzati kapcsolatnkeresztl
Idkezels
Minimlis bitmap megjelentsi kpessg a grafikus kijelzn
Legalbb 1 input eszkz kezelse a korbban felsoroltak kzl
Az alkalmazs letciklusnak kezelse
8/3/2019 08 J2ME_alapok_v4
28/51
BME-AAIT 2010 A Java ME Platform Alapjai 28
Tartalom
Bevezets
A Java ME technolgia ltalnos ttekintse
Java ME konfigurcik
CDC CLDC
Mobile Information Device Profile (MIDP)
A fbb Java Specification Request (JSR)-ek bemutatsa
MIDletek
MIDlet letciklus Egyszer MIDlet ksztse
sszefoglals
Teszt
8/3/2019 08 J2ME_alapok_v4
29/51
BME-AAIT 2010 A Java ME Platform Alapjai 29
Optional packages - JSR
A CLDC s MIDP fltt helyezkednek el a JSR-ek
A kszlkekben tallhat klnfle funkcikat
teszik elrhetv a Java virtulis gpen(bluetooth, filerendszer, stb.)
Az opcionlis csomagokkal kibvtve a Java MEplatform jobban ki tudja hasznlni az adott
kszlk kpessgeit
8/3/2019 08 J2ME_alapok_v4
30/51
BME-AAIT 2010 A Java ME Platform Alapjai 30
JSR 82 - Bluetooth API
Szolgltatsok regisztrlsa Kszlkek s szolgltatsok keresse
Kapcsolat ltrehozsa RFCOMM, L2CAP, sOBEX(Object Exchange) alapokon
Adatok kldse s fogadsa Kapcsolatok felgyelete
Biztonsg szavatolsa a fent felsorolt szolgltatsokra
Bluetooth Control Center(BCC) elklnti azalkalmazsok csatorna-hasznlatt
8/3/2019 08 J2ME_alapok_v4
31/51
BME-AAIT 2010 A Java ME Platform Alapjai 31
JSR 135 - Mobile Media API
Hangok s zenk (pl.: mp3) lejtszsa,felvtele
Videk lejtszsa s felvtele
Kpek megjelentse s mentse akamerrl
8/3/2019 08 J2ME_alapok_v4
32/51
BME-AAIT 2010 A Java ME Platform Alapjai 32
JSR 172 - Web service API
Webszolgltatsok elrse mobilkszlkekrl
Fejlesztkrnyezetek ltal tmogatott
kdgenertor a hlzati kapcsolatelfedsre
Nem tmogatja a webszolgltatsok
nyjtst
8/3/2019 08 J2ME_alapok_v4
33/51
BME-AAIT 2010 A Java ME Platform Alapjai 33
JSR 75 - FileConnection API
Tmogatja a mobil kszlkfjlrendszernek elrst
Knyvtrak kezelse
Fjlok ltrehozsa, trlse, rsa solvassa
Nincs vletlen fjl elrs, a fjlokat csakInput- s OutputStream-eken rhetjk el
8/3/2019 08 J2ME_alapok_v4
34/51
BME-AAIT 2010 A Java ME Platform Alapjai 34
JSR 75 PIM API
Contactok elrsCalendar elrse
TODO lista
8/3/2019 08 J2ME_alapok_v4
35/51
BME-AAIT 2010 A Java ME Platform Alapjai 35
JSR 226 - SVG API
SVG tmogats
8/3/2019 08 J2ME_alapok_v4
36/51
BME-AAIT 2010 A Java ME Platform Alapjai 36
Tartalom
Bevezets
A Java ME technolgia ltalnos ttekintse
Java ME konfigurcik
CDC CLDC
Mobile Information Device Profile (MIDP)
A fbb Java Specification Request (JSR)-ek bemutatsa
MIDletek
MIDlet letciklus Egyszer MIDlet ksztse
sszefoglals
Teszt
8/3/2019 08 J2ME_alapok_v4
37/51
BME-AAIT 2010 A Java ME Platform Alapjai 37
Telepts
JDK
NetBeans 6.8 (mobility pack, Java MESDK 3.0 (emultor))
3.0 helyett Java ME WTK 2.5.2
www.netbeans.org
http://www.netbeans.org/http://www.netbeans.org/http://www.netbeans.org/http://www.netbeans.org/http://www.netbeans.org/8/3/2019 08 J2ME_alapok_v4
38/51
BME-AAIT 2010 A Java ME Platform Alapjai 38
MIDlet
A MIDP krnyezetben fut Javaalkalmazsokat MIDleteknek nevezzk
A MIDleteket egy alkalmazsmanager
(AMS) kezeli
Egy MIDletnek hrom llapota van: Active,Paused, Destroyed
8/3/2019 08 J2ME_alapok_v4
39/51
BME-AAIT 2010 A Java ME Platform Alapjai 39
MIDlet letciklus modell
8/3/2019 08 J2ME_alapok_v4
40/51
BME-AAIT 2010 A Java ME Platform Alapjai 40
MIDlet vzimport javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class HelloMidlet extends MIDlet
{
public void startApp() {
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {}
}
8/3/2019 08 J2ME_alapok_v4
41/51
BME-AAIT 2010 A Java ME Platform Alapjai 41
Egyszer MIDlet kszts I. Els lpsknt a packag-ek importolsaszksges:import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
Szrmazs a MIDleta CommandListenerinterfsz implementlsa, mely a felhasznlltal kiadott parancsok kezelsrt felels:
public class HelloMidlet extends MIDlet implementsCommandListener
8/3/2019 08 J2ME_alapok_v4
42/51
BME-AAIT 2010 A Java ME Platform Alapjai 42
Egyszer MIDlet kszts II. Ezt kveti a szksges vltozk konstruktorbantrtn inicializlsa:private Form form;
private Display display;
private Command exitCommand;
public HelloMidlet()
{
form = new Form("Hello");
display = Display.getDisplay(this);
exitCommand = new Command("Exit", Command.SCREEN,1);
}
8/3/2019 08 J2ME_alapok_v4
43/51
BME-AAIT 2010 A Java ME Platform Alapjai 43
Egyszer MIDlet kszts III.
Az alkalmazs astartApp()
metdus meghvsval indul, melybenhozzadjuk a megjelentst megvalsto Form-hoz azesemnykezelt s egy szvegelemet, illetve megjelentjk akijelzn a Form-ot:
public void startApp()
{
form.addCommand(exitCommand);
form.setCommandListener((CommandListener)this);
form.append(new StringItem("Hello", "HelloWorld!"));
display.setCurrent(form);}
8/3/2019 08 J2ME_alapok_v4
44/51
BME-AAIT 2010 A Java ME Platform Alapjai 44
Egyszer MIDlet kszts IV. Vgl szksgnk van mg a felhasznl ltal kldtt parancsok
(menk) feldolgozst vgz fggvnyre, mely esetnkben csupn akilps menpont megvalstsrt felels:
public void commandAction(Command command,Displayable screen)
{
if ( command == exitCommand ){
destroyApp(true);
notifyDestroyed();
}
}
8/3/2019 08 J2ME_alapok_v4
45/51
BME-AAIT 2010 A Java ME Platform Alapjai 45
Az elkszlt MIDlet
8/3/2019 08 J2ME_alapok_v4
46/51
Szlkezels Java ME platformon
Blokkold mveletek (hlzatkezels, filekezels, stb.) mindig a UI-tl klnbzszlban fussanak!
class MyJob extends Thread {
public void run()
{
// feladat vgrehajtsa akr ciklusban
}
}
// meghvs kvlrl
new MyJob(/*esetleges paramterek*/).start();
BME-AAIT 2010 A Java ME Platform Alapjai 46
8/3/2019 08 J2ME_alapok_v4
47/51
BME-AAIT 2010 A Java ME Platform Alapjai 47
Tartalom
Bevezets
A Java ME technolgia ltalnos ttekintse
Java ME konfigurcik
CDC CLDC
Mobile Information Device Profile (MIDP)
A fbb Java Specification Request (JSR)-ek bemutatsa
MIDletek
MIDlet letciklus Egyszer MIDlet ksztse
sszefoglals
Teszt
8/3/2019 08 J2ME_alapok_v4
48/51
BME-AAIT 2010 A Java ME Platform Alapjai 48
sszefoglals
Java ME technolgia: Konfigurcik (CDC/CLDC)
Profilok (MIDP)
Kiegsztsek (JSR)MIDlet: A MIDP krnyezetben fut Java
alkalmazs
MIDlet letciklus: Active, Paused,Destroyed
8/3/2019 08 J2ME_alapok_v4
49/51
BME-AAIT 2010 A Java ME Platform Alapjai 49
Tartalom
Bevezets
A Java ME technolgia ltalnos ttekintse
Java ME konfigurcik
CDC CLDC
Mobile Information Device Profile (MIDP)
A fbb Java Specification Request (JSR)-ek bemutatsa
MIDletek
MIDlet letciklus Egyszer MIDlet ksztse
sszefoglals
Teszt
8/3/2019 08 J2ME_alapok_v4
50/51
BME-AAIT 2010 A Java ME Platform Alapjai 50
Teszt
1. Mi a Java platformfggetlensg alapja?2. Milyen Java platformok lteznek?
3. Mit neveznk MIDletnek?
4. Rajzolja fel a MIDlet letciklus modellt!
8/3/2019 08 J2ME_alapok_v4
51/51
Krdsek