Midlet Pjug 2004 01 27

Uploaded from authorPOINT Lite
Download as
 PPT
Presentation Description 

No description available

Views: 186
Like it  ( Likes) Dislike it  ( Dislikes)
Added: January 31, 2008 This Presentation is Public 
Presentation Category : Education All Rights Reserved
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