x
Main page
x
Legal notice
+
Guide to JavaTM ME Developer's Library 1.4
x
Change history
x
Supported releases
x
Library contents
+
Introduction to Mobile Java
+
JavaTM and the mobile environment
x
Java platforms
x
Architecture of S60 and Series 40 platforms
x
Mobile environment characteristics
x
Differences between Java ME and Java SE/ Java EE platforms
+
MIDP 2.0 and optional packages
x
MIDP 2.0 features
+
Optional APIs
x
APIs supported in both S60 and Series 40
x
APIs supported only in S60
x
Java API release information
+
MIDP applications (MIDlets)
x
Security and MIDP applications
x
Porting MIDP applications
+
Devices
x
S60 devices
x
Series 40 devices
+
Getting started with Mobile Java
+
What you need to know
x
Development environment requirements
+
Development process overview
x
MIDP project structure
x
Creating and compiling source files
x
Packaging MIDlets
+
Implementing MIDlets
+
MIDlet lifecycle
x
Application Management Software
x
Implementing MIDlet lifecycle requirements
x
Push applications
x
Persistent storage
+
Example: HelloWorld MIDlet
x
Creating the development environment
x
Creating, building, and running the example application
x
Source code for the example
+
Designing MIDP applications
x
Designing for multiple devices
+
Basic considerations
x
Content considerations
x
Application performance and reliability
x
Application security
x
UI design practices
x
Installation
+
Testing MIDP applications
x
The testing process
+
Functionality testing
x
Environmental changes
x
Networking
x
Wireless messaging
x
Bluetooth connectivity
x
Personal information management
x
Record Management System (RMS)
x
Pausing a MIDlet
x
Usability testing
x
Typical errors in Java ME applications
+
Deploying MIDlets to a device
x
Over-the-Air (OTA)
x
Infrared (IR) and Bluetooth technology
x
Serial Cable
x
E-mail and MMS
+
MIDP FAQ
x
Tools
x
MIDlets
x
Devices
x
Where to go next
+
UI and graphics
+
User interface design and graphics
+
Introduction to UI
x
Scalability
x
Themes
+
LCDUI
+
LCDUI overview
x
High-level APIs
x
Low-level APIs
x
Command handling
x
Interplay with Application Management Software
+
Using the LCDUI
x
Alert
x
List
x
TextBox
+
Form
x
ChoiceGroup
x
CustomItem
x
DateField
x
Gauge
x
ImageItem
x
Spacer
x
StringItem
x
TextField
x
Canvas
x
Graphics
x
Command
+
Example: Creating a simple test MIDlet
x
Prerequisites
x
Designing the SimpleTest MIDlet
+
Developing the SimpleTest MIDlet
x
Creating the project environment
x
Implementing the MIDlet lifecycle and screen elements
x
Creating the interaction with Canvas
x
Building and running in an emulator
x
Deploying to a device
+
MIDP 2.0 games
x
MIDP 2.0 Game API overview
+
Using the MIDP 2.0 Game API
x
GameCanvas
x
MIDP 2.0 Media API
+
Example: Using basic Game elements
x
Prerequisites
x
Implementation of the Sheepdog MIDlet
+
Developing the Sheepdog MIDlet
x
Creating the project environment
x
Implementing the SheepDogMIDlet class
x
Implementing the SplashScreen class
x
Implementing the MenuList class
x
Implementing the InstructionsScreen class
x
Implementing the HighScoreScreen class
x
Implementing the SheepdogCanvas class
x
Implementing the Field class
x
Implementing the Sheepdog class
x
Implementing the Sheep class
x
Implementing the GameOverScreen class
x
Implementing the SoundEffects class
x
Building and running in an emulator
x
Deploying to a device
+
Mobile 3D graphics
x
Mobile 3-D Graphics API overview
+
Using the M3G API
x
Graphics3D
x
Scene graph
+
Example: Using 3D graphics in application development
x
Prerequisites
+
Implementation of the Maze3DMIDlet
x
Implementation of the Scene Graph
x
Maze Construction and Geometry
x
Camera / Player Movement
x
Game Setup
+
Developing the Maze3DMIDlet
x
Creating the project environment
x
Implementing the Maze3DMIDlet class
x
Implementing the MazeCanvas class
x
Implementing the Maze class
x
Implementing the Plane class
x
Implementing the MenuList class
x
Implementing the Graphics3DProperties class
x
Implementing the ErrorScreen class
x
Building and running in an emulator
x
Deploying to a device
+
Scalable 2D vector graphics
+
Scalable 2D Vector Graphics API overview
x
Scalability
x
Main use cases
+
Example: Creating SVG graphics
x
Prerequisites
x
Implementation of the HelloWorldMidlet
+
Developing the HelloWorldMidlet
x
Creating the project environment
x
Implementing the HelloWorldMidlet
x
Creating the SvgCanvas1 class
x
Building and running in an emulator
x
Deploying to a device
+
Example: Loading and manipulating pre-generated SVG graphics
x
Prerequisites
x
Implementation of the LoadStaticMidlet
+
Developing the LoadStaticMidlet
x
Creating the project environment
x
Implementing the LoadStaticMidlet
x
Creating the SvgCanvas2 class
x
Building and running in an emulator
x
Deploying to a device
+
Example: Playing animated SVG content
x
Prerequisites
x
Implementation of the LoadStaticMidlet
+
Developing the SvgAnimatorMidlet
x
Creating the project environment
x
Implementing the SvgAnimatorMidlet
x
Building and running in an emulator
x
Deploying to a device
+
Multimedia
x
Multimedia in mobile application development
+
Multimedia applications
x
Mobile Media API overview
+
Using the Mobile Media API
x
Architecture
x
Player State Model
x
Player Content Types
x
Checking API availability
+
Playing Tones and Tone Sequences
x
Playing tone sequences
x
Playing tones from stream
x
Playing sampled sound and MIDI
+
Playing Video
x
Saving resources when playing video multiple times
x
Recording sound and video
x
Time Bases
x
Taking photos
x
StopTimeControl
x
VolumeControl
x
Security issues
x
SDK versus devices
+
Recommended practices
x
Content Type selection
x
Application resource management
x
Player pooling
x
Remote resources
x
Minimizing media playback delay
x
Restarting the Player after being unavailable
x
Stopping playback when a MIDlet is switched to the background
x
Playing DRM-protected media
+
MMAPI Example: Creating a multimedia player
+
Media Sampler MIDlet
x
AudioCanvas
x
Video source selector
x
VideoCanvas
x
DRM MIDI
x
MMAPI support
x
Prerequisites
x
Implementation of the Media Sampler MIDlet
+
Developing the Media Sampler MIDlet
x
Creating the project environment
x
Implementing MediaSamplerMIDlet
x
Creating Media
x
Creating MediaFactory
x
Creating DRMPlayer
x
Creating PlayerPool
x
Creating AudioCanvas
x
Creating MediaList
x
Creating SupportForm
x
Creating VideoCanvas
x
Creating VideoSourceSelector
x
Building and running in an emulator
x
Deploying to a device
+
Advanced multimedia supplements
x
Advanced Multimedia Supplements API overview
+
Using the AMMS API
x
EffectModule
x
GlobalManager
x
Module
x
SoundSource3D
x
Spectator
+
Controls in AMMS
x
EffectControl
x
PanControl
x
PriorityControl
x
CommitControl
x
DistanceAttenuationControl
x
DopplerControl
x
LocationControl
x
OrientationControl
x
AudioVirtualizerControl
x
EqualizerControl
x
ReverbControl
x
ReverbSourceControl
x
System property usage
+
Example: 3D audio in application development
x
Prerequisites
x
Implementation of the AMMSMIDlet
+
Developing the AMMSMIDlet
x
Creating the project environment
x
Implementing the AMMSMIDlet
x
Implementing the House class
x
Implementing the MansionCanvas class
x
Implementing the Source class
x
Implementing the Trig class
x
Implementing the Walker class
x
Building and running in an emulator
x
Deploying to a device
+
Security
+
Introduction to MIDP security
x
Security risks in the MIDP environment
x
Protection Domains
x
Permissions framework
x
Trusted MIDlets
x
Untrusted MIDlets
x
User granted permissions
x
APIs and security
x
Developer's guides
+
Signed MIDlets
+
Example: Signing MIDlets
x
Prerequisites
x
Creating the project environment
x
Creating SignedMIDlet
x
Adding permissions
+
Signing the MIDlet
x
Signing procedure using command line utilities
+
Running the MIDlet either as untrusted or trusted
x
Untrusted MIDlet
x
Trusted MIDlet
x
Deploying to a device
x
Troubleshooting the signing procedure
+
Recommended practices
x
Certificate acquisition
x
Certificates' trust settings
x
Certificate chains
x
Certificate expiration
x
Certificate revocation
x
MIDlet updates
+
Appendix A Summary of Protected Methods
x
MIDP 2.0
x
Mobile 3D Graphics API (JSR-184)
x
Bluetooth API (JSR-82) (Excluding OBEX)
x
Wireless Messaging API (JSR-120)
x
Wireless Messaging API 2.0 (JSR-205)
x
Mobile Media API 1.1 (JSR-135)
x
Location API (JSR-179)
+
PDA Optional Packages (JSR-75)
x
File Connection API
x
PIM API
x
SIP API (JSR-180)
x
J2METM Web Services (JSR-172)
x
Security and Trust Services API (JSR-177)
+
Encrypted messages
x
SATSA-CRYPTO overview
+
Using SATSA-CRYPTO
x
Encryption/Decryption
x
Message Digests
x
Signatures
+
Example: Creating encrypted messages
x
Prerequisites
x
Implementation of SATSA MIDlet
x
Creating the project environment
+
Developing SATSA MIDlet
x
Implementing the SATSAMIDlet
x
Implementing the Codec class
x
Implementing the MessageStore class
x
Implementing the ListScreen class
x
Implementing the NewScreen class
x
Implementing the EncryptScreen class
x
Implementing the PasswordScreen class
x
Implementing the DecryptScreen class
x
Implementing the InfoScreen class
x
Building and running in an emulator
x
Deploying to a device
+
Digital signatures
x
SATSA-PKI overview
+
Using SATSA-PKI
x
Creating signing requests and managing user credentials
x
Using signature services
+
Example: Creating digital signatures
x
Prerequisites
x
Implementation of the PKI MIDlet
x
Developing the PKI MIDlet
x
Building and running in an emulator
x
Deploying to a device
+
APDU messages
x
SATSA-APDU overview
x
Using SATSA-APDU
+
Example: Creating an APDU connection
x
Prerequisites
x
Implementation of the APDU MIDlet
x
Developing the APDU MIDlet
x
Building an running in an emulator
x
Deploying to a device
+
Wireless messaging
x
Wireless messaging in JavaTM ME
+
MMS messages
x
Wireless Messaging API 2.0 overview
x
Using the Wireless Messaging API 2.0
+
Example: Creating and sending MMS messages
x
User Interface
x
Prerequisites
x
Implementing the MMS MIDlet
+
Developing the MMS MIDlet
x
Creating the project environment
x
Implementing the MMSMIDlet class
x
Implementing the SendScreen class
x
Implementing the ReceiveScreen class
x
Implementing the CameraScreen class
x
Implementing the InfoScreen class
x
Building and running in an emulator
x
Deploying to a device
+
Data handling
x
Data Handling in JavaTM ME
+
File access
x
FileConnection API overview
+
Using FC API
x
FileConnection interface considerations
x
Security considerations
x
Nokia-Specific Directories
+
Example: Creating a file access system
x
Prerequisites
x
Implementation of ImageViewer
x
Creating the project environment
+
Developing ImageViewer
x
ImageViewerMIDlet
x
FileSelector
x
OperationsQueue and Operation
x
ImageCanvas
x
InputScreen
x
ErrorScreen
x
Building and running in an emulator
x
Deploying to a device
+
PIM event handling
x
PIM API overview
+
Using the PIM API
x
Security considerations
+
PIMList databases
x
Contact list database
x
Event list database
x
ToDo database
+
Example: Creating and sending an event
x
Prerequisites
x
Implementation of Event-Sharing MIDlet
x
Creating the project environment
+
Developing Event-Sharing MIDlet
x
EventSharingMIDlet
x
EventCreationForm
x
IncomingEventForm
x
ContactsListForm
x
OperationsQueue and Operation
x
ErrorScreen
x
Building and running in an emulator
x
Deploying to a device
+
Networking
x
Networking in JavaTM ME
+
Web Services
x
Web Services package overview
x
XML optional package overview
+
Using the JAX-RPC package
x
Supported XML and JavaTM types
x
Security
x
Using the XML package
+
Example: Creating a remote server connection
x
Creating the project environment
x
Prerequisites
x
Server Side
x
Client Side
x
Implementation of Capital MIDlet
+
Developing Capital MIDlet
x
Creating CapitalPortType
x
Creating CapitalBinding_Stub
x
Creating CapitalMIDlet
x
Creating Poster
x
Creating PosterListener
x
Creating Screen
x
Creating WelcomeScreen
x
Creating MainScreen
x
Creating WaitingScreen
x
Creating ResultsScreen
x
Creating ErrorScreen
x
Building and running in an emulator
x
Deploying to a device
+
SIP connections
+
SIP API overview
x
SIP architecture
x
Main use cases
x
SIP request methods
+
Example: Creating a SIP INVITE session
x
Prerequisites
x
Implementation of the OriginatingInvite and TerminatingInvite MIDlets
+
Developing the the OriginatingInvite and TerminatingInvite MIDlets
x
Creating the project environment
x
Implementing the OriginatingInvite MIDlet
x
Implementing the TerminatingInvite MIDlet
x
Building and running in an emulator
x
Deploying to a device
+
Bluetooth connections
+
Bluetooth technology and JavaTM APIs for Bluetooth (JSR-82) overview
+
Bluetooth connections
x