Your SlideShare is downloading. ×

Stefano Sanna PDA JMDF Third Meeting

2,221

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,221
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Jmn Usm‘ (Îmup S; ' VH". .. 1mm Mobile novolopon Fomm Mtpal/ jmdluavazmmorg java ME per Palmari e PDA 6 Stefano Sanna http: //www. gerdavax. it Stefano Sanna, jawu ; 11:'p(rr Palmari 0 PDA 3' Meeting] javaa ÎVÎUDÌIU D(_’V(‘Ì()[)(‘['S Forum, Nîìlano. 3| Fohlnîìit) 2(')0(3
  • 2. Jam Usvr (Îronp Simiuiina Onlns w w ‘n. _| u r] C C: r (I >1’; g "i .3 r: i’ 3 Parliamo di. .. - Java ME: non solo cellulari. .. - CLDC e MIDP su PDA - 19 su Windows Mobile - CDC e Personal Profile — 19 su Windows Mobile e Symbian (Series 80) - Alcune applicazioni d'esempio - Conclusioni Stefano Sanna, java i11:'pc-r1’a1121a1‘i o PDA 3' ivieei. inq java Niobili: D(’'(‘Ì(_)[)(, ‘FS Forum, iviilano, 2| Febbraio 200i}
  • 3. Java {Isur (Îmup Siiriiugiia Onlli vwxwa. _| u Q 15a FCCQ "la Cl} II mondo dei PDA - I PDA offrono caratteristiche interessanti per applicazioni heavy-mobile: — Display di grandi dimensioni: QVGA, VGA. .. — Input completo: tastiera + touchscreen + keypad — Connettività: IrDA, Bluetooth, Wifi, GPRS/ EDGE/ UMTS - Potenza hardware: processori fino a 600MHz, RAM fino a 128MB - Espandibilità: SD, MMC, CompactFIash, USB. .. - Accessori: barcode reader, RDIF reader. .. — Base installata in crescita, grazie alla diffusione di sistemi di navigazione satellitare Stefano Sanna, Java . 'IEpc. =1‘1’a11nar1 e PDA 3' Niecating Java Nlobilcè Dt’’(‘i(_)[)t‘l‘S Forum, Milano, 21 Febbraio 2006
  • 4. Java User (Îmup Seirilugna Onlli. VJVJ _| u ricerca: g "i . :l m’; Più potenza, meno limiti - Queste caratteristiche hanno implicazioni immediate: — Display: cartografia, multimedia, on-field operations — Input: interfacce più ricche e intuitive — Connettività: abbattimento dei costi (Wifi) — Potenza hardware: VoIP, cartografia, offline operations - I PDA non sono cellulari potenziati: sono dispositivi diversi, con specifici ambiti applicativi Stefano Sanno, ja va iVEpe-r Palmari e PDA 3' hleeting Java Nlobili: Dc, ='eli_)pers Forum, Milano, 21 Febbraio 2006
  • 5. Iava User Group Sardegna Onlus wwuajugsardegnaorg h“ i x i Jììfial’; l HPIP . iiiii n M e a ‘ o FFÎÈSSÌJÉFÌ E Stefano Sanna, Java ME per Palmari e PDA 5 3' ivieeting Java Mobile Developers Forum, Milano, 21 Febbraio 2006 V 11:34.1" 7 g“ = r -_ xl
  • 6. Java User Group Sardegna Onlus wwuajugsardegnaorg i r» " 5 / Ì i’ L71195. A , ai: m; ìiîT-ntnigi a7 v - 7'161 44- 5*” 9473131 «i: Sisil-Î- A Stefano Sanna, Java ME per Palmari e PDA 3' Meeting Java Mobile Developers Forum, hrlilano, 21 Febbraio 2006
  • 7. Jaxrei User (Îmup Snriliegna Onliis snwvan _| l_ig': Cil'CC(_i"i. :1 Cl 1ava ME: CDC e CLDC - La piattaforma 1ava ME definisce attualmente due famiglie di dispositivi, corrispondenti alle configurazioni CDC e CLDC: Altre API Altre API ]SR-75 JSR_82 1595-177 JSR-IBO lSR-12 153-172 1SR—135 Stefano Sanna, java . 'IEpc. =1‘1’a11nar1 e PDA 3' Nleeting Java Nlobilc: Develi_)pi= rs Forum, Milano, 21 Febbraio 2006
  • 8. Java User (Îmup Seirilugna Onllis VJW _| u (marci: g "i . :i m’; MIDP su PDA. .. ieri - Le prime versioni del Wireless Toolkit includevano una utility per il deployment delle MIDIet Suite su PaImOS - Principali limitazioni: - Memoria disponibile estremamente limitata — Mancanza di sistema operativo multitasking - Complessità del processo di deployment: l'applicazione doveva essere compilata esplicitamente per la piattaforma Palm Stefano Sanna, ja va ME per Palmari e PDA 3' hleeting Java Nlobili: Dc, ='eli_)pers Forum, Milano, 2l Febbraio 2006
  • 9. Java User (Îmup Seirilugna Onllis V. ".'J'. ‘. _| l_igC. ÌilCC-g"i. :i CI MIDP su PDA. .. oggi! - I moderni runtime MIDP offrono supporto di ottimo livello: — Installazione semplice — Gestione dettagliata dei permessi assegnati a ciascuna applicazione — Interfaccia utente coerente con il sistema operativo - Buona integrazione con alcuni API native - Non sempre le VM sono installate sul dispositivo: l'utente deve installarle manualmente o acquistarle separatamente Stefano Sanna, ja va ME per Palmari e PDA 3' hleeting Java Nlobili: Dc, ='eli_)pers Forum, Milano, 2l Febbraio 2006
  • 10. Java User Group Snrilugiiii Onllis WW _| u gca rceg n.3 ci‘; ' Runtime MIDP per Pocket PC - IBM WebSphere Everyplace Micro Environment — http: //www- 128.ibm. com/ developerworks/ websphere/ zones/ wirel esslweme_eval_ru ntimes. htmI - ACCESS1V-Lite2 Wireless Profile — http: //www. accesschina. com. cn/ products/ midp. htm - Tao Group Intent Platform, Midlet Manager — http: //tao- group. com/ main. php? pageid=254911.php&temptyp e= t1 Stefano Sanna, java ME per Palmari e PDA 3' Nleeting Java Nlobilc: Develi_)pi= rs Forum, Milano, 21 Febbraio 2006
  • 11. Java User Group Snrilegiia On w W r. _| u g C a l'0 C‘ g "i .3 19: efficace ed economico - IBM distribuisce il runtime WEME, basato sulla VM 19: evaluation (senza time bomb! ) gratuita, licenza di utilizzo intorno ai 5-6euro per instanza! - Principali caratteristiche: - Supporto: - CLDC 1.1, MIDP 2.0,1SR-75 — Compatibilità: - Windows Mobile 2003, Windows Mobile 5.0, Palm OS, Linux - Buone prestazioni, ottima integrazione con il sistema operativo Stefano Sanna, java ME per Palmari e PDA 3' Nleeting Java Nlobilc: Develi_)pi= rs Forum, Milano, 21 Febbraio 2006
  • 12. Java User Group Gestione MIDIet e permessi Pernnssinn lnlerai 7x lW/ H o MIUÌFI lisi 7x 15 lHJIh o . ' lhlìflit‘ Pernnssinn 7x IHJPH i-iellowsworld - 1.0 ‘FOmm _ lf Sketch viene u: attivate a local port ‘Serialmlolet - 1.0 à c0913“ U5‘ R939 for connectivity in another computer, jMicrooyroNs - 1.0 Ì 3:35‘ L5‘ Wrm‘? prompt me ; 5:1 I _ 1 93"‘ Event List Read (Dmshot) 579"‘ "5' Wrme G) Once when the appllcatlon rms FIIE Read (sessnn) F"? W”? O Alwa s allowed. Never prompt agan HTTP (bla t). HTTPS Push Regrslry SSL Server Sockst SOCkBÈ ToDo Lrst Reati ToDo List Writs video Contrai - Snaoshot Carte‘ Actions E| — mm Navigate E} 5|- Stefano Sanna, ME per Palmari e PDA 3' Nîeeting Java Nlobile Developers Forum, Milan
  • 13. Java User Group Sarde w w 1.‘. JLl g MIDP: installazione - E‘ possibile via rete o1AR file locale: , Pruqicss W 7x 0.10 lnstallhg MIDIet fiom filezwly Enter the URL of the MIDlat lhat you I DotumerîtsWakTim- la’ would Iloe in ‘rstall. ' Proqess bvilfllllllj is MIDIet suite dici not come from a - - m locafim. Are you sure lhat you - ld Ile ti: ‘nstall it? Stefano Sann va ME per Palmari e PDA 3' Nîeeting Java obile Developers Forum, Milano 21 Febb ' ‘
  • 14. Java User Group Snrilegiia Onlli. vwxiu‘. _| u Q 15a FCCQ "iii " Canvas: finalmente il pointer! - Il Canvas su PDA supporta la gestione degli eventi relativi al puntatore (penna): — hasPointerEvents() e hasPointerMotionEvents() permettono di conoscere a runtime le caratteristiche del dispositivo — pointerPressed0. Pointerbraggedo e pointerReIeased() sono i metodi di callback invocati quando lo stato del puntatore cambia. I metodi ricevono le coordinate x, y del punto al quale l'evento si riferisce - Proviamo a scrivere uno Sketch pad. .. Stefano Sanna, java ME per Palmari e PDA 3' Nleeting Java Nlobilc: Develi_)pi= rs Forum, Milano, 21 Febbraio 2006
  • 15. _]flfl User (Îmup Siirileqn ’. ".'. l‘. ‘ [li Sketch: il telaio. .. public class Sketch extends MIDIet { private sketchcanvas gui; public Sketchll { 9Hi = new Sketchcanvaslli } public void startApp() { D1sp1ay. getD1splay(th1s). setCurrent(gu1): public void pauseApp() { . .. } public void destroyApp(boo1ean unconditionall { . .. } Stefano Sanna, java ME per l’al1nari 0 I'll-l 3' eetint} Java Nlobilr} Develc_)[)er's Forum lano, 21 Febbraio 200i}
  • 16. linea User (Îmup Snrilegn Sketchcanvas /1 public class Sketchcanvas extends Canvas implements CommandListener { private Image mainBoard: private Image tempBoard: private Graphics mainG: private int Iastx, lastY; private Command clearcommand = new Command("C1ear', Command. SCREEN, 1); public sketchCanvas() { if (l (hasPointerEvents() && hasPoìnterHotionEvents())) { throw new RuntimeException("Can't use touch screen! '); } inìt(): Stefano Sanna, java ME per l’al1nari 0 I'll-l 3' eetint} Java Nlobilr} Develc_)[)er's Forum lano, 21 Febbraio 200i}
  • 17. Java User Group Sardegna Onlus wwwiugsardegnaiorg Stefano Sanna, Java ME per Palman e PDA 17 3' Meeting Java Mobile Developers Forum, Milano, 21 Febbraio 2006
  • 18. Java User Group Sardegna Onlus wwwiugsardegnaiorg i o. Stefano Sanna, Java ME per Palman e PDA 3' Meeting Java Mobile Developers Forum, Milano, 21 Febbraio 2006 18
  • 19. Java User Group Sardegna Onlus wwwiugsardegnaorg a. Stefano Sanna, Java ME per Palman e PDA 19 3' Meeting Java Mobile Developers Forum, Milano, 21 Febbraio 2006
  • 20. Java User Group Seirtluqna Onlns n“ w w ‘n. _| u l] C C: r C t? g "i .3 r: l’ j Note sul Wireless Toolkit - Il WTK fornisce emulatori "phone oriented", senza supporto per l'input via penna. Per abilitarlo è sufficiente impostare un flag all'interno del file WTK_DIRwtkIibdevicesDEVICE_NAMEDEVlCE_NAME. properties ad esempio: c: WTK23wtkIibdevicesDefauItCoIorPhoneDefauItCoIorPhoneproperties touch_screen= true Stefano Sanna, Java iI1:'p(. 'rI’a1121ar1 o PDA 3' Meeting Java | ‘l()bl| () D(_’’(‘| ()[)f_‘l‘S Forum, Milano, 2| Febbraio 20003
  • 21. Java User Group Seirdugna Onlns mi i u {marce g "i .3 ci’; CDC, FP, PBP, PP: la squadra! - Rispetto al mondo MIDP, CDC e i relativi profili costituiscono un ecosistema complesso e modulare: - CDC: - Connected Device Configuration - FP: - Foundation Profile - PBP: - Personal Basis Profile — PP: o Personal Profile Stefano Sanna, Java iI1:'per1’a11nar1 e PDA 3' hleeting Java Nlobilc: Dc, ='e| t_); )ers Forum, Milano, 2| Febbraio 2006
  • 22. Java User Group Seirdugna Onl vsw _| u gca roeg n.3 c. Chi fa cosa: CDC e FP ° CDC (JSR 36): — Fornisce una VM compatibiIeJ2SE, con un subset della libreria standard (1.3 per CDC 1.0, 1.4 per CDC 1.1): - java. lang, java. Iang. ref, java. lang. reflect, java. math - java. io, java. net, javax. microedition. io - java. security, java. security. cert - java. text, java. uti| , java. util. jar, java. uti| .zip - Foundation Profile (JSR 46): — Completa i package forniti da CDC, per avere piena copertura della libreria standard 1.3.1 Stefano Sanna, Java ME per Pahnari e PDA 3' Nleeting Java Nlobilc: De. 'e| (_)pt= rs Forum, Milano, 2| Febbraio 2006
  • 23. Java User Group Seirdegna Onlu ww _| u gca roeg n.3 ci‘; Chi fa cosa: PBP e PP - Personal Basis Profile (JSR 129): — Aggiunge il supporto base AWT per componenti Iightweight e introduce il modello di applicazioni basato su Xlet: - java. awt, java. awt. event, java. awt. color, java. awt. image - java. beans, java. rmi, java. rmi. registry (per Xlet) - javax. microedition. xlet, javax. microedition. xIet. ixc - Personal Profile (JSR 62): - Completa il supporto AWT con i componenti nativi: - java. appIet, java. awt. datatransfer Stefano Sanna, Java ME per Pahnari e PDA 3' Nleeting Java Nlobilc: De. 'e| (_)pt= rs Forum, Milano, 2| Febbraio 2006
  • 24. Java User Group Sardegna On w w ‘a. j u g C a l'0 0g "i .3 CDC e PP: vantaggi in breve - Standard library molto più ricca, sottoinsieme della Standard Edition 1.4 (CDC 1.1) - Sfruttano le prestazioni dei palmari e degli smartphone di fascia alta - Supporto JNI: ciò che il runtime non offre può essere sviluppato ad hoc se necessario - Possibilità di usare componenti nativi e di utilizzare altre librerie grafiche (HAVi, DVB. ..) - Rivisitazione in chiave "JME" dell'esperienza maturata su Personal Java Stefano Sanna, jaira ME per Palmari e PDA 3' Nleeting Java Nlobile Developers Forum, Milano, 2| Febbraio 2006
  • 25. Java User Group Sardegna On w w u‘. jLl g 5 C! l'0 Dg "i a CDC: tre modelli applicativi - Il top della gamma Java ME lascia ampia libertà allo sviluppatore, che può scegliere il modello applicativo più opportuno: — Stand-alone: il metodo main() costituisce l'entry point dell'applicazione — Managed: definendo una Xlet, gestita a sua volta da un XIetManager, che riprende alcuni dei concetti delle MIDIet e, soprattutto, delle Xlet inizialmente introdotte con Java TV — Embedded: attraverso Applet eseguite all'interno deII'AppIetViewer o di browser opportunamente esteso Stefano Sanna, Java ME per Palmari e PDA 3' Nîeeting Java Nlobile Developers Forum, Milano, 2| Febbraio 2006
  • 26. Java User Group Sardegna On w w u‘. jLl g 5 C! l'0 Dg "i a CDC/ PP: alcune particolarità - CDC offre supporto al Generic Connection Framework: si tratta di una implementazione ancora limitata e non tutti gli schema di connessione sono supportati (generalmente sono HttpConnection), talvolta con leggere differenze rispetto a CLDC/ MIDP - La VM dispone di una console e i runtime più diffusi permettono di impostare opportuni parametri di avvio per visualizzare lo standard output e ricevere comando attraverso lo standard input Stefano Sanna, java ME per Palmari e PDA 3' Nîeeting Java Nlobile Developers Forum, Milano, 2| Febbraio 2006
  • 27. Java User Group Seirdegna Onl ‘ vsw _| u gca roeg n.3 c. CDC: API opzionali - Sono attualmente definite alcune API per CDC: — JZME RMI Optional Package, (RMI OP): JSR 66 — JDBC Optional Package for CDC/ Foundation Profile API: JSR 169 — Java TV API: JSR 927 — Java Secure Socket Extension for CDC (JSSE) — Advanced Graphics and UI (fornirà supporto a Swing, Java 2D, Image I/ O, Input Method Framework APIs for more capable mobile devices); JSR 209 - Per maggiori informazioni: — http: //java. sun. com/ j2me/ Stefano Sanna, Java ME per Palmari e PDA 3' Nleeting Java Nlobilc: De. 'e| (_)pt= rs Forum, Milano, 2| Febbraio 2006
  • 28. Java User Group Seirdegna Onlus w w r. _| l_lg': Cir'0r: ‘(_i"i. :1 Cl Criticità VM su PDA - Rispetto al runtime Java distribuito con un telefono cellulare, la VM per PDA è un. .. software di terze parti e può presentare diverse criticità: — Scarsa coerenza con il look & feel del sistema; non è possibile conoscere l'effettiva dimensione della porzione di schermo assegnata all'applicazione — Scarso sfruttamento delle risorse hardware disponibili (memoria, risoluzione) - Supporto JNI instabile — Forte dipendenza dalla versione del sistema operativo Stefano Sanna, Java ME per Palmari e PDA 3' Nleeting Java Nlobilc: De. 'e| (_)pt= rs Forum, Milano, 2| Febbraio 2006
  • 29. l la- Li ’I| I' .3. “turni: nwn: ,71, .7 . ,, n.0; . |nl_: i”, r”: il / K. ‘ . "‘ . . . a n‘ x » -- q — 4b dal! I a al fllr ‘un a» I n un 4h n’ - . a - - . . - . i à a t l a ‘ è u v è’ ù d Perché i menù sono qui e non in basso? ? ??? ??? ??? ?? HTTP] 1.1 400 Bad Reguest Date: Sun, 21 De: 2003 20:44:56 GMT Server: Apache! 1.3.24 (Unix) PHP/4.2. Connection: close Content-Type: textlhtml; charset-lso-E <IDC>CTYPE HTML PUBLIC "JllETFl/ Dl <HTML > <HEAD> <TlTLE>400 Baci Request <lTlTLE> <IHEAD> <BODY> <H1>Bad Requestdl-lb Your browser sent a request that thls s À cosa SGNOOO? La dimensione della finestra è stata impostata MANUALMENTE. tenendo conto anche della dimensione della barra di Windows CE: FOLLIA!
  • 30. Java User Group Sardegna Onl w w ‘a. jLl Q 15a l'0 0g "i il Cl Portabilità: le regole di PP - La specifica precisa che alcune funzionalità sono dipendenti dalla piattaforma. In alcuni casi I'invocazione di una certa funzionalità non produce alcun effetto, in altri casi la VM solleva una eccezione. - Alcuni esempi: - java. awt. Frame potrebbe non essere ridimensionabile né collocabile a piacere sul display — gestione eventi e colori possono avere limitazioni - Non tutte le restrizioni sono esplicite (getButton()) Stefano Sanna, Java ME per Palmari e PDA 3' Nleeting Java Nlobile Developers Forum, Milano, 2| Febbraio 2006
  • 31. _]ara User Group Seirdegna Onlu w w ‘n. _| U i] C C: l C t? {i "i .3 r: l' j Runtime CDC/ PP per Pocket PC - Esmertec JBed - http: //www. esmertec. com/ - NSlCom CrE-ME 4.1 — http: //www. nsicom. c0m/ - Savaje SavajeOS — http: //www. savaje. com/ 0 MysaifujVM — http: //www2s. biglobe. ne. jpl»dat/ java/ project/ jvm/ ind ex_en. html Stefano Sanna, ja va ME per Palmari e PDA 3' Nleeting Java Nlobilr: Dt’’(‘| ()[)f_‘l‘S Forum, Milano, 2| Febbraio 200i}
  • 32. _]ara User Group Seirdegna Onlu. w w ‘n. _| U i] C .3 l C t? {i "i .3 r: l' j Runtime CDC/ PP per Pocket PC - IBM — WebSphere Everyplace Micro Environment 5.7.x o Windows Mobile 2003 SE o MontaVista Linux — WebSphere Everyplace Micro Environment 6.0 - Windows Mobile 5.0 (anche VGA! ) - Windows Mobile 2003 Smartphone Edition — Nokia 9300. 9300i. 9500 http: //www-128.ibm. comldeveloperworks/ websphere/ zones/ wireIess/ weme_eval_runtimes. htmI Stefano Sanna, ja va ME per Palmari e PDA 3' Nleeting Java Nlobilr: Dt’’(‘| ()[)f_‘l‘S Forum, Milano, 2| Febbraio 200i}
  • 33. Java User Group Sardegna Onlu. w w i‘. i u g C a rd egn a .0 rg 19 su Windows Mobile - La VM di IBM è coerente con il sistema operativo e permette di gestire in modo efficiente eventuali librerie native - La presenza di AWT permette realizzare interfacce grafiche interessanti, anche per l'uso del touch screen senza penna - Questo "Domotipad" potrebbe essere il prototipo di una applicazioni di domotica basata Lucl Video su Personal Profile Stefano Sanna, Java ME per Palmari e PDA 3' Meeting Java Mobile Developers Forum, Milano, 2| Febbraio 2006
  • 34. lv”; in; Lvrmg '. :a magni: rnin: / T, , r’ ‘ ‘. ‘I‘, ‘n, , Inpgguhcmh un li/ ‘ " v ' i‘ I T ' w L'icona di Windows è a DOSÌO mvoca correttamente la chiusura dell'applicazione i‘ , ’ l'i| ):—‘iî1-1Hv ‘.4 t: n.24: Il ‘x i i | i ’ l. .; I: [in " La dimensione della j | "al i| _ _. finestra è stata I , I i impostata ' AUTOMATICAMENTE! La posizione dei menù è coerente con il L&F del sistema operativo . .i. :-_i. ‘ FIIVJ fin‘
  • 35. Java Lise! ‘ Group Sardegna Onlus wwwiugsardegnaprg ÎÉÈÌK ÈÎ IIÌÙÌIÉÉÉÌÎIH i’ * t . , e regala Stefano Sanna, Java ME per Palman e PDA 35 3' Nîeeting Java Mobile Developers Forum, Milano, 21 Febbraio 2006
  • 36. Java User Group Sardegna On w w ‘a. j u g C a l'0 0g "i .3 Ambiente di sviluppo - Non essendo necessaria (per ora) una fase di preverifica né un bootclasspath dedicato, è possibile utilizzare qualsiasi ambiente di sviluppo, purché disponga di una configurazioneJDK 1.4.x - IBM distribuisce il WebSphere Device Developer, che include i runtime e un completo ambiente di sviluppo con gestione progetti CDC/ PP - In generale occorre: - esperienza, per tenere a mente quali metodi sono effettivamente implementati su CDC/ FP/ PBP/ PP — conoscenza del runtime in uso Stefano Sanna, Java ME per Palmari e PDA 3' Nleeling Java Nlobile Developers Forum, Milano, 21 Febbraio 2006
  • 37. Java User Group Sardegna Onl V-WV jl. l[lSCll'OC(_l"i-Z1 ci PP in emulazione su Series 80 - Nokia fornisce Carbide. j, una suite completa di strumenti per il supporto allo sviluppo di applicazioni Java ME CLDC/ MIDP e CDC/ PP - Carbide. j può essere utilizzato come strumento stand-alone o integrato in Netbeans, Eclipse, WebSphere Device Developer - Per avere il supporto CDC/ PP: - installare un SDK specifico per la Series 80 (S80_DP 2 0 PP_SDK. zip) — aggiungere il nuovo SDK tra gli emulatori di Carbide. j Stefano Sanna, Java ME per Palmari e PDA 3' Nieeting Java biobile Developers Forum, Milano, 21 Febbraio 2006
  • 38. Java User Group Sardegna Onlus wwwiugsardegnaprg i ci? ‘Ì san or» 2.0 son: » wlns udeb ‘î-È-ÎÎTFÎQÌTÎÌ" ‘iéÎÎîMM-î“ EgJuLgIljJ-rgl-“YÌÎ ‘ '4|I](. ,ÌJÎI| ‘. —‘ÎA , * I r: —"| l‘J'. -J ' A»: Jrid Tu: (rulrur In c-lnmlk‘) VlNIJH Jr-wru ì M M Stefano Sanna, Java ME per Palman e PDA 38 3' Meeting Java Mobile Developers Forum, Milano, 21 Febbraio 2006
  • 39. co. .. g’ q. a. - i u c î A 1 i J i file JAR contenente le classi e le eventuali risorse a script l"OlVIE_Ì3.PP. Il1ir( per l'avvio: 3 nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn n; E 2SSt'Progran Fìl0s. l9PFR01Gbinj9.un" ‘Hjclzpprolfl’ "-cp" "Hy Docunntnbonotipantjar" orgJugsardegnaJobilcndonotipattbouotipad è ì . ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... . "i Lunghezza script (inutile! ) Percorso JVM N U1 u1 41: "Program FilesJ9PPR010bini9.exe" Class Library in uso Percorso del JAR "-jcl: ppro10"- "-cp" "My DocumentsDomotipad: jar" m"d””"“mC”“ org. jugsardegna. mobile. domotipad. D0m0tipad Tutto su una linea!
  • 40. Java User Group Seirdegna On w w r. _| u g C a rc C g "i .3 Deployment su Nokia Series 80 - In questo caso, il deployment assomiglia a quanto già visto in ambiente MIDP: — il file Manifest deve contenere le seguenti property: Main-class: org. mycompany. MyApplicationMainClass PproApp-Name: MyApplication PproApp-Vendor: Mycompany PproApp-Version: 0.0.1 - Senza queste informazioni l'applicazione non viene installata! Stefano Sanna, Java ME per Pahnari e PDA 3' Nieeting Java Nlobilcè De. 'el(_)pt= rs Forum, Milano, 21 Febbraio 2006
  • 41. Java User Group Sardegna Onlii Gestione Manifest su Netbeans FieîclviewuavloatesouceRefactorùidRmtvsîoolswiflowrleb l ; aaai4iei: l,m, bialv a Manifest-Version: 1.0 Hain-Class: oxg. jugsaxdegnamobile. donotipatLDomotipad PproApp-Name: Domotipad PproApp-Vendot: JHDF PproApp-Version: 1.0 Stefano Sanna ' ME per Palmari e PDA 3' Me tng Java o ile Developers Forum, Milan 71 Febbra‘
  • 42. _]ara User Group Seirdegna Onln. VJW JUÉJÎKÎIYCÉÎÉIW-fi r API opzionali - Spesso CLDC/ MIDP e CDC/ PP coesistono all'interno del medesimo dispositivo: le librerie opzionali, però, sono specifiche di ciascun runtime! - Non è possibile, ad esempio, avere la Wireless Messaging API su CDC ° La presenza di JNI su CDC/ PP permette di superare alcune limitazioni e accedere direttamente alle funzionalità del sistema operativo Stefano Sanna, ja va ME per Palmari e PDA 3' hieoting Java Nlobilc: Dt’’(‘l(_)[)t‘l‘S Forum, Milano, 2l Febbraio 2006
  • 43. Java User Group Sardegna On w w ‘a. j u g C a l'0 0g "i .3 Lettura dati GPS Bluetooth - La JSR-82 è utilissima per accedere a GPS Bluetooth: — discovery del dispositivo — accesso allo stream NMEA attraverso RFCOMM - Attualmentej9 non include il supporto al| 'API per Bluetooth, ma è possibile raggiungere il risultato effettuando: - discovery e associazione del dispositivo attraverso le funzionalità del sistema operativo - accesso stream attraverso la porta seriale esportata dal sistema e una opportuna implementazione di javaComm Stefano Sanna, Java ME per Palmari e PDA 3' Nieeting Java biobile Developers Forum, Milano, 21 Febbraio 2006
  • 44. Jaxrei User Group Seirdegna Onlns w w r. _| l_IgCCir'CC(_; "i. :1 Cl Installazione javaComm - Il pacchetto (distribuzione Telio/ CESerial) è costituito da quattro file: — comm. jar + CESeriaI: contengono le classi Java. Devono essere inclusi nel classpath dell'applicazione — commapi. dII: è la libreria a caricamento dinamico nativa. Deve essere copiata nella directory Windows — javax. comm. properties: è il file contenente le property. Deve essere copiato nella directory contentente i file jAR Stefano Sanna, Java ME per Palmari e PDA 3' Nieeting Java Nlobilcè De. 'el(_)pt= rs Forum, Milano, 21 Febbraio 2006
  • 45. _]ara User Group S; ‘legna Onll w w ‘n. _| u i] C i3 r C 13g "i .3 r: l’ Enumerazione delle porte - Attenzione ai nomi delle porte: sistemi operativi diversi utilizzano schemi di naming differenti: Enumeration ports = CommPortIdentifier. getPortIdentifìers(); while (ports. hasMoreElements()) { CommPortIdentifier id = (CommPortIdentifier) ports. nextElement(); System.0ut. println("Port found: " + id. getNane()); } Stefano Sanna, Java ME per Palmari e PDA 3 reting Java Nltibilc: De'elt_)pt, -rs Forum, Milano, 2| Febbraio 2lÌlOti
  • 46. Java User Group Sardegna Onl s Vll‘ I “: " alla fine delI'identificatore sono specifici della libreria in uso! Il TextFieId-dello standard input! :—) Stefano Sanna, Java ME per Palmari e PDA 3' bieeting jax‘ Nlobile Developers Forum, Milano, 21 Febbrai
  • 47. _]ara User Group S in ardegna Onli ' ‘g: 1.: : GPSReader: apriamo la console SerialPort port = (SerialPort) CommPortIdentifier. getPortIdentifier(" port. (4806, SerialP0rt. DATABITS_8, Se rialPo rt . PARITY_ NONE) J ’/ 8N1@4800bpS BufferedReader buffer new BufferedReader(new InputStreamReader(p0rt. getInputStream())); String sentence; while((sentence buffer. readLine()) ! = null) { System. out. println(sentence); Stefano Sanna, Java ME per Palmari e P A 3' Meeting Java Mobile De'e| t_)pt, -rs Forum, Milano, 2| Febbra" “).0pen(“JMDF", 5000); SerialPort. STOPBITS_1, . ' l'4 l nnsule ‘mià3iaruòrzlr J-Bnmnns-g: 3-70’ ÒGÎGSVB, 1m, 15,87, 140,27, 16,72,29î 8G’G5V,2,2,lB, m,31,292,m, Cb,23,D& SGRK, OQW317W. À.3QI4.4IZB, N,OÙ S@GGA, O9É4.7%,39M.412B, N,0DK 3G’G‘3À. À.3,22.Ù6.21. 19.. ... ... .5-9.3.7.: 8315952,1,m, l5,E7,140,E,16,72,29Z 8@GSV,2,2.W, CB,31,292,CIJ, %,23.É 8@RW, O%B34.7BB, A,3914.412B, N,0D 3®GGÀ. Ù3%35.7@.3914.412B. N.00K ‘mJAi3I2I06b21J18JIIIII0JI5'gr3-7|' S@GSV,2,1.m,15,B7.140,27.16,72,29E 8G7G5V,2,2,m,03,3l,292,m, %,23,D& 3@RMC, Ù93B5.7B9.A.3914.4129.N. Ù0 8G3GGA. O9%6.75.3914.4128,N,0DH 7x45 III m o
  • 48. _]ara User Group Seirdegna Onln V-"JJ i u QCCHCC‘ g "i . :i ci’; Non solo AWT. .. - Il supporto AWT base fornito dal PBP e la disponibilità di JNI permettono di utilizzare differenti toolkit di componenti grafici: - LWVCL: - è una libreria di componenti grafici Iightweight, attualmente disponibile perJZSE, j2ME (Personallava, PersonalProfile, MIDP), SWT, .NET - eSWT: - è il porting ragionato del set di componenti nativi della piattaforma RCP, nato in seno al progetto EcHpse - prestazioni e L&F eccellenti! Stefano Sanna, ja va ME per Palmari e PDA 3' hieoting Java Nlobilc: Develt_ipers Forum, Milano, 2| Febbraio 2006
  • 49. e n, j n. a. , - — g 5 .4 .1 ‘ha .4 .4 u. .. i A fine 2005 Nokia ha annunciato che le future generazioni dei terminali Series 60 includeranno un runtime CDC. - " , m e E‘ iniziato il porting q eswîuireaiurésfl l. di eSWT per tali i i i r dispositivi. Srikanth Raj ajava Polis 2005 i i F: r,
  • 50. Java User Group Seirdegna Onln. w w r. _| l_igCCir'Ci3(_i"i. :i " Conclusioni - I PDA sono dispositivi insostituibili per usabilità, potenza, connettività e espandibilità: sono la soluzione ideale per numerosi scenari applicativi - Java ME offre opportunità entry-Ievel (MIDP) e avanzate (PP): come già avvenuto in passato, con risorse modeste si può sperimentare e acquisire dimestichezza con questa classe di device - Un dubbio: avremo, in futuro, tutti i PDAJava- enabled senza necessità di acquistare software opzionale? Ringrazio Demis Castagna (1ava Italian Portal. JUG Roma) per il supporto nei test su Windows Mobile 5 Stefano Sanna, Java ME per Palmari e PDA 3' Nieeting Java Nlobilc: D8Vf_‘| (_)pt‘l‘S Forum, Milano, 2| Febbraio 2006
  • 51. _]ara User Group Seirdegna Onln. VJW iiig: aroi: -giw. :i r Specifiche - PersonalProfile Programmer Guide — http: //java. sun. com/ j2me/ docs/ pdf/ PP_Programmer_ Guide. pdf - Personal Basis Profile Programmer Guide - http: //java. sun. com/ j2me/ docs/ pdf/ PBP_Programmer_ Guide. pdf - Sun Microsystems fornisce implementazioni di riferimento per l'intero stack basato su CDC. Documentazione, codice e binari su: http: //java. sun. com/ j2 me Stefano Sanna, ja va ME per Palmari e PDA 3' hieoting Java lviobilc: Develt_ipers Forum, Milano, 2| Febbraio 2006
  • 52. _]ara User Group Sardegna Onlir v. ‘ w ‘n. i l_l i] C .3 l E2111} "i .3 r: l’: Tools - Nokia Series 80 Platform SDK's for Symbian OS, for Java (Personal Profile) — http: //www. forum. nokia. com/ main/0,6566.034-367,00.htm| - Microsoft Remote Display Control - http: //www. microsoft. com/ technet/ prodtechnol/ wce/ downloadS/ Ppctoys. mspx#EGAA - IBM WebSphere Wireless Technologies — http: //www. ibm. com/ deveIoperworks/ websphere/ zones/ wireIessl - Java Programming on Palm — http: //www. paImoscom/ dev/ tech/ java/ deveIopers. html Stefano Sanna, Java ME per Palmari e PDA 3' Meeting Java Mobile De'e| t_)pt, -rs Forum, Milano, 2| Febbraio 2lÌlOlÎi
  • 53. Java User Group S; ‘ mi l t l ‘i Grazie per l'attenzione : —) 4 . I» r4- K Farmer Clern meets the 21st C by IumixZOO-‘l httpz/ lwwwsxchu/ browse. ph(ml? l= prollleail = Iumix2004 Stefano Sanna, Java ME er Palmari e PDA 3' Meeting Java Mobile Developers Forum, Milano, 21 Febbraio 2006
  • 54. _]aa User (Îroiip Sardegi (ìnlns i'll‘ _ _ Cl’; Java ME per Palmari e PDA | (Versione 1.0) l l è garantito il permesso di copiare, distribuire e/ o modificare questo documento seguendo i (C) 2006 Stefano Sanna (gerdavaxmlscalhlt) termini della Licenza per Documentazione Libera GNU. Versione 1.1 o ognl versione successiva pubblicata dalla Free Software Foundation. Una copia della licenza In lingua italiana è disponibile presso: httm/ Iwwviusoftwarellbero. ItIgnudoclfdIJtJitmI l Reallzto ln ambiente Windows con OpenOffice 2.0 ‘Tutti i marchi commerciali sono di proprietà dei rispettivi titolari e sono stati citati in questa presentazione p solo scopo illustrativo. Stefano Sanna, java ME per Palmari e PDA 3' l ' g Java Nlobili: Deve| c_)pi, =r's Forum. Milano, 2| Febbraio T! lilli

×