36
[email protected] www.mobilab.unina.it Napoli, Maggio-Giugno 07 Mobilab European Master on Critical Networked Systems Mobile Systems S. Russo European Master on Critical Networked Systems Modulo su Mobile Systems Dipartimento di Informatica e Sistemistica Via Claudio 21, 80125 Napoli Docente: Ing. Salvatore Orlando Parte III: Sviluppo di applicazioni J2ME Lezione 3: IDE ed emulatori

European Master on Critical Networked Systems€¦ · • Java APIs for Bluetooth (JSR 82) • Mobile Media API (MMAPI) (JSR 135) • J2ME Web Services Specification (JSR 172) •

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: European Master on Critical Networked Systems€¦ · • Java APIs for Bluetooth (JSR 82) • Mobile Media API (MMAPI) (JSR 135) • J2ME Web Services Specification (JSR 172) •

[email protected]

Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems

Mobile SystemsS. Russo

European Master on Critical Networked SystemsModulo su Mobile Systems

Dipartimento di Informatica e SistemisticaVia Claudio 21, 80125 Napoli

Docente: Ing. Salvatore Orlando

Parte III: Sviluppo di applicazioni J2ME

Lezione 3: IDE ed emulatori

Page 2: European Master on Critical Networked Systems€¦ · • Java APIs for Bluetooth (JSR 82) • Mobile Media API (MMAPI) (JSR 135) • J2ME Web Services Specification (JSR 172) •

[email protected]

Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems

Mobile SystemsS. Russo

::. Contenuti della lezione

IDE per lo sviluppo di Applicazioni J2MEJ2ME Wireless ToolkitNetBeansEclipse - MTJWebSphere Studio Device DeveloperCarbIDE.j

Emulatori di dispositivi J2ME

Page 3: European Master on Critical Networked Systems€¦ · • Java APIs for Bluetooth (JSR 82) • Mobile Media API (MMAPI) (JSR 135) • J2ME Web Services Specification (JSR 172) •

[email protected]

Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems

Mobile SystemsS. Russo

::. Integrated Development Enviroments (IDE)

• In linea di principio è possibile sviluppare una qualunque applicazionecon un editor di testo ed un compilatore

• Nella pratica l’utilizzo degli ambienti di sviluppo riduce drasticamente i tempi di sviluppo

• Nell’ambito J2ME la necessità di un ambiente di sviluppo integrato è particolarmente sentita:

• Necessità di disegnare interfacce grafiche (a meno che non si usi il Foundation Profile)

• Gestione degli eventi di navigazione tra i Displayables delle MidLets

• Gestione degli “optional packages” da utilizzare nelle applicazioni (Es.: JSR-172 per i web services)

• Creazione del jad-file nelle applicazioni MIDP

• Gestione del Deployment

• Debugging (richiede un emulatore)

Page 4: European Master on Critical Networked Systems€¦ · • Java APIs for Bluetooth (JSR 82) • Mobile Media API (MMAPI) (JSR 135) • J2ME Web Services Specification (JSR 172) •

[email protected]

Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems

Mobile SystemsS. Russo

::. Integrated Development Enviroments (IDE)

• Nel seguito verranno presentati diversi ambienti di sviluppo per applicazioni J2ME

• Verranno prese in considerazione le seguenti caratteristiche:

• Disponibilità (Windows / Linux)

• Tipo Licenza (Commerciale / Shareware / Freeware / GPL / CPL )

• Configurazioni e Profili Targeted

• Java Virtual Machine di riferimento

• Features specifiche J2ME (Es.: GUI Designers, On device debugging, …)

• Estendibilità dell’ambiente di sviluppo

Page 5: European Master on Critical Networked Systems€¦ · • Java APIs for Bluetooth (JSR 82) • Mobile Media API (MMAPI) (JSR 135) • J2ME Web Services Specification (JSR 172) •

[email protected]

Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems

Mobile SystemsS. Russo

::. J2ME Wireless Toolkit

• Vendor: Sun Microsystems

• Licenza: Freeware (codice sorgente non disponibile)“You may reproduce and use the Software for Your own Individual, Commercial, or Researchand Instructional Use, subject to and conditioned on Your compliance with the AdditionalTerms below. Additional Terms”

• Disponibilità: Windows / Linux

• Ultima versione conosciuta: 2.5.1 (22 maggio 2007)

• Configurazioni Targeted: CLDC (Esiste un’analogo Sun Java Toolkit per CDC)

• Profili Targeted: MIDP

