1 / 50

Java Wireless

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.)

barr
Download Presentation

Java Wireless

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Java Wireless TARC Anca Rarau Noiembrie 2002

  2. Cuprins 1. J2ME 2. MIDP 2.1. Introducere 2.2. Interfata utilizator 2.3. Stocare persistenta 2.4. Conectare

  3. J2ME • J2ME = Java pentru dispozitive mici ( pager, telefon mobil, PDA, etc.) • J2ME este divizat in configuratii si profile diversitate mare de dispozitive

  4. J2ME • In general configuratiile si profilurile sunt descrise in functie de capacitatea de memorie (ROM, RAM) • Sunt administrate de JCP (Java Community Process)

  5. Configuratie • Este specifica unei clase de dispozitive (dispozitive care au aceleasi caracteristici de memorie si procesor) • Specifica JVM si subsetul API din J2SE

  6. 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

  7. Configuratii si profile

  8. Connected Device Configuration (CDC) • Dispozitive cu minim 512KB ROM, 256KB RAM • Dispozitive care suporta conexiuni la retea

  9. 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

  10. 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

  11. Connected, Limited Device Configuration (CLDC) • Conexiune limitata = conexiune intermitenta si lenta (telefoanele mobile 9.6Kbps)

  12. 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

  13. CDC si CLDC • CLC si CLDC sunt specificatii nu un software • KVM este un software

  14. Profile J2ME

  15. 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.

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

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

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

  19. 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

  20. 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

  21. Pachetele MIDP

  22. Componentele Software MID

  23. 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.

  24. 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

  25. java.langin CLDC / MIDP • CLDC nu suporta primitive de tipul double sau float • CLD nu suporta wrapperele java.lang.Float si java.lang.Double

  26. java.langin CLDC / MIDP

  27. java.langin CLDC / MIDP

  28. java.langin 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

  29. java.langin CLDC / MIDP • Object finalization nu este disponibil • API reflection nu este admis • Metodele native nu sunt premise

  30. java.langin 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.

  31. java.langin 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

  32. java.langin 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

  33. java.langin CLDC / MIDP

  34. java.langin 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

  35. java.langin CLDC / MIDP

  36. java.langin CLDC / MIDP

  37. java.ioin 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.

  38. java.ioin 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.

  39. java.ioin CLDC / MIDP

  40. java.ioin CLDC / MIDP

  41. java.ioin CLDC / MIDP

  42. java.ioin CLDC / MIDP

  43. java.utilin CLDC / MIDP • Lipsesc clasele collection, dar se pot folosi Vector, Hashtable, Stack

  44. java.utilin CLDC / MIDP

  45. java.utilin CLDC / MIDP

  46. java.utilin CLDC / MIDP

  47. java.utilin CLDC / MIDP • MIDP contine clasele Timer si TimerTask. Acestea sunt dintre putinele exemple care sunt nu continute in CLDC, dar sunt continute in MIDP.

  48. Procesul de dezvoltare MIDlet 1. cicluri compile-and-run 2. deployment pe un dispozitiv propriu-zis sau pe un emulator

  49. 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

  50. 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

More Related