Java ME - Stefano Sanna – gerdavax.it

Transcript

Java ME - Stefano Sanna – gerdavax.it
Corso Java ME
Sviluppo di applicazioni per telefoni
cellulari e computer palmari
http://www.gerdavax.it/corsojavame
Stefano Sanna
Versione 1.0.1
7 Giugno 2006
[email protected]
Corso Java ME – http://www.gerdavax.it/corsojavame
1
Licenza
Copyright e marchi citati
Corso Java ME – http://www.gerdavax.it/corsojavame
2
Licenza
●
Il materiale prodotto per questo corso (slide,
codice sorgente, immagini originali) è stato
rilasciata sotto la licenza
Creative Commons
Attribuzione-NonCommerciale-StessaLicenza2.5
●
Per leggere una copia della licenza visita il sito
web:
–
http://creativecommons.org/licenses/publicdomain/
o spedisci una lettera a Creative Commons, 559
Nathan Abbott Way, Stanford, California 94305,
USA
Corso Java ME – http://www.gerdavax.it/corsojavame
3
Licenza... in pratica :-)
●
●
E' consentito:
–
utilizzare le slide per autoistruzione
–
utilizzare le slide per corsi all'interno di scuole
pubbliche o università
–
stampare le slide per uso personale
–
ridistribuire copia delle slide senza modifiche
Non è consentito:
–
utilizzare le slide per tenere un corso a pagamento
–
utilizzare le slide per un qualsiasi scopo
nascondendo le informazioni sull'autore
–
modificare il contenuto delle slide
Corso Java ME – http://www.gerdavax.it/corsojavame
4
Limitazione di responsabilità
Malgrado l'impegno e la buona volontà a fornire
contenuti tecnicamente corretti, è possibile che ci
siano errori. Per questo motivo e data la gratuità
della licenza, il materiale è fornito “COSI' COM'E'”,
“AS IS”, e non si fornisce alcuna garanzia sulle
informazioni contenute in questa presentazione né ci
si assume alcuna responsabilità da eventuali danni
causati dall'uso proprio o improprio delle suddette.
Corso Java ME – http://www.gerdavax.it/corsojavame
5
Marchi citati
●
●
●
I marchi dei prodotti citati in questa presentazione
sono di proprietà dei rispettivi titolari
Java e tutti i marchi e simboli ad esso correlati
sono di proprietà di Sun Microsystems
L'autore non ha alcun legame con Sun
Microsystems e con i produttori dei dispositivi e
dei software citati in questa presentazione. Le
considerazioni esposte hanno carattere di
disquisizione tecnica e non esprimono giudizi
positivi o negativi su nessun prodotto
Corso Java ME – http://www.gerdavax.it/corsojavame
6
Java ME
La piattaforma per dispositivi mobili
Corso Java ME – http://www.gerdavax.it/corsojavame
7
Java ME
●
●
●
●
“Java Platform, Micro Edition”, “Java ME”,
“JME” sono i nomi che identificano la
specializzazione delle tecnologie legate al
linguaggio Java per il mercato dei dispositivi
mobili ed embedded
Java ME è un insieme di specifiche (Java
Specification Request, JSR) rilasciate dal Java
Community Process, JCP
E' una tecnologia matura, supportata dai maggiori
player del mercato della telefonia mobile e
coinvolge milioni di sviluppatori
Il mercato delle applicazioni per dispositivi mobili
è in continua crescita: prima giochi, oggi musica,
video, instant messaging, Location-Based Services
Corso Java ME – http://www.gerdavax.it/corsojavame
8
Dove è disponibile Java ME
●
Prima di affrontare lo sviluppo su Java ME è
importante capire su quali sistemi è attualmente
disponibile:
–
–
Piattaforme stabili e ben supportate:
●
Sistemi operativi proprietari
●
Symbian OS
●
Windows Mobile
●
Savaje (in crescita)
●
PalmOS
Piattaforme... da tenere d'occhio:
●
●
Maemo (in attesa che ci sia un buon runtime)
Nuovo PalmOS (in attesa che ci sia chiarezza sul sistema
operativo e sugli ambienti di sviluppo supportati)
Corso Java ME – http://www.gerdavax.it/corsojavame
9
Java ME qualche anno fa...
Fonte: Sun Microsystems
Corso Java ME – http://www.gerdavax.it/corsojavame
10
Java ME da oggi in poi...
Fonte: Sun Microsystems
Corso Java ME – http://www.gerdavax.it/corsojavame
11
Virtual Machine, Configurazioni, Profili
●
Virtual Machine
–
●
Configurazione
–
●
E' il motore Java che fornisce la prima astrazione
rispetto all'hardware del dispositivo: è parte
integrante della distribuzione del sistema
operativo, lo sviluppatore non interagisce con essa
E' il set funzionalità e di classi comune ad una
famiglia di dispositivi caratterizzati da potenza
hardware simile. E' l'interfaccia verso la virtual
machine. Non definisce una GUI!
Profilo
–
E' la specializzazione della Configurazione su una
tipologia di prodotto. Definisce il modello delle
applicazioni, la GUI (se esiste...), la persistenza...
Corso Java ME – http://www.gerdavax.it/corsojavame
12
Configurazioni e Profili
●
●
●
Con buona approssimazione, lo sviluppatore può
considerare Virtual Machine e Configurazione
come un tutt'uno: rappresentano il livello più
basso di astrazione dell'hardware, del quale
rispecchiano le caratteristiche
La Configurazione non rappresenta un
dispositivo preciso ma l'hardware di base con cui
si costruiscono famiglie di dispositivi
Il Profilo rappresenta la differenziazione di una
base hardware su prodotti specifici: esso “decide”
se una board (opportunamente completata)
diventerà un cellulare, oppure un navigatore per
auto o un totem informativo dell'aeroporto
Corso Java ME – http://www.gerdavax.it/corsojavame
13
Configurazioni
●
●
CDC: Connected Device Configuration
–
Equipaggia: palmari, set-top box, navigatori
–
Profili:
●
Foundation Profile
●
Personal Basis Profile
●
Personal Profile
CLDC: Connected, Limited Device Configuration
–
Equipaggia cellulari, pager, palmari
–
Profili:
●
Mobile Information Device Profile (MIDP)
●
Information Module Profile (IMP)
Corso Java ME – http://www.gerdavax.it/corsojavame
14
CDC, FP, PBP, PP: la squadra!
●
●
Rispetto al mondo CLDC (una configurazione, un
profilo), CDC e i relativi profili costituiscono un
ecosistema complesso e modulare:
CDC:
–
●
FP:
–
●
Foundation Profile
PBP:
–
●
Connected Device Configuration
Personal Basis Profile
PP:
–
Personal
Profile
Personal
Basis
Profile
Foundation
Profile
Personal Profile
Corso Java ME – http://www.gerdavax.it/corsojavame
CDC
15
Chi fa cosa: CDC e FP
●
CDC (JSR 36):
–
●
Fornisce una VM compatibile J2SE, con un subset
della libreria standard (1.3 per CDC 1.0, 1.4 per
CDC 1.1):
●
java.lang, java.lang.ref, java.lang.reflect, java.math
●
java.io, java.net, javax.microedition.io
●
java.security, java.security.cert
●
java.text, java.util, java.util.jar, java.util.zip
Foundation Profile (JSR 46):
–
Completa i package forniti da CDC, per avere piena
copertura della libreria standard 1.3.1
Corso Java ME – http://www.gerdavax.it/corsojavame
16
Chi fa cosa: PBP e PP
●
Personal Basis Profile (JSR 129):
–
●
Aggiunge il supporto base AWT per componenti
lightweight 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.xlet.ixc
Personal Profile (JSR 62):
–
Completa il supporto AWT con i componenti nativi:
●
java.applet, java.awt.datatransfer
Corso Java ME – http://www.gerdavax.it/corsojavame
17
CDC e PP: vantaggi in breve
●
●
●
●
●
Standard library molto più ricca rispetto a
CLDC/MIDP, 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 Java non offre può
essere sviluppato ad hoc se necessario (ad
esempio, interazione con la taskbar)
Possibilità di usare componenti nativi e di
utilizzare altre librerie grafiche (HAVi, DVB...)
Rivisitazione in chiave “JME” dell'esperienza
maturata su Personal Java
Corso Java ME – http://www.gerdavax.it/corsojavame
18
Tre modelli applicativi
●
Il top della gamma Java ME lascia ampia libertà
allo sviluppatore, che può scegliere il modello
applicativo più opportuno:
–
Stand-alone: l'applicazione è indipendente dal
ambiente di esecuzione: il metodo main()
costituisce l'entry point, non vi è altra interazione
con il sistema operativo
–
Managed: l'applicazione (Xlet) è gestita da un
XletManager, che le assegna un Context con il
quale interagisce. Attivazione, sospensione e
disattivazione passano per il Manager
–
Embedded: Applet eseguite all'interno
dell'AppletViewer o di un browser web
Corso Java ME – http://www.gerdavax.it/corsojavame
19
CDC: API opzionali
●
●
Sono attualmente definite alcune API per CDC:
–
J2ME 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/
Corso Java ME – http://www.gerdavax.it/corsojavame
20
CLDC
●
●
●
●
E' configurazione low-end della piattaforma Java
ME progettata per il mercato consumer
Hardware di riferimento:
–
CPU a 16 e 32 bit
–
memoria minima 192KByte
–
componentistica a basso consumo; alimentazione a
batterie
–
connettività discontinua a banda stretta
Rientrano in questa categoria PDA, cellulari,
pager, POS, vending-machine, tv-box portatili
CLDC non definisce un modello applicativo,
non fornisce componenti per l'interfaccia grafica,
né specifica le funzionalità di networking
Corso Java ME – http://www.gerdavax.it/corsojavame
21
CLDC: principali caratteristiche
●
●
CLDC impone notevoli limitazioni rispetto alla
piattaforma standard:
–
class library limitata
–
nessuna reflection, niente serializzazione
–
nessun supporto JNI, niente classloader multipli
–
modello di threading semplificato
–
utility set ridotto (manca la Collection API)
–
I/O elementare
–
clamorose assenze: BufferedReader,
StringTokenizer...
Mancano tutti gli enhancement di Java 5.0 :-(
Corso Java ME – http://www.gerdavax.it/corsojavame
22
CLDC 1.0 e CLDC 1.1
●
La versione 1.1 introduce alcune importanti
migliorie, che tengono conto dell'incremento di
prestazioni dell'hardware entry-level e delle
richieste provenienti dai produttori dei dispositivi
e degli sviluppatori:
–
supporto aritmetica floating point (float, double e
relative classi wrapper più tutte le modifiche
necessarie alla standard library)
–
piccoli aggiustamenti sulla libreria standard (String,
Thread...) per avere qualche funzionalità in più e
una maggiore aderenza alla piattaforma standard
Corso Java ME – http://www.gerdavax.it/corsojavame
23
Mobile Information Device Profile
●
●
E' la specializzazione di CLDC per telefoni cellulari,
pager, palmari low-end
E' il profilo telefonico per eccellenza:
–
Definisce un set minimo ma funzionale per la
creazione di interfacce grafiche per display
mouse-less & pen- less
–
Offre connettività wireless e un servizio base di
persistenza locale
–
E' sufficientemente leggero e astratto da poter
essere portato su una grande varietà di dispositivi
e di piattaforme
–
E' continuamente aggiornato e arricchito da librerie
opzionali
Corso Java ME – http://www.gerdavax.it/corsojavame
24
MIDP 1.0
●
Specifica rilasciata a settembre 2001
●
Funzionalità:
●
–
Interfacce grafiche elementari
–
Connessioni HTTP
–
Persistenza dei dati sul dispositivo
Principali limiti:
–
Nessuna funzione multimediale
–
Nessun supporto a connessioni
sicure
–
Mancanza di componenti
personalizzabili
Corso Java ME – http://www.gerdavax.it/corsojavame
Nokia 7650, uno dei
cellulari MIDP sul mercato
italiano
25
MIDP 2.0
●
Rilasciata a fine 2002
●
Miglioramenti:
–
Possibilità di definire componenti
grafici personalizzati
–
Maggior numero di protocolli di
rete supportati (compreso https)
–
Funzionalità di base per gestione
file audio
–
API avanzate per lo sviluppo di
videogiochi
–
Push Registry
–
Nuovo modello di sicurezza
Nokia 6600, uno dei primi
cellulari MIDP 2.0, con
estensioni multimediali e
supporto Bluetooth
Corso Java ME – http://www.gerdavax.it/corsojavame
26
MIDP 3.0
●
●
Il Java Community Process ha iniziato a lavorare al
JSR 271, nella cui agenda figurano:
–
Multitasking e background MIDlets
–
Potenziamento GUI e uso del secondo display
–
Internazionalizzazione più potente
–
Supporto per diversi tipi di reti (Wi-Fi, telefonica...)
–
Standardizzazione delle interfacce per
l'installazione delle applicazioni
Early Draft Specification attesa per metà giugno
2006...! :-)
Corso Java ME – http://www.gerdavax.it/corsojavame
27
Information Module Profile
●
●
●
E' il profilo basato su CLDC e specializzato per il
M2M (Machine-To-Machine)
Eredita la maggior parte dei
concetti di MIDP, ad esclusione
della interfaccia grafica (in
alcuni moduli aggiunge il
supporto a ingressi
e uscite analogiche e digitali
Siemens TC65
Le applicazioni per questo profilo (JSR 195) sono
dette IMlet e sono pensate per
l'esecuzione in moduli embedded
per sistemi di telecontrollo
Nokia MP12
Corso Java ME – http://www.gerdavax.it/corsojavame
28
API opzionali
●
●
CLDC e MIDP permettono di costruire applicazioni
“elementari”. La vera ricchezza è nelle API
opzionali:
–
Wireless Messaging API (JSR 120 & 205)
–
Mobile Media API (JSR 135)
–
Mobile 3D Graphics (JSR 184)
–
Bluetooth API (JSR 82)
–
FileConnection & PIM API (JSR 75)
–
Web Services API (JSR 172)
–
Location API (JSR 179)
Queste sono le API più comuni...
Corso Java ME – http://www.gerdavax.it/corsojavame
29
Nuove API opzionali
●
Sono in fase di imminente rilascio dispositivi con
runtime che supportano le ultime API:
–
Security and Trust Services API (JSR 177)
–
Advanced Graphics and User Interface Optional
Package (JSR 209, per CDC)
–
Content Handler API (JSR 211)
–
SIP API (JSR 180)
–
Scalable 2D Vector Graphics API (JSR 226)
–
Advanced Multimedia Supplements (JSR 234)
–
Mobile Telephony API (JSR 23)
–
Mobile Sensor API (JSR 256)
–
Unified Message Box Access API (JSR 266)...
Corso Java ME – http://www.gerdavax.it/corsojavame
30
Device fragmentation
●
●
●
L'offerta dei dispositivi mobili è estremamente
variegata, in termini funzionalità e prezzo
Prodotti apparentemente simili (ad esempio, due
telefoni cellulari...) possono avere caratteristiche
hardware e software assolutamente incomparabili
tra loro: si può passare da pochi MB di memoria e
display 96x96 a centinaia di MB e risoluzioni VGA
L'architettura fortemente modulare di Java ME
lascia ampia libertà ai produttori di dispositivi di
diversificare al massimo l'offerta di prodotti
Corso Java ME – http://www.gerdavax.it/corsojavame
31
Device fragmentation
●
●
Il numero delle possibili combinazioni di
funzionalità su un terminale aumenta per il fatto
che ciascuna specifica definisce, a sua volta,
caratteristiche opzionali
Problemi:
–
data una qualsiasi applicazione non banale, è
estremamente difficile riuscire a scrivere codice
che funzioni perfettamente su ogni terminale
–
sfruttare le caratteristiche di un dispositivo
penalizza fortemente la portabilità
–
dato il dispositivo X è difficile, senza
documentazione opportuna, stabilirne le
caratteristiche
Corso Java ME – http://www.gerdavax.it/corsojavame
32
Java Technology for Wireless Industry
●
●
Al fine di offrire una maggiore standardizzazione
dei dispositivi e armonizzare la scelta delle
funzionalità opzionali, il JCP ha rilasciato la JSR
185, denominata “Java Technology for Wireless
Industry”
La specifica ha come obiettivi:
–
chiarire le ambiguità e le incomprensioni derivanti
dalle specifiche CLDC e MIDP
–
definire un set minimo di funzionalità che tutti i
dispositivi JTWI-compliant devono avere
–
definisce alcune feature opzionali dei componenti
(si veda il comportamento dei TextField)
Corso Java ME – http://www.gerdavax.it/corsojavame
33
Mobile Service Architecture
●
JTWI non è più sufficiente per “dominare” la
complessità di Java ME: nasce la Mobile Service
Architecture, una iniziativa che mira ad offrire
maggiore portabilità cross-vendor:
Fonte: Sun Microsystems
Corso Java ME – http://www.gerdavax.it/corsojavame
34
MSA per CLDC
●
Questi i device CLDC MSA-compliant del prossimo
futuro:
Fonte: Sun Microsystems
Corso Java ME – http://www.gerdavax.it/corsojavame
35
I riferimenti principali
●
Sun Microsystems:
–
●
●
http://java.sun.com/j2me
Java Community Process:
–
http://jcp.org/
–
http://jcp.org/en/jsr/tech?listBy=1&listByType=platf
orm
Community italiane:
–
Java Mobile Developers Forum, JMDF:
http://jmdf.java2me.org
–
JUG Sardegna: http://www.jugsardegna.org
–
JIA, Java Italian Association: http://www.jia.it
Corso Java ME – http://www.gerdavax.it/corsojavame
36
Java ME
Strumenti di sviluppo
Corso Java ME – http://www.gerdavax.it/corsojavame
37
Strumenti di sviluppo
●
●
Java ME è una tecnologia matura, per la quale
esiste una grande varietà di strumenti gratuiti
(open source e proprietari), tool commerciali,
utility, librerie e una ricca documentazione
In questo corso saranno presentati, fintanto che
sarà possibile, solo strumenti gratuiti e open
source. Saranno opportunamente segnalate
alternative commerciali
Corso Java ME – http://www.gerdavax.it/corsojavame
38
Strumenti di sviluppo
●
●
●
Ambienti di sviluppo
–
Sun Wireless Toolkit
–
Netbeans + Mobility Pack
–
Eclipse + EclipseME
Strumenti dei vendor di dispositivi
–
Nokia Carbide.j + Java ME SDKs
–
Sony-Ericsson SDK
–
Motorola SDK
Strumenti di testing
–
J2MEUnit
–
Gatling (Motorola)
Corso Java ME – http://www.gerdavax.it/corsojavame
39
Riferimenti
●
Strumenti di sviluppo gratuiti (per alcuni è
necessaria la registrazione sul sito):
–
Netbeans: http://www.netbeans.org
–
EclipseME: http://eclipseme.org/
–
Nokia: http://www.forum.nokia.com
–
Sony-Ericsson: http://developer.sonyericsson.com
–
Motorola: http://developer.motorola.com
–
BenQ: http://www.benqmobile.com/developer
–
Samsung: http://developer.samsungmobile.com
Corso Java ME – http://www.gerdavax.it/corsojavame
40
Java Wireless Toolkit
●
●
●
E' lo strumento fondamentale per il processo di
sviluppo per CLDC/MIDP
Fornisce funzionalità elementari per la gestione
dei progetti e un piccolo set di emulatori astratti
E' estendibile, personalizzabile, integrato con la
maggior parte degli IDE
Corso Java ME – http://www.gerdavax.it/corsojavame
41
Java Wireless Toolkit 2.2
●
La stable version attuale è la 2.2 e supporta:
–
CLDC 1.1 (JSR 139)
–
MIDP 2.0 (JSR 118)
–
JTWI 1.0 (JSR 185)
–
Wireless Messaging API 2.0 (JSR 205)
–
Mobile Media API 1.1 (JSR 135)
–
PDA & PIM API (JSR 75)
–
Java APIs for Bluetooth (JSR 82)
–
Web Services API (JSR 172)
–
Mobile 3D Graphics API (JSR 184)
Corso Java ME – http://www.gerdavax.it/corsojavame
42
Java Wireless Toolkit: preferenze
●
Il Java Wireless Toolkit dispone di una ricco set di
funzionalità e configurazioni che permettono di
impostare i parametri più importanti di
emulazione:
–
Environment: velocità di esecuzione virtual
machine, latenza del sottosistema grafico,
dimensione heap e storage area, security
–
Networking: proxy, limitazione sulla banda
disponibile
–
Monitor: network monitor, memory monitor,
profiler
–
Strumenti di emulazione per messaggistica SMS
e connessioni Bluetooth
Corso Java ME – http://www.gerdavax.it/corsojavame
43
Java Wireless Toolkit: network
Corso Java ME – http://www.gerdavax.it/corsojavame
44
Java Wireless Toolkit: performance
Corso Java ME – http://www.gerdavax.it/corsojavame
45
Java Wireless Toolkit: monitor
Corso Java ME – http://www.gerdavax.it/corsojavame
46
Java Wireless Toolkit: storage
Corso Java ME – http://www.gerdavax.it/corsojavame
47
Java Wireless Toolkit: WMA
Corso Java ME – http://www.gerdavax.it/corsojavame
48
Java Wireless Toolkit: security
Corso Java ME – http://www.gerdavax.it/corsojavame
49
Java Wireless Toolkit: Bluetooth
Corso Java ME – http://www.gerdavax.it/corsojavame
50
Profiler e Memory Monitor
Il Garbage Collector è
entrato in azione!!!
Corso Java ME – http://www.gerdavax.it/corsojavame
51
Java Wireless Toolkit 2.3 (beta)
●
●
La nuova versione del Wireless Toolkit,
attualmente in beta, è totalmente aderente alla
specifica JTWI e aggiunge supporto per:
–
Security and Trust Services API (JSR 177)
–
Location API (JSR 179)
–
Content Handler API (JSR 211)
Per adesso esiste solo la versione Windows...
Corso Java ME – http://www.gerdavax.it/corsojavame
52
Netbeans + Mobility Pack
●
●
●
Netbeans 5.0, insieme al Mobility Pack (per MIDP)
e al CDC Mobility Pack è lo strumento più
completo e efficace per lo sviluppo di applicazioni
per device mobili
Offre supporto a:
–
Controllo completo su tutto il processo di sviluppo
–
Configurazioni multiple per diversi dispositivi
–
Localizzazione delle applicazioni
–
Integrazione con web services e web applications
E' stato recentemente rilasciato il CDC Mobility
Pack, che permette di sfruttare appieno le
caratteristiche della configurazione superiore
Corso Java ME – http://www.gerdavax.it/corsojavame
53
Non solo Windows...
●
●
Microsoft Windows è l'ambiente di sviluppo
d'eccellenza per JME
–
Tutti i tool di sviluppo e gli SDK dei produttori di
dispositivi sono rilasciati per Windows!
–
Le utility per la connettività e per l'ODD (OnDevice-Debugging) sono
Per Linux e Mac OS X esistono soluzioni robuste e
“di salvataggio”, talvolta prodotte dalle
community. Forte (e incomprensibile!) la totale
assenza dei produttori dei dispositivi, che
sembrano del tutto indifferenti ai due sistemi
operativi: non esistono nemmeno le suite per la
sincronizzazione dei dati utente!!!
Corso Java ME – http://www.gerdavax.it/corsojavame
54
Sviluppo in ambiente Linux
●
●
●
Java Wireless Toolkit, Netbeans e Mobility Pack
sono disponibili per Linux!!! :-)
Purtroppo mancano gli emulatori e altre utility dei
produttori dei dispositivi...
–
La Nokia J2ME Devloper's Suite era supportata sino
alla versione 2.2
–
La comunità degli sviluppatori
IBM distribuisce la versione per Linux del
WebSphere Device Developer e relativi runtime
Corso Java ME – http://www.gerdavax.it/corsojavame
55
Sviluppo in ambiente Mac OS X
●
●
●
●
Mac OS X è l'ambiente più penalizzato: manca il
Mobility Pack, non esiste alcun supporto dai
produttori dei dispositivi.
Inizialmente ci sono stati tentativi di porting del
wireless toolkit e dei workaround per
mpowerplayer è un emulatore e SDK che
permette lo sviluppo e il test di applicazioni Java
ME. Supporta:
–
MIDP 2.0
–
Bluetooth API
–
Mobile 3D Graphics
Info: http://www.mpowerplayer.com/
Corso Java ME – http://www.gerdavax.it/corsojavame
56
mpowerplayer
Corso Java ME – http://www.gerdavax.it/corsojavame
57
Utility e accessori
●
Lo sviluppo Java ME può essere semplificato
utilizzando alcune utility e accessori:
–
Symbian:
●
●
●
–
ScreenShot: per catturare ciò che appare nel display del
telefono
File Explorer: per rimuovere eventuali file danneggiati
GNUBox: per avere connettività IP sfruttando il PC (via
Bluetooth) anziché la rete telefonica
Windows Mobile:
●
●
Remote Display: esporta in tempo reale il display del
PDA sul PC
ssMagic: per catturare l'immagine sullo schermo
Corso Java ME – http://www.gerdavax.it/corsojavame
58
Uso di Netbeans
●
DEMO
Corso Java ME – http://www.gerdavax.it/corsojavame
59
Nuovo progetto (1)
Corso Java ME – http://www.gerdavax.it/corsojavame
60
Nuovo progetto (2)
Corso Java ME – http://www.gerdavax.it/corsojavame
61
Nuovo progetto (3)
Corso Java ME – http://www.gerdavax.it/corsojavame
62
Nuovo progetto (4)
Corso Java ME – http://www.gerdavax.it/corsojavame
63
Nuovo progetto (5)
Corso Java ME – http://www.gerdavax.it/corsojavame
64
Nuovo progetto (6)
Corso Java ME – http://www.gerdavax.it/corsojavame
65
Nuovo progetto (7)
Corso Java ME – http://www.gerdavax.it/corsojavame
66
Corso Java ME
http://www.gerdavax.it/corsojavame
Corso Java ME – http://www.gerdavax.it/corsojavame
67