• Virtual Machine di riferimento: Sun CLDC Hotspot Implementation

• Url per il download: http://java.sun.com/products/sjwtoolkit/download-2_5_1.html

Page 6: European Master on Critical Networked Systems€¦ · • Java APIs for Bluetooth (JSR 82) • Mobile Media API (MMAPI) (JSR 135) • J2ME Web Services Specification (JSR 172) •

[email protected]

Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems

Mobile SystemsS. Russo

::. J2ME Wireless Toolkit

• Non è un vero e proprio IDE

• Non include tools quali code editors, gui generators o deploy managers

• Supporta firma digitale per le applicazioni

• Supporta obfuscation (con package di terze parti, ProGuard)

Struttura delle cartelle di un

progetto

Page 7: European Master on Critical Networked Systems€¦ · • Java APIs for Bluetooth (JSR 82) • Mobile Media API (MMAPI) (JSR 135) • J2ME Web Services Specification (JSR 172) •

[email protected]

Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems

Mobile SystemsS. Russo

::. J2ME Wireless Toolkit

• Mobile Service Architecture (JSR 248)• Java Technology for the Wireless Industry (JTWI) (JSR 185)• PDA Optional Packages for the J2ME Platform (JSR 75)• Java APIs for Bluetooth (JSR 82)• Mobile Media API (MMAPI) (JSR 135)• J2ME Web Services Specification (JSR 172)• Security and Trust Services API for J2ME (JSR 177)• Location API for J2ME (JSR 179)• SIP API for J2ME (JSR 180)• Mobile 3D Graphics API for J2ME (JSR 184)• Wireless Messaging API (WMA) 2.0 (JSR 205)• Content Handler API (JSR 211)• Scalable 2D Vector Graphics API for J2ME (JSR 226)• Payment API (JSR 229)• Advanced Multimedia Supplements (JSR 234)• Mobile Internationalization API (JSR 238)• Java Binding for the OpenGL(R) ES API (JSR 239)

Caratteristiche Supportate (Optional Packages)

Page 8: European Master on Critical Networked Systems€¦ · • Java APIs for Bluetooth (JSR 82) • Mobile Media API (MMAPI) (JSR 135) • J2ME Web Services Specification (JSR 172) •

[email protected]

Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems

Mobile SystemsS. Russo

::. J2ME Wireless Toolkit

Schermata principale e creazione di un nuovo progetto

Console con log Operazioni

Page 9: European Master on Critical Networked Systems€¦ · • Java APIs for Bluetooth (JSR 82) • Mobile Media API (MMAPI) (JSR 135) • J2ME Web Services Specification (JSR 172) •

[email protected]

Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems

Mobile SystemsS. Russo

::. J2ME Wireless ToolkitFinestra Configurazione Progetto

• Selezione Piattaforma Target

• Versione MIDP / CLDC

• Packages Opzionali da Includere nel progetto

• Supporto WMA (WirelessMessaging API)

• Configurazione MidLet-suite

• Configurazione security permissions

• …

Page 10: European Master on Critical Networked Systems€¦ · • Java APIs for Bluetooth (JSR 82) • Mobile Media API (MMAPI) (JSR 135) • J2ME Web Services Specification (JSR 172) •

[email protected]

Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems

Mobile SystemsS. Russo

::. J2ME Wireless ToolkitFinestra Configurazione Emulatore

• Connettività Emulatore (proxy server)

• Calibrazione performances

• Monitoraggio e Profiling

• Dimensione Aree di storage ed heap

• Locale del dispositivo

• Configurazione caratteristiche opzionali:

• Emulazione SMS per WMA

• Emulazione Bluetooth

• Parametri Emulazione Location, Payment e SIP

Page 11: European Master on Critical Networked Systems€¦ · • Java APIs for Bluetooth (JSR 82) • Mobile Media API (MMAPI) (JSR 135) • J2ME Web Services Specification (JSR 172) •

[email protected]

Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems

Mobile SystemsS. Russo

::. NetBeans

• Vendor: Sun Microsystems

• Licenza: CDDL (Common Development and Distribution License)Licenza world-wide, royalty-free, non exclusive. Variazioni al codice sorgente consentite

• Disponibilità: Windows / Linux / Solaris / MacOS

• Ultima versione conosciuta: 5.5.1 (prossimo il rilascio della versione 6)

• J2ME viene supportata mediante Add-Ons:

• Configurazione CLDC: NetBeans Mobility Pack for CLDC (ver. 7.3)

