+ All Categories
Home > Documents > Java Wireless

Java Wireless

Date post: 24-Jan-2016
Category:
Upload: barr
View: 65 times
Download: 1 times
Share this document with a friend
Description:
Java Wireless. TARC Anca Rarau Noiembrie 2002. Cuprins. 1. J2ME 2. MIDP 2.1. Introducere 2.2. Interfata utilizator 2.3. Stocare persistenta 2.4. Conectare. J2ME. J2ME = Java pentru dispozitive mici ( pager, telefon mobil, PDA, etc.) - PowerPoint PPT Presentation
50
Java Wireless TARC Anca Rarau Noiembrie 2002
Transcript
Page 1: Java Wireless

Java Wireless

TARC

Anca Rarau

Noiembrie 2002

Page 2: Java Wireless

Cuprins

1. J2ME

2. MIDP

2.1. Introducere

2.2. Interfata utilizator

2.3. Stocare persistenta

2.4. Conectare

Page 3: Java Wireless

J2ME

J2ME = Java pentru dispozitive mici ( pager, telefon mobil, PDA, etc.)

J2ME este divizat in configuratii si profile

diversitate mare de dispozitive

Page 4: Java Wireless

J2ME

In general configuratiile si profilurile sunt descrise in functie de capacitatea de memorie (ROM, RAM)

Sunt administrate de JCP (Java Community Process)

Page 5: Java Wireless

Configuratie

Este specifica unei clase de dispozitive (dispozitive care au aceleasi caracteristici de memorie si procesor)

Specifica JVM si subsetul API din J2SE

Page 6: Java Wireless

Profil

Este mai specific decat o configuratie, se adreseaza unei familii mai restranse de dispozitive

Se bazeaza pe o configuratie, dar adauga API pentru interfata utilizator, stocare persistenta, etc

Page 7: Java Wireless

Configuratii si profile

Page 8: Java Wireless

Connected Device Configuration (CDC)

Dispozitive cu minim 512KB ROM, 256KB RAM

Dispozitive care suporta conexiuni la retea

Page 9: Java Wireless

Connected Device Configuration (CDC)

Aceste dispozitive trebui sa suporte JVM asa cum este ea definita in Java Virtual Machine Specification editia a 2-a

Exemple televison set-top boxes, car navigation system, high end PDA

Page 10: Java Wireless

Connected, Limited Device Configuration (CLDC)

Dispozitivelor cu memorie cuprinsa intre 160KB si 512KB

CLDC se adreseaza dispozitivelor mici cu conexiune la retea limitata, “Limited Connection Device Configuration” ar fi fost mai exacta

Page 11: Java Wireless

Connected, Limited Device Configuration (CLDC)

Conexiune limitata = conexiune intermitenta si lenta (telefoanele mobile 9.6Kbps)

Page 12: Java Wireless

Connected, Limited Device Configuration (CLDC)

KVM = JVM pentru CLDC

Exista deosebiri importante intre JVM (din J2SE) si KVM. Un articol in care sunt prezentate aceste diferente este disponibil la http://developer.java.sun.com/developer/technicalArticles/wireless/midpapi

Page 13: Java Wireless

CDC si CLDC

CLC si CLDC sunt specificatii nu un software

KVM este un software

Page 14: Java Wireless

Profile J2ME

Nume ROM RAM Configuratie

Foundation 1024KB 512KB CDC

Personal 2.5MB 1MB CDC+FoundationProfile

RMI 2.5MB 1MB CDC+ FoundationProfile

MIDP 128KB 32KB CLDC

PDA ~256KB ~256KB CLDC

Page 15: Java Wireless

Foundation Profile

Se adreseaza dispozitivelor care au legatura retea foarte buna

Profilul nu suporta interfata utilizator, ca urmare alte profile trebuie sa fie suprapuse peste el, profile care adauga interfata utilizator si alte functionalitati.

Page 16: Java Wireless

Personal Profile

