Sunteți pe pagina 1din 4

TEHNOLOGII JAVA PENTRU DEZVOLTAREA APLICAIILOR

LUCRARE DE LABORATOR 22

J2ME Aplicatii Java Mobile


I. SCOPUL LUCRRII
Lucrarea de fa are rolul de a prezenta i familiariza studentul cu modul de implementare si rulare a aplicatiilor mobile, folosind tehnologia Java: J2ME. La sfritul acestei lucrri, studentul va avea posibilitatea s scrie aplicatii Java n care s utilizeze noiunile nvate.

II. NOIUNI TEORETICE


Vezi curs. JWTK (Java Wireless ToolKitt) este responsabil de dezvoltarea i testarea claselor ce compun aplicaiile pentru device-uri mobile. Astfel, avei posibilitatea de a testa programe deja realizate sau putei s concepei chiar voi aplicaiile ce v intereseaz. Desigur, emulatorul implicit ofer n cea mai mare parte toate funciile necesare pentru a v testa aplicaiile. Dar poate veti dori s vedei cum va arata aplicaia pe un anumit model de terminal. Aici intr n joc posibilitatea de a instala noi emulatoare de terminale, printre care cele oferite de Nokia. Fr a face publicitate ascuns, trebuie s spunem c Nokia este poate cel mai important productor de tehnologie de comunicaii care suport i sprijin Java, deci are un mare rol n dezvoltarea J2ME. Un program Java pentru device-uri mobile se numete MIDLet (un echivalent al appleturilor Java pentru browserele Web). Exemple Este un adevr general valabil faptul c un exemplu face ct zeci de pagini de prezentare stufoas pentru o tehnologie, pentru un aparat, sau orice altceva Lucrarea de laborator v ofera exemple despre J2ME, tehnologia mobil Java, sau ce a fcut Java pentru a ajunge pe terminalele mobile a multor utilizatori de azi. Iata mai jos un exemplu simplu de MIDlet, care va afisa pe ecranul terminalului mobil: Bine ati
venit in J2ME.

import javax.microedition.lcdui.*; import javax.microedition.midlet.*;

public class FirstMIDlet extends MIDlet implements CommandListener { private Display display=null;

private TextBox tbMain; private Command cmExit; public FirstMIDlet(){ cmExit= new Command("Exit", Command.SCREEN, 1); tbMain= new TextBox("TextBox", "Bine ati venit in J2ME", 50,0); tbMain.addCommand(cmExit); tbMain.setCommandListener(this); } public void startApp() { if (display==null) display=Display.getDisplay(this); display.setCurrent(tbMain); } public void pauseApp(){} public void destroyApp(boolean unconditional){} public void commandAction(Command c, Displayable s) { if(c==cmExit) { destroyApp(false); notifyDestroyed(); } } }

In continuare vom prezenta un MIDlet care implementeaza o lista simpla cu doua obiecte: Coffee Beans si Chocolate. import javax.microedition.lcdui.*; import javax.microedition.midlet.*;

public class SecondMIDlet extends MIDlet implements CommandListener { private Display display=null; private List lsMain; private Command cmExit; public SecondMIDlet(){ cmExit= new Command("Exit", Command.SCREEN, 1); 2

lsMain= new List("List", Choice.IMPLICIT); lsMain.append("Coffee Beans", null); lsMain.append("Chocolate", null); lsMain.addCommand(cmExit); lsMain.setCommandListener(this); } public void startApp() { if (display==null) display=Display.getDisplay(this); display.setCurrent(lsMain); } public void pauseApp(){} public void destroyApp(boolean unconditional){} public void commandAction(Command c, Displayable s) { if(c==cmExit) { destroyApp(false); notifyDestroyed(); } } } Resurse http://www.java.sun.com www.wireless.java.sun.com www.nokia.com

III. MODUL DE LUCRU

Pentru a putea s dezvoltai propriile aplicaii n Java pentru telefoanele voastre mobile, folosind tehnologia J2ME, trebuie sa aveti instalate urmatoarele 1. Java 2 Standard Edition (v. 1.4.2 sau mai evoluata), adic necesarul pentru a programa n Java; include compilatorul Java, maina virtual Java, i alte unelte de dezvoltare i documentare. 2. J2ME Wireless ToolKitt, cel care se ocup de partea mobil a Java, i care v ajut s realizai i s testai aplicaii scrise pentru device-uri mobile. Exist i varianta de a downloada i instala i alte unelte de dezvoltare, dar aceasta este configuraia minim 3

pentru a putea s lucrai. De remarcat c aceste dou pachete sunt disponibile i att pentru Linux, ct i pentru Windows. Presupunnd c lucrai pe platform Windows (2000, XP, etc) pentru a realiza un nou proiect, trebuie s faceti urmatorii pasi: 1. Start -> Programs -> J2ME Wireless Toolkit 2.0 -> Ktoolbar pentru a porni aplicaia KToolbar, aplicaie care v ajut la realizarea de proiecte J2ME. 2. Apsai pe butonul New Poject pentru a ncepe un nou proiect, i introduceti numele proiectului, precum i al clasei MIDLet-ului vostru. 3. Apasnd butonul Create Project va apare pe ecran fereastra cu opiuni i setri ale proiectului. Opiunea foarte important este aceea numit "MicroEdition-Profile" pe care o vei seta la MIDP-1.0 pentru a asigura compatibilitatea cu device-urile care folosesc ca specificaie MIDP-1.0 (majoritatea device-urilor din ziua de azi, dei cele mai noi i moderne au trecut la specificaii mai avansate). 4. Apasnd butonul OK setrile proiectului vor fi salvate, i putei trece la scrierea codului sursa pentru MIDLet. Dupa ce ati terminat crearea proiectului, atunci pe ecran vor apare setrile proiectului nostru, incluznd directoarele n care se vor copia sursele programului, bibliotecile folosite, i alte resurse. n cazul nostru, dac am denumit proiectul nostru ca fiind Proiect1, atunci directorul unde trebuie s copiem o clas pentru a o compila i pentru a rula programul este c:\WTK20\apps\ Proiect1\src. Scrierea codului Java se face ca pentru orice aplicaie, n orice editor de text. De remarcat c numele clasei principale trebuie s fie cel declarat la crearea proiectului, iar denumirea fiierului cu extensie .java trebuie s fie aceeai cu numele clasei. Odat realizate aceste deziderate, apsai butonul Build i dac totul este ok, i sursa este corect scris, atunci suntei gata s rulai prima voastr aplicaie Java2ME. Apsai Run i emulatorul de telefon prezent n J2WTK pornete, deci vei putea s vedei rezultatul codului scris de voi.

IV. TEM
1. Se vor parcurge exemplele prezentate n platforma de laborator testndu-se practic. 2. Scrieti o aplicatie J2ME(MIDlet) care afiseaza 2 intrebari referitoare la 2 imagini cu posibilitatea de a alege raspunsul corect din 3 variante date. La sfirsit va afisa punctaj obtinut in functie de raspunsurile date