• Configurazione CDC: NetBeans Mobility Pack for CDC (ver. 2.0)

• Virtual Machine di riferimentio: Sun CLDC Hotspot Implementation(CLDC), Sun CDC Hotspot Implementation (CDC)

• URL per il download: www.netbeans.org

Page 12: European Master on Critical Networked Systems€¦ · • Java APIs for Bluetooth (JSR 82) • Mobile Media API (MMAPI) (JSR 135) • J2ME Web Services Specification (JSR 172) •

[email protected]

Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems

Mobile SystemsS. Russo

::. NetBeans

Ambiente di sviluppo completo:

• Gui Designer per configurazione CLDC (LCDUi - SVG)

• Design Visuale Flusso comandi applicativi

• Gui Designer per configurazione CDC (AWT)

• Wizard per la creazione di clients di Web Application (JSP-Servlet)

• Wizard per sviluppo Web Service Client (JSR-172)

• Deployment gestito – supporta FTP, SFTP, trasferimento diretto sul device

• Supporto per Obfuscation a 9 livelli

• Supporto per firma digitale MidLets

Page 13: European Master on Critical Networked Systems€¦ · • Java APIs for Bluetooth (JSR 82) • Mobile Media API (MMAPI) (JSR 135) • J2ME Web Services Specification (JSR 172) •

[email protected]

Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems

Mobile SystemsS. Russo

::. NetBeans

I packages Opzionali disponinbilidipendono dalla piattaforma utilizzata per lo sviluppo di un singolo progetto (gestibile dalle proprietà del progetto).

Ad esempio, utilizzando il WirelessToolkit 2.5.1 come piattaforma si hanno a disposizione tutte le API precedentemente elencate

Utilizzando invece una piattaforma propietaria (Es.: Nokia S40), si hanno a disposizione Vendor-SpecificAPIs, come “Nokia User Interface”

Caratteristiche Supportate (Optional Packages)

Page 14: European Master on Critical Networked Systems€¦ · • Java APIs for Bluetooth (JSR 82) • Mobile Media API (MMAPI) (JSR 135) • J2ME Web Services Specification (JSR 172) •

[email protected]

Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems

Mobile SystemsS. Russo

::. NetBeans – Flow DesignerConsente di specificare il flusso applicativo tra diversi Displayables ed element dei forms, associando azioni alla selezione di comandi

Page 15: European Master on Critical Networked Systems€¦ · • Java APIs for Bluetooth (JSR 82) • Mobile Media API (MMAPI) (JSR 135) • J2ME Web Services Specification (JSR 172) •

[email protected]

Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems

Mobile SystemsS. Russo

::. NetBeans – Screen Designer

Palette elementi LCD UI

Preview Formla dimensione dello schermo dipende dal profilo di emulazione selezionato Riepilogo comandi assegnati

Finestra proprietàelemento corrente

Page 16: European Master on Critical Networked Systems€¦ · • Java APIs for Bluetooth (JSR 82) • Mobile Media API (MMAPI) (JSR 135) • J2ME Web Services Specification (JSR 172) •

[email protected]

Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems

Mobile SystemsS. Russo

::. NetBeans – Source Editor

Codice Auto-Generato (non modificabile dal programmatore)

Elenco metodi classe corrente

Page 17: European Master on Critical Networked Systems€¦ · • Java APIs for Bluetooth (JSR 82) • Mobile Media API (MMAPI) (JSR 135) • J2ME Web Services Specification (JSR 172) •

[email protected]

Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems

Mobile SystemsS. Russo

::. NetBeans – Configurazione EmulatoreConsente di configurare l’emulatore in cui far girare la Midlet (o l’applicazione CDC). Dal Menù tools selezionare Java Platform manager

Piattaforme CDC / CLDC

Accesso all’utility di configurazione dell’emulatore (software esterno)

Page 18: European Master on Critical Networked Systems€¦ · • Java APIs for Bluetooth (JSR 82) • Mobile Media API (MMAPI) (JSR 135) • J2ME Web Services Specification (JSR 172) •

[email protected]

Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems

Mobile SystemsS. Russo

::. NetBeans – Esecuzione

Qwerty deviceJ2ME Wireless Toolkit 2.5.1

Default Color PhoneJ2ME Wireless Toolkit 2.2

S60 EmulatorNokia S60 3° Edition SDK for MIDP

Page 19: European Master on Critical Networked Systems€¦ · • Java APIs for Bluetooth (JSR 82) • Mobile Media API (MMAPI) (JSR 135) • J2ME Web Services Specification (JSR 172) •