CDC + Foundation Profile + Personal Profile vizeaza urmatoarea generatie de PersonalJava (http://java.sun.com/products/personaljava)

Page 17: Java Wireless

RMI Profile

CDC + Foundation Profile + RMI vizeaza dispozitivele care vor suporta RMI si JINI.

Page 18: Java Wireless

PDA Profile

Profilul PDA este conceput pentru dispozitive palmtop care au minim 512KB (ROM si RAM combinate) si un maxim de 16MB.

Page 19: Java Wireless

Mobile Information Device Profile (MIDP)

128KB de memorie non-volatila pentru implementarea MIDP

32KB memorie volatila pentru stiva la runtime 8KB memorie non-volatila pentru stocarea datelor

perisistente ecran de 96x54 pixeli abilitati de input de tipul tastatura, touch screen conexiune la retea two-way, posibil intermitenta

Page 20: Java Wireless

Mobile Information Device Profile (MIDP)

Dispozitive cu astfel de caracteristici sunt telefoane mobile, anumite pagere, anumite PDA-uri.

API-ul disponibil unei aplicatii MIDP este format din pachetele din CLDC si MIDP

Page 21: Java Wireless

Pachetele MIDP

Page 22: Java Wireless

Componentele Software MID

Page 23: Java Wireless

Mobile Information Device Profile (MIDP)

MIDP este primul profile J2ME care poate fi folosit deja pentru scrierea de aplicatii. O aplicatie scrisa folosind API-ul MIDP va fi portabila direct pe orice dispozitiv MIDP.

MIDP este doar o specificatie, producatorii sunt liberi sa dezvolte propria lor implementare pe baza acestei specificatii.

Page 24: Java Wireless

MIDlet

Applet = program care poate fi descarcat si rulat la comanda

Servlet = program care ruleaza la partea de server, inlocuind practic CGI-urile

MIDlet = aplicatie MIDP

Page 25: Java Wireless

java.lang in CLDC / MIDP

CLDC nu suporta primitive de tipul double sau float

CLD nu suporta wrapperele java.lang.Float si java.lang.Double

Page 26: Java Wireless

java.lang in CLDC / MIDP

Page 27: Java Wireless

java.lang in CLDC / MIDP

Page 28: Java Wireless

java.lang in CLDC / MIDP

Functiile din coloana MIDP au uneori semnatura diferita de cele din coloana J2SE

Platformei java poate incarca clase la runtime

CLDC / MIDP nu permite definirea de de classloader. Managerul de aplicatii care executa MIDletul are un classloader, dar acesta nu poate fi accesat sau folosit

Page 29: Java Wireless

java.lang in CLDC / MIDP

Object finalization nu este disponibil

API reflection nu este admis

Metodele native nu sunt premise

Page 30: Java Wireless

java.lang in CLDC / MIDP

Crearea unui thread, pornirea lui si utilizarea java.lang.Runnable se fac ca si in J2SE

interrupt(), pause(), resume(), stop() (java.lang.Thread) nu sunt in CLDC.

Grupurile de thread-uri, thread-urile daemon si thread naming de semenea nu sunt suportate in CLDC.

Page 31: Java Wireless

java.lang in CLDC / MIDP

String este prezent in CLDC si este aproape identic cu cel din J2SE

Din String s-au eliminate metodele statice valueOf() care faceau conversia intre primitive floating-point si String

Page 32: Java Wireless

java.lang in CLDC / MIDP

Lipsesc si alte metode: ex. in CLDC exista compareTo(String), dar nu exista compareTo(Object)

Aceeasi este abordarea si pentru StringBuffer

Clasa Math nu contine metodele care lucreaza cu functii trigonometrice

Page 33: Java Wireless

java.lang in CLDC / MIDP

Page 34: Java Wireless

java.lang in CLDC / MIDP

Runtime si System sunt mult reduse ex. pentru System nu exista in pentru ca nu exista consola, out este folosit de asemenea numai pentru simulatoare pentru obtinerea rezultatelor in fereastra consola

Page 35: Java Wireless

java.lang in CLDC / MIDP

Page 36: Java Wireless

java.lang in CLDC / MIDP

Page 37: Java Wireless

java.io in CLDC / MIDP

Trei grupe de diferente:1. CLDC / MIDP nu are conceptul de sistem

local de fisiere, toate clasele care aveau legatura cu fisierele au fost eliminate (File, FileInputStream, FileOutputStream, clasele wrapper corespunzatoare Reader si Writer, RandomAccesFille, etc); pentru inmagazinare persistenta de date pe dispozitiv trebuie folosit API din pachetul javax.microedition.rms.

Page 38: Java Wireless

java.io in CLDC / MIDP

2. Serializarea obiectelor nu este suportata in CLDC interfata Serializable si alte object stream classes nu sunt prezente.

3. J2SE include o multime de utility classes, piped stream, pushback streams, sequence streams, line numbering streams, StreamTokenizer etc.

Page 39: Java Wireless

java.io in CLDC / MIDP

Page 40: Java Wireless

java.io in CLDC / MIDP

Page 41: Java Wireless

java.io in CLDC / MIDP

Page 42: Java Wireless

java.io in CLDC / MIDP

Page 43: Java Wireless

java.util in CLDC / MIDP

Lipsesc clasele collection, dar se pot folosi Vector, Hashtable, Stack

Page 44: Java Wireless

java.util in CLDC / MIDP

Page 45: Java Wireless

java.util in CLDC / MIDP

Page 46: Java Wireless

java.util in CLDC / MIDP

Page 47: Java Wireless

java.util in CLDC / MIDP

MIDP contine clasele Timer si TimerTask. Acestea sunt dintre putinele exemple care sunt nu continute in CLDC, dar sunt continute in MIDP.

Page 48: Java Wireless

Procesul de dezvoltare MIDlet

1. cicluri compile-and-run

2. deployment pe un dispozitiv propriu-zis sau pe un emulator

Page 49: Java Wireless

Procesul de dezvoltare MIDlet

Sun: “MIDP reference implementation” (documentatie,tool, emulator Windows pentru telefon mobil); este free.

Sun: J2MW Wireless Toolkit (reference implementation, GUI tool); este free

Motorola: kit de dezvoltare MIDP; este free. Reasearch In Motion Zucotto Wireless

Page 50: Java Wireless

Procesul de dezvoltare MIDlet

1. scriere program

2. compilare cod sursa

- compilatorul trebuie informat ca se doreste utilizarea versiunii MIDP a unei clase si nu versiunea J2SE:

optiunea in linia de comanda –bootclasspath

3. preveryfing

4. rularea MIDP pe un simulator


Recommended