midlet pjug 2004 01 27

Uploaded from authorPOINTLite
Views:
 
Category: Education
     
 

Presentation Description

No description available.

Comments

Presentation Transcript

Writing Your First MIDlet Running JAVA on a Cell Phone : 

Writing Your First MIDlet Running JAVA on a Cell Phone Jon A. Batcheller January 27, 2004

Overview: 

Overview The MID The CLDC & MIDP API Developing Code Emulation Deployment

MID – Mobile Information Device: 

MID – Mobile Information Device Cell Phones, Palms, Blackberry…. Pocket Fisherman? JAVA = one program, multi-platforms “similar platforms” - WORA

MIDP: 

MIDP Reduced JVM J2ME – Java 2 Mobile Edition CLDC – Connected Limited Device Configuration CDC – Connected Device Configuration – full JVM imp. MIDP – Mobile Information Device Profile Personal Java, Embedded Java, JavaPhone

MIDP: 

MIDP MID MID Native (SYMBIAN OS) CLDC MIDP Native Apps JAVA MIDP Apps

CLDC: 

CLDC 128K to 512K total memory Limited Power Limited Connectivity (9600bps) Reduced UI Cell Phones, Pagers, PDA’s

MIDP: 

MIDP API and virtual machine to device domain java.lang java.util java.io javax.microedition.io javax.microedition.lcdui javax.microedition.rms javax.microedition.midlet

Development Tools: 

Development Tools Sun Micro – J2ME Wireless Toolkit MIDP 1.0.3 Borland & Sun Forte Nokia – Standalone & JBuilder attachment Need environment to compile (library), verify, package, emulate, and finally deploy

Writing our first MIDlet: 

Writing our first MIDlet Application written for the MIDP Profile Must derive from javax.microedition.midlet.MIDlet Must implement startApp(), pauseApp() and destroyApp() Typically also implement a default constructor and a commandAction() from the CommandListener interface

MIDlet Lifecycle: 

MIDlet Lifecycle

HelloMIDlet.java: 

HelloMIDlet.java Extends MIDlet Implements startApp, pauseApp, destroyApp Like an Applet, need something and somewhere to display Display .vs. Displayable Foreground .vs. Background Current Displayable

HelloMIDlet.java: 

HelloMIDlet.java Extends MIDlet Implements startApp, pauseApp, destroyApp Like an Applet, need something and somewhere to display Display .vs. Displayable Foreground .vs. Background Current Displayable

Display Object: 

Display Object Displayable current = Display.getDisplay(this).getCurrent(); Returns current Displayable Typically in startApp(), look for current Displayable, if null, create own and set it as current.

HelloScreen: 

HelloScreen Displayable current = Display.getDisplay(this).getCurrent(); Returns current Displayable Typically in startApp(), look for current Displayable, if null, create own and set it as current.

HelloMIDlet.java: 

HelloMIDlet.java Compile Note project library Package Emulate Deploy Test

Package: 

Package JAD Versions – JAD, CLDC, MIDP Multiple MIDlets – Suites Other Classes Other Files JAR

JAD – Java Application Descriptor: 

JAD – Java Application Descriptor Usually a link on a WAP site Info on the MIDlet Most Important – URL of the JAR Downloaded to MID then user queried to download JAR

JAD – Java Application Descriptor: 

JAD – Java Application Descriptor MIDlet-Name: HelloWorld MIDlet-Version: 0.0.1 MIDlet-Vendor: Solidware, Inc MicroEdition-Profile: MIDP-1.0 MicroEdition-Configuration: CLDC-1.0 MIDlet-Jar-URL: HelloWorld.jar MIDlet-Jar-Size: 1592 MIDlet-1: HelloWorldApp, , HelloWorldApp

Deploy: 

Deploy JAD first JAR on request Methods IR BlueTooth Email WEB – “Over the Air” http://www.javac.com/index.wml

Emulate: 

Emulate Emulators – part of toolkits – Sun or Phone http://developers.sun.com/techtopics/mobility/midp/articles/emulators Debugging Environment Interesting Behaviors

Test: 

Test Test Download jad Queries user if new or different version Download jar Execute Application Review Application details

PropExample.java: 

PropExample.java Review Code Emulators Test

javax.microedition.lcdui: 

javax.microedition.lcdui MIDP Low & High-level APIs Displayable Canvas Screen Alert Form List TextBox

javax.microedition.lcdui: 

javax.microedition.lcdui Contents of Form and Alert Screens Item ChoiceGroup DateField Gauge ImageItem StringItem TextField

UiDemo.java: 

UiDemo.java Look and Feel Bejeweled

javax.microedition.io: 

javax.microedition.io CLDC – HTTP protocol! Connection object Content, Datagram, HTTP, Stream Normal Stream I/O Open with URL Get input/output streams Read/Write Close

javax.microedition.io: 

javax.microedition.io HttpExample.java Log & Server2.java

javax.microedition.rms: 

javax.microedition.rms Named record store Access to byte array records Add, Get, Store Stock Ticker

Writing Your First MIDlet Running JAVA on a Cell Phone : 

Writing Your First MIDlet Running JAVA on a Cell Phone And the discussion continues at McMenamin’s Greenway Pub, 12272 SW Scholls Ferry Road North on 217 next exit, then West