[email protected]

Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems

Mobile SystemsS. Russo

::. Eclipse - MTJ

• Vendor: Eclipse Software Foundation

• Licenza: EPL (Eclipse Public License) Licenza world-wide, royalty-free, non exclusive. Variazioni al codice sorgente consentite

• Disponibilità: Windows / Linux / Solaris / Mac OS X

• Ultima versione conosciuta: 3.2.2 (12 febbraio 2007)E’ disponibile la release candidate 2 della versione 3.3

• Eclipse è un framework concepito per lo sviluppo di una vasta gamma diapplicazioni

• Il progetto Eclipse – MTJ (Mobile Tools for Java) si propone di offrire unframework completo per lo sviluppo di applicazioni J2ME

• MTJ è inquadrato in un più ampio Eclipse Subproject, Device Software Platform Project (DSDP)

Page 20: European Master on Critical Networked Systems€¦ · • Java APIs for Bluetooth (JSR 82) • Mobile Media API (MMAPI) (JSR 135) • J2ME Web Services Specification (JSR 172) •

[email protected]

Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems

Mobile SystemsS. Russo

::. Eclipse - MTJ

• Virtual Machine di Riferimento: nessuna (la JVM utilizzata dipendente dalparticolare SDK di sviluppo utilizzato insieme ad MTJ)

• URL per il download: www.eclipse.org

• Ultima versione di MTJ: sviluppo in corsoattualmente è disponibile la versione 0.7, il rilascio della versione 1.0 èprevisto per Settembre 2007

• MTJ supporta sia la configurazione CLDC (profilo MIDP) che CDC (profili Foundation e Personal)

Page 21: European Master on Critical Networked Systems€¦ · • Java APIs for Bluetooth (JSR 82) • Mobile Media API (MMAPI) (JSR 135) • J2ME Web Services Specification (JSR 172) •

[email protected]

Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems

Mobile SystemsS. Russo

::. Eclipse - MTJ

Caratteristiche IDE:

• Nessun GUI Editor Visuale (i form vanno creati a mano)

• Nessun Flow Designere Visuale

• Editing di JAD files assistito

• No Debug su Emulatore/Dispositivo

• No Deployment diretto su dispositivo

Le caratteristiche dell’IDE sono fortemente ridotte rispetto a NetBeans.

MTJ è supportato da importanti aziende, quali Nokia ed IBM, e c’è da attendersi che in futuro possa diventare una delle piattaforma di riferimento per lo sviluppo di applicazioni J2ME

Page 22: European Master on Critical Networked Systems€¦ · • Java APIs for Bluetooth (JSR 82) • Mobile Media API (MMAPI) (JSR 135) • J2ME Web Services Specification (JSR 172) •

[email protected]

Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems

Mobile SystemsS. Russo

::. Eclipse - MTJConfigurazione Ambienti di Runtime

Configurazione MTJ1. Piattaforme Dispositivi,

fornite da terze parti (Es.: Sony Ericsson MIDP SDK 2.24), includenti librerie ed emulatori

2. Definizione RuntimePlaftorm (selezione di uno dei devices offerti dal Device Platform)

3. (Opzionale) Configurazione SecurityManager

4. (Opzionale) Configurazione ProvidersFirma Digitale

Page 23: European Master on Critical Networked Systems€¦ · • Java APIs for Bluetooth (JSR 82) • Mobile Media API (MMAPI) (JSR 135) • J2ME Web Services Specification (JSR 172) •

[email protected]

Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems

Mobile SystemsS. Russo

::. Eclipse - MTJ

Java Application Descriptor Editor

Page 24: European Master on Critical Networked Systems€¦ · • Java APIs for Bluetooth (JSR 82) • Mobile Media API (MMAPI) (JSR 135) • J2ME Web Services Specification (JSR 172) •

[email protected]

Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems

Mobile SystemsS. Russo

::. WebSphere Studio Device Developer

• Vendor: IBM

• Licenza: CommercialeE’ possibile ottenere una trial di 90 giorni

• Disponibilità: Windows / Linux

• Ultima versione conosciuta:5.7 (2005)

• Basato sulla piattaforma Eclipse

• Configurazioni Supportate: CDC, CLDC

• Profili Supportati: MIDP, Personal Profile, Foundation Profile

• Virtual Machine di Riferimento: IBM J9

Page 25: European Master on Critical Networked Systems€¦ · • Java APIs for Bluetooth (JSR 82) • Mobile Media API (MMAPI) (JSR 135) • J2ME Web Services Specification (JSR 172) •

