Download presentation
Presentation is loading. Please wait.
Published byKelly Lawson Modified over 9 years ago
1
Writing Your First MIDlet Running JAVA on a Cell Phone Jon A. Batcheller January 27, 2004
2
Overview The MID The CLDC & MIDP API Developing Code Emulation Deployment
3
MID – Mobile Information Device Cell Phones, Palms, Blackberry…. Pocket Fisherman? JAVA = one program, multi-platforms “similar platforms” - WORA
4
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
5
MIDP MID MID Native (SYMBIAN OS) CLDC MIDP Native Apps JAVA MIDP Apps
6
CLDC 128K to 512K total memory Limited Power Limited Connectivity (9600bps) Reduced UI Cell Phones, Pagers, PDA’s
7
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
8
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
9
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
10
MIDlet Lifecycle
11
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
12
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
13
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.
14
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.
15
HelloMIDlet.java Compile Note project library Package Emulate Deploy Test
16
Package JAD Versions – JAD, CLDC, MIDP Multiple MIDlets – Suites Other Classes Other Files JAR
17
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
18
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
19
Deploy JAD first JAR on request Methods –IR –BlueTooth –Email –WEB – “Over the Air” http://www.javac.com/index.wml
20
Emulate Emulators – part of toolkits – Sun or Phone http://developers.sun.com/techtopics/mobility/midp/ articles/emulators Debugging Environment Interesting Behaviors
21
Test –Download jad –Queries user if new or different version –Download jar –Execute Application Review Application details
22
PropExample.java Review Code Emulators Test
23
javax.microedition.lcdui MIDP Low & High-level APIs Displayable CanvasScreen AlertFormListTextBox
24
javax.microedition.lcdui Contents of Form and Alert Screens Item ChoiceGroupDateFieldGaugeImageItemStringItemTextField
25
UiDemo.java Look and Feel Bejeweled
26
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
27
javax.microedition.io HttpExample.java Log & Server2.java
28
javax.microedition.rms Named record store Access to byte array records Add, Get, Store Stock Ticker
29
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.