Dezvoltarea aplicațiilor cu tehnologii mobile

Previzualizare curs:

Extras din curs:

Pentru a crea un nou proiect vom selecta File->New Project iar din fereastra de dialog

nou aparuta vom selecta New Midlet Suite. Acest lucru poate fi vazut in figura de mai jos.

Fig.1.1 Fereastra New Project

De aici inainte, pentru a creea proiectul, se vor urma pasii wizard-ului. O data creat un

proiect, acesta nu va contine nici un fisier pentru cod sursa. In j2ME orice aplicatie trebuie sa fie

o clasa care deriva din clasa MIDlet. In consecinta primul fisier pe care il vom crea in noul

proiect va fi o clasa care va deriva din aceasta clasa MIDlet. Inainte insa de a crea aceasta

clasa trebuie creat un pachet (package) care va contine acest fisier. Daca nici un pachet nu

este creat fisierul va fi continut in pachetul implicit numit “default”. Pentru a crea un pachet nou

trebuie sa dati click dreapta de directorul sursa src si sa selectati new->package. In fereastra de

dialog aparuta se va introduce numele pachetului si se va apasa finish. Figura de mai jos

prezinta rezultatul adaugarii a doua astfel de pachete.

Fig.1.2 Adaugarea de pachete la un proiect

Vom adauga fisierul care reprezinta aplicatia in pachetul midlet. Pentru a face acest

lucru vom da click dreapta pe pachet si vom selecta New->Class. In fereastra de dialog nou

aparuta vom configure clasa in mod asemanator cu figura de mai jos.

Fig.1.3 Fereastra Add New Class

Din figura de mai sus se poate vedea ca numele clasei este Midlet si ca deriva din clasa

de baza MIDlet care reprezinta o aplicatie pentru dispozitive mobile. De asemenea se observa

ca am selectat optiunea pentru generarea automata a metodelor care sunt abstracte in clasa de

baza. Dupa ce apasam finish fisierul va fi creat. Codul sursa pentru acest fisier poate fi vazut in

figura de mai jos.

Fig.1.4 Codul sursa generat pentru clasa Midlet

Putem observa ca avem 3 metode care vor trebui implementate. Mai exact va trebui sa

implementam startApp() si destroyApp(). startApp() va fi apelata in mod automat la pornirea

aplicatiei sau la aducerea aplicatiei din background in foreground. destroyApp() va si apelata

pentru inchiderea aplicatiei. pauseApp() nu este obligatoriu sa fie implementata. Aceasta

metoda va fi apelata atunci cand aplicatia este pusa in background.

Majoritatea aplicatiilor care sunt construite trebuie sa interactioneze cu utilizatorul. In

acest sens aplicatia trebuie sa-I ofere utilizatorului o interfata pe care sa o foloseasca. Pe

ecranul dispozitivului mobil pot fi afisate doar clase care deriva din clasa de baza Displayable.

J2ME vine cu 2 astfel de clase predefinite: Canvas si Screen. Canvas-ul folosiste un mod de

programare de nivel mai scazut acolo unde tot ce este afisat pe ecran trebuie scris manual de

catre programator. Pentru a folosi interfete de nivel mai ridicat vom folosi clase care deriva in

mod direct sau indirect din clasa Screen. J2ME furnizeaza 4 astfel de clase: Alert, Form, List si

TextBox. Toate aceste clase vor fi descrise pe larg in restul cursului. Pentru acest prim exemplu

vom folosi clasa Form. Dupa cum ii spune si numele aceasta clasa reprezinta un formular.

Aceasta clasa este singura clasa care poate fi folosita pentru a adauga alte controale utilizator.

Pentru acest prim exemplu vom dori sa afisam un formular care va contine un label cu

traditionalul “hello world”. Acest formular va trebui creat si afisat in metoda startApp() a clasei

Midlet pe care am creat-o anterior. Instantierea clasei si setara proprietatilor acesteia poate fi

vazuta in figura de mai jos.

Fig.1.5 Instantierea formularului principal al aplicatiei

Pentru a putea vedea acest formular pe ecranul telefonului va trebui sa-I spunem

aplicatiei sa-l afiseze. Acest lucru se face folosind clasa Display. Aceasta clasa este un

singleton care ne va oferi accesul la ecranul telefonului. Folosind aceasta instanta vom putea

afisa pe ecran interfata oricarei aplicatii. Acest lucru poate fi vazut in figura de mai jos.

Fig.1.6 Afisarea formularului principal pe ecran

Se poate observa ca pentru instantierea acestui singleton avem nevoie de o referinta la

un midlet. Din moment ce suntem deja intr-o astfel de clasa putem sa trecem this ca argument

la metoda getDisplay(). O data ce avem referinta la ecranul telefonului tot ce trebuie sa facem

este sa chemam setCurrent() si sa trecem ca argument ecranul pe care vrem sa-l afisam.

Inainte sa pornim aplicatia trebuie sa mai stabilim doua lucruri: cum facem sa inchidem

aplicatia pe care vrem sa o pornim si cum ii oferim utilizatorului posibilitatea de a inchide

aplicatia. In primul rand pentru a inchide un midlet trebuie sa apelam metoda notifyDestroyed()

a acestuia. De obicei acest lucru se specifica in destroyApp() care apoi va fi apelat cu un

argument de true. Acest lucru poate fi vazut in figura de mai jos.

Fig.1.7 Inchiderea aplicatiei

Dupa cum se poate vedea din figura de mai sus am mai implementat o metoda public

ace va fi folosita pentru apelarea corespunzatoare a metodei destroyApp().

Ultimul lucru care a mai ramas acum de facut este de a-I oferi utilizatorului posibilitatea sa

apeleze aceasta metoda. Acest lucru poate fi facut adaugand o comanda la formularul

instantiate anterior.

Pentru a adauga o astfel de comanda va trebui sa facem urmatoarele lucruri:

instantierea si setarea prorietatilor comenzii, adaugarea comenzii la formular, abonarea la

evenimentul de click al comenzii si executarea codului. Toate aceste lucruri pot fi vazute in

figura de mai jos.

Download gratuit

Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.

Structură de fișiere:
  • Dezvoltarea Aplicatiilor cu Tehnologii Mobile.pdf
Alte informații:
Tipuri fișiere:
pdf
Nota:
8/10 (1 voturi)
Nr fișiere:
1 fisier
Pagini (total):
46 pagini
Imagini extrase:
46 imagini
Nr cuvinte:
11 546 cuvinte
Nr caractere:
63 907 caractere
Marime:
791.02KB (arhivat)
Publicat de:
NNT 1 P.
Nivel studiu:
Facultate
Tip document:
Curs
Domeniu:
Calculatoare
Predat:
la facultate
Materie:
Calculatoare
Sus!