[email protected]

Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems

Mobile SystemsS. Russo

::. WebSphere Studio Device Developer

• Caratteristiche del tutto simili a MTJ

• Il software è stato “abbandonato”, in quanto inglobato in un progetto di più ampio respiro, Lotus Expeditor

• La principale differenza di questo ambiente di sviluppo è che include i device platforms per J9 su diverse piattaforme:

• Windows/x86

• Linux/x86

• Windows CE/ARM

• Linux/ARM

Page 26: European Master on Critical Networked Systems€¦ · • Java APIs for Bluetooth (JSR 82) • Mobile Media API (MMAPI) (JSR 135) • J2ME Web Services Specification (JSR 172) •

[email protected]

Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems

Mobile SystemsS. Russo

::. CarbIDE.J

• Vendor: Nokia

• Licenza: Freeware

• Disponibilità: Windows

• Ultima versione conosciuta: 1.5

• Installabile in diversi flavors:

• Standalone

• Integrato in Eclipse (versione consigliata 3.1)

• Integrato in Netbeans

• Integrato in Borland JBuilder

Page 27: European Master on Critical Networked Systems€¦ · • Java APIs for Bluetooth (JSR 82) • Mobile Media API (MMAPI) (JSR 135) • J2ME Web Services Specification (JSR 172) •

[email protected]

Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems

Mobile SystemsS. Russo

::. CarbIDE.J

• Virtual Machine di Riferimento: nessuna (dipende dagli SDK utilizzati)

• Configurazioni supportate: CDC, CLDC

• Profili Supportati: MIDP, Personal Profile, Personal Basis Profile,Foundation Profile

• URL per il download:http://forum.nokia.com/main/resources/tools_and_sdks/carbide/index.html(Richiesta registrazione gratuita al Forum Nokia)

IDE Plugin SDK

Page 28: European Master on Critical Networked Systems€¦ · • Java APIs for Bluetooth (JSR 82) • Mobile Media API (MMAPI) (JSR 135) • J2ME Web Services Specification (JSR 172) •

[email protected]

Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems

Mobile SystemsS. Russo

::. CarbIDE.j

Caratteristiche IDE:

• GUI Editor: Nokia UI Designer (Sviluppo di interfacce grafiche fortemente orientato a dispositivi Nokia, sia per la progettazione di applicazioni che di videogiochi)

• Flow Designer Visuale(Simile a quello fornito con NetBeans)

• Editing di JAD files assistito

• Wizard per sviluppo Web Service Client (JSR-172)

• Deployment gestito – supporta trasferimento diretto sul device via Bluetooth

• Supporto per firma digitale MidLets

• Gestione Digital Rights

• Supporto per Debug sul Dispositivo

Page 29: European Master on Critical Networked Systems€¦ · • Java APIs for Bluetooth (JSR 82) • Mobile Media API (MMAPI) (JSR 135) • J2ME Web Services Specification (JSR 172) •

[email protected]

Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems

Mobile SystemsS. Russo

::. CarbIDE.j – Nokia UI Designer

Form Editor

Selettore Layout schermo

Palette Elementi Forms

Property Sheet

Resource Tree

Page 30: European Master on Critical Networked Systems€¦ · • Java APIs for Bluetooth (JSR 82) • Mobile Media API (MMAPI) (JSR 135) • J2ME Web Services Specification (JSR 172) •

[email protected]

Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems

Mobile SystemsS. Russo

::. CarbIDE.j – Nokia Flow Designer

Displayables(Alert, Form, List)

Entry Point Della MidLet

Comando

Exit Point Della Midlet

Resource Tree

Page 31: European Master on Critical Networked Systems€¦ · • Java APIs for Bluetooth (JSR 82) • Mobile Media API (MMAPI) (JSR 135) • J2ME Web Services Specification (JSR 172) •

[email protected]

Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems

Mobile SystemsS. Russo

::. CarbIDE.j – Esecuzione Applicazione

Nota: E’ necessario abbassare il source compliance level del compilatore a 1.4

1. Tools Carbide.j Start Emulators

2. Selezionare la classe principale della Midlet, il file JAD o il file JAR contenente la MidLet-suite

3. Selezionare l’emulatore desiderato

4. Configurare se necessario, le opzioni dell’emulatore

5. Premere il pulsante “Emulate”

Page 32: European Master on Critical Networked Systems€¦ · • Java APIs for Bluetooth (JSR 82) • Mobile Media API (MMAPI) (JSR 135) • J2ME Web Services Specification (JSR 172) •

