Java 2 Mobile Edition
Java 2 Mobile Edition
Application development
with J2ME
Enrico Rukzio
1
Enrico Rukzio
SLIDE 3/42 [email protected]
Outline
Enrico Rukzio
SLIDE 4/42 [email protected]
2
Enrico Rukzio
SLIDE 5/42 [email protected]
Enrico Rukzio
SLIDE 6/42 [email protected]
3
Enrico Rukzio
SLIDE 7/42 [email protected]
J2ME: Basics
Stack
Configuration + profile + optional APIs
Enrico Rukzio
SLIDE 8/42 [email protected]
J2ME: Basics
Profile: more specific than configuration
based on a configuration
adds APIs for user interface, persistent storage,
etc.
4
Enrico Rukzio
SLIDE 9/42 [email protected]
Car
Mobile Internet Set-Top
Pagers PDAs Navigation
Phones Appliances Boxes
Systems
Personal Profile
MIDP PDAP
(Mobile (Personal
Personal Basis Profile
Information Digital Assistant
Device Profile) Profile)
Foundation Profile
CLDC CDC
(Connected, Limited Device (Connected Device
Configuration) Configuration)
J2ME
(Java 2, Micro Edition)
Enrico Rukzio
SLIDE 10/42 [email protected]
5
Enrico Rukzio
SLIDE 11/42 [email protected]
Enrico Rukzio
SLIDE 12/42 [email protected]
CLDC 1.1
java.lang APIs are restricted
java.lang.ref when compared with
java.io J2SE
java.util
java.microedition.io
6
Enrico Rukzio
SLIDE 13/42 [email protected]
Enrico Rukzio
SLIDE 14/42 [email protected]
7
Enrico Rukzio
SLIDE 15/42 [email protected]
MIDlet
Enrico Rukzio
SLIDE 16/42 [email protected]
8
Enrico Rukzio
SLIDE 17/42 [email protected]
Enrico Rukzio
SLIDE 18/42 [email protected]
9
Enrico Rukzio
SLIDE 19/42 [email protected]
Enrico Rukzio
SLIDE 20/42 [email protected]
Contents of MidletSuite.jar
MidletSuite.jar
MANIFEST.MF
10
Enrico Rukzio
SLIDE 21/42 [email protected]
Enrico Rukzio
SLIDE 22/42 [email protected]
11
Enrico Rukzio
SLIDE 23/42 [email protected]
Display: easel
Displayable: canvas Screen Canvas
on easel
Canvas: Discovery
Screen: Abstraction Alert Textbox
List Form
Enrico Rukzio
SLIDE 24/42 [email protected]
12
Enrico Rukzio
SLIDE 25/42 [email protected]
Display.getDisplay(this).setCurrent(d);
}
Enrico Rukzio
SLIDE 26/42 [email protected]
13
Enrico Rukzio
SLIDE 27/42 [email protected]
Enrico Rukzio
SLIDE 28/42 [email protected]
14
Enrico Rukzio
SLIDE 29/42 [email protected]
PREFETCHED
STARED DataSource
CLOSED (MIME-Type)
Player
Control (Volume,
Tone)
Enrico Rukzio
SLIDE 30/42 [email protected]
Further APIs
Wireless Messaging API (JSR-120)
Mobile Media API (JSR-135)
Bluetooth API (JSR-82 no OBEX)
FileConnection and PIM API (JSR-75)
Mobile 3D Graphics API (JSR-184)
Location API (JSR-179)
Web Services API (JSR-172)
Advanced Multimedia Supplements (JSR-234)
15
Enrico Rukzio
SLIDE 31/42 [email protected]
Material
Jonathan B. Knudsen, Sing Li. Beginning J2ME: From Novice to
Professional. ISBN: 1590594797. 2005.
Java.Sun.Com (Documentation, Code samples & Articles, FAQs,
white papers, technical articles, etc.)
http://java.sun.com/products/cldc/
Forum.nokia.com (Documents, Code & examples, tools, forum)
http://www.forum.nokia.com
Links to documentations and tutorials at hcilab.org
http://www.hcilab.org/documents/tutorials/DocuTuto/index.
html
Sun Wireless Toolkit: JavaDoc
Enrico Rukzio
SLIDE 32/42 [email protected]
16
Enrico Rukzio
SLIDE 33/42 [email protected]
Netbeans 4.1
Enrico Rukzio
SLIDE 34/42 [email protected]
New Project
17
Enrico Rukzio
SLIDE 35/42 [email protected]
Enrico Rukzio
SLIDE 36/42 [email protected]
18
Enrico Rukzio
SLIDE 37/42 [email protected]
IDE
Enrico Rukzio
SLIDE 38/42 [email protected]
IDE: Source
19
Enrico Rukzio
SLIDE 39/42 [email protected]
Enrico Rukzio
SLIDE 40/42 [email protected]
20
Enrico Rukzio
SLIDE 41/42 [email protected]
Experiences
Enrico Rukzio
SLIDE 42/42 [email protected]
Experiences
21
Enrico Rukzio
SLIDE 43/42 [email protected]
Experiences
Enrico Rukzio
SLIDE 44/42 [email protected]
Quality of service
Uncertain behavior when recording (quality, encoding)
and playing (Which player?) media
22
Enrico Rukzio
SLIDE 45/42 [email protected]
Market
Mobile devices
are an exploding market
because of increasing processing power,
available memory and internet connectivity Æ
attractive platform
Enrico Rukzio
SLIDE 46/42 [email protected]
References
[1] Jonathan B. Knudsen. Wireless Java: Developing with J2ME. Second Edition. ISBN: 1590590775.
[2] Stephen Neal. Overview of J2ME and Nokia
APIs. Sun Tech Days.
http://www.nokia.co.jp/forum/publish/documents/Tech_Days_Yokohama_Workshop_Session.pdf
[3] J2ME datasheet
http://java.sun.com/j2me/j2me-ds.pdf
[4] Heise Newsticker
http://www.heise.de/newsticker/
[5] CDC Data Sheet.
http://java.sun.com/j2me/docs/j2me_cdc.pdf
[6] What's in MIDP 2.0: A Guide for Java Developers
http://www.forum.nokia.com/ndsCookieBuilder?fileParamID=3632
[7] MIDP 2.0: An Introduction
http://www.forum.nokia.com/ndsCookieBuilder?fileParamID=3231
[8] Understanding the Record Management System
http://developers.sun.com/techtopics/mobility/midp/articles/databaserms/
[9] Jonathan B. Knudsen, Sing Li. Beginning J2ME: From Novice to Professional. ISBN: 1590594797.
[10] Sun Takes Java App Server Open Source- http://www.itjungle.com/tlb/tlb062805-story04.html
23
Enrico Rukzio
SLIDE 47/42 [email protected]
Deleted Slides
Enrico Rukzio
SLIDE 48/42 [email protected]
24