Fejlett Webes Technolgik II Bilicki Vilmos 2002 09
Fejlett Webes Technológiák II. Bilicki Vilmos 2002. 09. 23
A mai előadás tartalma: l l l Trendek A Java architektúra MIDP alkalmazás fejlesztés (áttekintés) Fejlesztő eszközök (áttekintés) Telepítés, használat (áttekintés)
Trendek I. l l 100 milliárd sms 2002 végére (Logica) Gene Mobil portál: 5 millió regisztrált WAP felhasználó Interaktív játékékok: 50 millió találat 6 hónap alatt Nokia: • • l 2002 – 50 millió Java technológiával ellátott mobil telefon 2003 – 100 millió Java technológiával ellátott mobil telefon NTT Do. Co. Mo siker japánban (felhasználóként 75000 Ft/hó, 650 Ft havidíj)
Trendek II. l l l Több mobil készülék mint asztali PC A mobil készülék lesz az Internet elérés eszköze Milyen platformot céloznak meg a mobil alkalmazások?
Mobil készülék vs. Asztali PC l l l Kijelző méret Memória Számítási kapacitás Felhasználói interfész Hálózati késleltetés
Nokia felhasználói interfész kategóriák (UI)
A mobil készülék jellemzői l l Személyes Mindég a felhasználóval van Megbízható Vezetékmentes hálózat hozzáférés
A Java platform
A J 2 ME platform
Personal Java, CLDC+MIDP l Personal Java: több memóriával és számítási kapacitással rendelkező készülékek számára: • • l Kommunikátorok Hagyományos JVM technológia CLDC+MIDP: korlátozott erőforrásokkal rendelkező készülékek • • • Közép és alsó kategóriás mobil eszközök Tömegtermékek KVM
CLDC l Connected Limited Device Configuration: • KVM • Alap Java technológia támogatás • Alap Java osztályok • Input/Output • Hálózatkezelés • Hibakeresés
MIDP l Mobile Information Device Profile • Magas szintű API-k • Felhasználói interfész • Alkalmazás életciklus menedzselés • A felhasználó és az alkalmazás • együttműködése Esemény kezelés
MIDlet-ek l MIDP alkalmazások • A MIDP osztályból származnak • start. App() • pause. App() • destroy. App() • A felhasználó interfész elemei a MID profil • • segítségével definiáltak Az appletek-hez hasonló életciklus A Java technológia alkalmazás menedzsere (JAM) menedzseli
MIDlet
Rendszer architektúra
MIDP alkalmazás fejlesztés l Fejlesztési lépések: • • • Tervezés/Modellezés Kódolás Fordítás, előellenőrzés Csomagolás Futtatás, hibakeresés emulátoron Tesztelés valós környezetben
MIDP alkalmazás fejlesztés: Modellezés/Tervezés l Modellezés/Tervezés: • Alkalmazás struktúra • UML modellek • Kód vázlatok • Vizuális UI tervek • Kód generálás (UI)
MIDP alkalmazás fejlesztés: Kódolás l Kódolás: • Fejlett forráskód szerkesztő: • Kód kiegészítés • A kódszavak felismerése • Szín kódolás • Automatikus térköz • Billentyűparancsok • Erőforrások: • Kép szerkesztő (. png)
MIDP alkalmazás fejlesztés: Fordítás, előellenőrzés l Fordítás, előellenőrzés: • Bájtkód létrehozása: javac • Az osztályok előellenőrzése: preveifer. exe
MIDP alkalmazás fejlesztés: Csomagolás l Csomagolás: • Az előellenőrzőt osztályokat és erőforrásokat • egy Jar csomagba kell csomagolni Le kell generálni a hozzátartozó jad fájlt is • JAR méret információk • Információ a becsomagolt MIDlet-ekről • A JAR fájl elérési útvonlla
MIDP alkalmazás fejlesztés: Futatás/Hibakeresés l Futatás/Hibakeresés: • • Valós emulátorok – virtuális emulátorok KVM hibakeresés (nincs teljes JPDA) • Debug proxy (Debug Agent) • JPDA részimplementáció
MIDP alkalmazás fejlesztés: Tesztelés valós környezetben l Telepítés: • • Web szerver Hardver
Fejlesztő eszközök a J 2 ME platformoz l SUN referencia megvalósítás: • JAVA 2 SDK 1. 4 • J 2 ME Wireless Toolkit • KVM • CLDC és MIDP osztályok • Emulátorok • Előellenőrző • Dokumentáció • Integrálható a SUN Fortre for Java környezetbe (Java ONE mobile edition)
Fejlesztő eszközök a J 2 ME platformoz l Nokia Developer Suite l Ingyenesen hozzáférhető: • Class wizard • Emulátor konfigurálás/adminisztrálás • Nokia MIDP telefon emulátor • Nokia osztályok • Dokumentáció • www. forum-nokia. com
Nokia fejlesztői környezet felépítése
Fejlesztő eszközök a J 2 ME platformoz l Borland JBuilder 7 personal edition + Nokia Mobile Set
Recept: Telepítés (1 főre) l l Összetevők: • • • JBuilder 7 personal edition JBuilder Mobile Set 3. 01 Nokia Mobile Toolset 1. 0 • • Végy egy JBuilder-t és telepítsd fel (http: //www. borland. com/jbuilder) Végy egy JBuilder Mobile Set 3. 01 -et és telepítsd fel (http: //www. borland. com/jbuilder) (A telepítési útvonal nem tartalmazhat szókőzőket !!!!!) Végy egy Nokia Mobile Toolset 1. 0 -t és telepítsd fel (http: //www. forum. nokia. com) Ízlés szerint töltsd le és telepítsd a megfelelő mobil készülék emulátort (http: //www. forum. nokia. com) Recept: • •
Elkészítés l l Fontos az elkészített környezet még nem használható ! Mivel a JBuilder personal edition ezért csak egy JDK-t használhat !!! Be kell állítanunk a megfelelő JDK-t mely jó esetben a <JBuilder home>J 2 mewtk könyvtárban található (J 2 ME) (vagy használhatjuk a Nokia által telepített JDK-t is) A Tools/Configure JDKs menüre kattintva megjelenik egy ablak ahol be tudjuk állítani a megfelelő JDK-t.
JDK
Fogyasztás (Egy minta program elkészítése) l Hozzunk létre egy új projektet (File/New Projekt) (Az elérési útvonal nem tartalmazhat szóközöket !!!)
Fogyasztás (Egy minta program elkészítése) l l Hozzuk létre alap osztályunkat: Nokia Developer SuiteCreate Class
Fogyasztás (Egy minta program elkészítése) l Írjuk be • a csomag nevét, • az osztályunk nevét, • állítsuk be az ős osztályt (MIDlet) • valamint a megvalósított interfészt (pl. : Command Listener)
Ős osztály
Megvalósított interfész
Eredmény
Fogyasztás (Egy minta program elkészítése) l Írjuk meg kódunkat
public class pelda extends MIDlet protected void start. App() throws implements Command. Listener { MIDlet. State. Change. Exception { private Form udv; display = Display. get. Display(this); private Command exit. Command; display. set. Current(udv); private Display display; text = "Helo Vilag !!!"; private String. Item hello. String; hello. String. set. Text(text); private String text; } public pelda() { udv = new Form("Helo Vilag!"); public void command. Action(Command hello. String = new String. Item("", ""); p 0, Displayable p 1) { udv. append(hello. String); if (p 1 instanceof Form) exit. Command = new Command("Kilep", { Command. EXIT, 1); Form obj = (Form) p 1; udv. add. Command(exit. Command); if (obj == udv) udv. set. Command. Listener(this); if (p 0 == exit. Command) try{ { start. App(); notify. Destroyed(); } } catch(Exception e) } { } } }
Fogyasztás (Egy minta program elkészítése) l l l Fordítás (Projekt/Make …) Csomagolás (Tools/Nokia Dev. . /Create. Appilcation Package) Futtatás (Tools/Nokia Dev. . /Start Emulators) (Előtte jelöljük ki a JAD fájlt)
Csomagolás
Futtatás
A következő óra l CLDC API
- Slides: 41