[email protected]

Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems

Mobile SystemsS. Russo

::. CarbIDE.j – Deployment Applicazione

Nota: Deployment on device disponibile solo per dispositivi Nokia. E’ richiesto il software Nokia PC Suite

1. Generazione Deployment Package

1. Tools Carbide.j New Application Package

2. Impostare attributi per il JAD (nome midlet, vendor, …)

3. Premere il pulsante Generate

2. Deployment su dispositivo

1. Tools Carbide.j Deplyment

2. Selezionare l’applicazione da deployare (file JAD)

3. Connettere un dispositivo via Nokia PC Suite

4. Effettuare il Deployment sul device

5. L’installazione della MidLet proseguirà sul dispositivo

Page 33: European Master on Critical Networked Systems€¦ · • Java APIs for Bluetooth (JSR 82) • Mobile Media API (MMAPI) (JSR 135) • J2ME Web Services Specification (JSR 172) •

[email protected]

Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems

Mobile SystemsS. Russo

::. CarbIDE.j – DebuggingDebugging su Emulatore

1. Impostare parametri del debugger (Es.: aumentare tempo latenza)

2. Creare una configurazione di debug (Nokia SDK Plug-In) (attenzione questa caratteristica non funziona con Eclipse 3.2)

3. Selezionare SDK ed emulatore da utilizzare per il Debug

4. Impostare i breakpoints ed avviare il debugger

Page 34: European Master on Critical Networked Systems€¦ · • Java APIs for Bluetooth (JSR 82) • Mobile Media API (MMAPI) (JSR 135) • J2ME Web Services Specification (JSR 172) •

[email protected]

Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems

Mobile SystemsS. Russo

::. CarbIDE.j – Debugging

Nota: On device debugging disponibile solo per dispositivi Nokia. E’ richiesto il software Nokia PC Suite

Debugging su DispositivoOperazioni Una Tantum

• Installare l’agente di Debug sul dispositivo (Software Symbian OS)

• Impostare la connessione Bluetooth tra il dispositivo e la workstation di sviluppo

• Abilitare il servizio “ecmtAgent” nelle proprietà del driver Bluetooth sulla workstation di sviluppo

Operazioni Da ripetere per ogni connessione

• Attivare l’agente di debug sul dispositivo

• Utilizzare l’utility “Device Connection” per avviare la connessione utilizzata dall’agente di Debug

• Avviare una nuova configurazione di Debug utilizzando anziché un emulatore “S60 Device Over Bluetooth”

Page 35: European Master on Critical Networked Systems€¦ · • Java APIs for Bluetooth (JSR 82) • Mobile Media API (MMAPI) (JSR 135) • J2ME Web Services Specification (JSR 172) •

[email protected]

Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems

Mobile SystemsS. Russo

::. Emulatori• Non sempre si ha a disposizione il dispositivo sul quale testare

l’applicazione

• “Write once, run anywhere” non è del tutto vero in J2ME

• Differenze nei layout dello schermo

• Differenze nel rendering dei componenti di Interfaccia utente

• Differenze relativamente agli optional packages disponibili

• E’ pertanto opportuno avere a disposizione emulatori di diversi dispositivi (per brand e modello) sui quali testare le proprie applicazioni

• Tali emulatori devono:

• Emulare l’hardware fisico del dispositivo (Es.: processore xScale)

• Emulare il sistema operativo del dispositivo (Es.. Symbian OS)

• La JVM non va emulata!

Gli stessi emulatori visti per Symbian OS possono essere utilizzati anche per testare applicazioni J2ME

Page 36: European Master on Critical Networked Systems€¦ · • Java APIs for Bluetooth (JSR 82) • Mobile Media API (MMAPI) (JSR 135) • J2ME Web Services Specification (JSR 172) •

[email protected]

Napoli, Maggio-Giugno 07Mobilab European Master on Critical Networked Systems

Mobile SystemsS. Russo

::. Emulatori

• Sun Microsystems (Generici)

• Default Color Phone

• Qwerty Device

• Nokia

• Series 40 Emulator (Nokia 61xx, 62xx, 63xx)

• Series 60 Emulator (Nokia 66xx)

• Series 60 3° Edition Emulator (Nokia Nxx)

• Series 80 Emulator (Nokia Communicator 9xxx)

• Nokia 7710 Emulator

• …

• Sony Ericsson

• Kxxx, P9xx, Wxxx, Zxxx