• x Main page
  • x Legal notice
  • + Guide to JavaTM ME Developer's Library 2.3
    • x Supported releases
    • x Library contents
    • x Change history
  • + Introduction to Mobile Java
    • + JavaTM and the mobile environment
      • 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.1 and optional packages
      • x MIDP 2.1 features
      • + Optional APIs
        • x APIs supported in both S60 and Series 40
        • x APIs supported only in S60
        • x APIs supported only in Series 40
      • 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
      • + Packaging MIDlets
        • x JAR files
        • x JAD files
    • + 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
      • x Basic considerations
    • + 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
      • x MIDlet pre-deployment
    • + MIDP FAQ
      • x Tools
      • x MIDlets
      • x Devices
    • x Where to go next
  • + UI and graphics
    • + Introduction to User Interface
      • + UI elements and controls
        • 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
        • x Media keys
      • + 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
    • + eSWT
      • x eSWT overview
      • x Using eSWT
      • + Example: MovieBooking
        • x Prerequisites
        • x Designing MovieBooking
        • + Developing MovieBooking
          • x Implementing the main MIDlet
          • x Implementing the introductory Splash screen
          • x Implementing the database connections
          • x Implementing the UI elements
          • x Implementing the seat selection screen
        • x Building and running
        • x Deploying to a device
    • + Nokia UI API
      • x Introduction
      • + User Interface Extensions
        • x Full-Screen Canvas
        • x Other extensions
    • + 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 main MIDlet
          • x Implementing the splash screen
          • x Implementing the UI elements
          • x Implementing the game environment
          • x Creating the game characters
          • x Implementing the game sound
          • x Implementing the game functionality
          • 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 main MIDlet
          • x Implementing the environment
          • x Implementing the UI elements
          • x Implementing the Graphics3DProperties 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 Creating the main MIDlet
          • x Creating the media handling classes
          • x Creating the UI elements
          • 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 Creating the main MIDlet
          • x Creating the environment
          • x Creating the trigonometric functions
          • x Creating the interactive elements
          • 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 main MIDlet
          • x Implementing the UI elements
          • 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 Implementing the main MIDlet
          • x Implementing MIDlet functionality
          • x Implementing UI classes
        • 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 Implementing the main MIDlet
          • x Implementing the UI classes
          • x Implementing the back end functions
        • x Building and running in an emulator
        • x Deploying to a device
    • + Handling audio, text, and image content
      • x Content Handler API overview
      • x Using the Content Handler API
      • + Example: Handling audio, image and text content
        • x Prerequisites
        • x Implementation of the Content Handler MIDlets
        • + Developing ContentHandler
          • x Implementing the main MIDlet
          • x Implementing the handlers
          • x Implementing the invocation classes
          • x Implement the audio handling functionality
          • 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 Implementing the main MIDlet
          • x Creating classes from the WSDL stub
          • x Implementing remote procedure calls
          • x Implementing the UI elements
        • 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 SIP session MIDlets
        • + Developing the 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 Device inquiry
          • x Service discovery
          • x Universally Unique Identifier (UUID)
          • x Name discovery
          • x Master/slave roles
          • x Security
        • + Bluetooth protocols
          • x L2CAP
          • x RFCOMM
          • x Service discovery protocol (SDP)
          • + OBEX
            • x OBEX connections
            • x Headers
            • x OBEX profiles
      • + Using the JavaTM APIs for Bluetooth (JSR-82)
        • + Bluetooth connections
          • x Device inquiry
          • x Service discovery
          • x Name discovery
          • x Security
        • + Bluetooth protocols in JSR-82
          • x L2CAP
          • x RFCOMM
          • + OBEX
            • x OBEX Client connections
            • x OBEX Server connections
            • x OBEX Security
        • + Bluetooth connectivity guide
          • x Bluetooth connections with JSR-82
          • x Interoperability
      • + Example: Creating a client/server pair using RFCOMM
        • x Prerequisites
        • x Creating the project environment
        • x Implementation of btsppEcho MIDlet
        • + Developing btsppEcho MIDLet
          • x Implementing the main MIDlet
          • x Implementing the UI elements
          • x Implementing the connections
        • x Building and running in an emulator
        • x Deploying to a device
      • + Example: Creating an OBEX connection
        • + Implementation of BCExchanger MIDlet
          • x Scenario
        • x Prerequisites
        • x Creating the project environment
        • + Developing the OBEX MIDlet
          • x Implementing the main MIDlet
          • x Implementing the data access
        • x Creating the OBEX communication classes
        • x Implementing the UI elements
        • x Building and running in an emulator
        • x Deploying to a device
    • + IAP Info connections
      • x IAP Info API in JavaTM ME
      • x Using the IAP Info API
      • + Example: Creating network connections with IAPInfo
        • x Prerequisites
        • x Implementation of the IAPInfoMIDlet
        • + Developing the IAPInfoMIDlet
          • x Creating the project environment
          • x Implementing the main MIDlet
          • x Implementing the MIDlet functions
          • x Building and running in an emulator
          • x Deploying to a device
  • + Location
    • x Location services in JavaTM ME
    • + Location-based services
      • + Using the Location API
        • + Device Location
          • x Choosing the location provider
          • x Creating listeners
          • x Registering listeners
        • + Landmark Store
          • x Accessing the landmark store
          • x Landmark store management
          • x Category handling
        • + Device Orientation
          • x Orientation sensor differences
      • + Example: Location and orientation detection in mobile application development
        • x MIDlet's User Interface
        • x Prerequisites
        • x Implementation of the Tourist Route MIDlet
        • + Developing the Tourist Route MIDlet
          • x Creating the project environment
          • x Implementing the main MIDlet
          • x Implementing the location functions
          • x Implementing the UI elements
          • x Building and running in an emulator
          • x Deploying to a device
  • + Javadocs
    • + (JSR-75 Optional package) FC API
      • x javax.microedition.io.file
    • + (JSR-75 Optional package) PIM API
      • x javax.microedition.pim
    • + (JSR-82) Bluetooth API
      • x javax.bluetooth
      • x javax.obex
    • + (JSR-118) MIDP 2.0
      • x java.lang
      • x java.util
      • x javax.microedition.io
      • x javax.microedition.lcdui
      • x javax.microedition.lcdui.game
      • x javax.microedition.media
      • x javax.microedition.media.control
      • x javax.microedition.midlet
      • x javax.microedition.pki
      • x javax.microedition.rms
    • + (JSR 135) MMAPI
      • x javax.microedition.media
      • x javax.microedition.media.control
      • x javax.microedition.media.protocol
    • + (JSR-139) CLDC 1.1
      • x java.io
      • x java.lang
      • x java.lang.ref
      • x java.util
      • x javax.microedition.io
    • + (JSR-172) WSA (RPC Package)
      • x java.rmi
      • x javax.microedition.xml.rpc
      • x javax.xml.namespace
      • x javax.xml.rpc
    • + (JSR-172) WSA (Parser Package)
      • x javax.xml.parsers
      • x org.xml.sax
      • x org.xml.sax.helpers
    • + (JSR-177) SATSA API
      • x java.lang
      • x java.rmi
      • x java.security
      • x java.security.spec
      • x javacard.framework
      • x javacard.framework.service
      • x javacard.security
      • x javax.crypto
      • x javax.crypto.spec
      • x javax.microedition.apdu
      • x javax.microedition.io
      • x javax.microedition.jcrmi
      • x javax.microedition.pki
      • x javax.microedition.securityservice
    • + (JSR-179) Location API
      • x javax.microedition.location
    • + (JSR-180) SIP API
      • x javax.microedition.sip
    • + (JSR-184) M3G API
      • x javax.microedition.m3g
    • + (JSR-205) WMAPI
      • x javax.wireless.messaging
    • + (JSR-211) CHAPI
      • x javax.microedition.content
    • + (JSR-226) M2G API
      • x javax.microedition.m2g
      • x org.w3c.dom
      • x org.w3c.dom.events
      • x org.w3c.dom.svg
    • + (JSR-234) AMMS API
      • x javax.microedition.amms
      • x javax.microedition.amms.control
      • x javax.microedition.amms.control.audio3d
      • x javax.microedition.amms.control.audioeffect
      • x javax.microedition.amms.control.camera
      • x javax.microedition.amms.control.imageeffect
      • x javax.microedition.amms.control.tuner
    • + Nokia UI API
      • x com.nokia.mid.sound
      • x com.nokia.mid.ui
    • + eSWT API
      • x org.eclipse.ercp.swt.mobile
      • x org.eclipse.swt
      • x org.eclipse.swt.browser
      • x org.eclipse.swt.dnd
      • x org.eclipse.swt.events
      • x org.eclipse.swt.graphics
      • x org.eclipse.swt.internal
      • x org.eclipse.swt.layout
      • x org.eclipse.swt.widgets
    • + IAP Info API
      • x com.nokia.mid.iapinfo
  • + Implementation notes
    • + (JSR-75 Optional package) FC API
      • + Changes between releases
        • x From S60 3rd Edition FP1 to S60 3rd Edition FP2
        • x From S60 3rd Edition to S60 3rd Edition FP 1
        • x From S60 2nd Edition FP 3 to S60 3rd Edition
        • x From Series 40 3rd Edition FP 1 to Series 40 3rd Edition FP 2
        • x From Series 40 3rd Edition to Series 40 3rd Edition FP 1
      • + Feature description
        • x DRM support in S60
      • x Package support
      • x Class and interface description
      • + Runtime environment notes
        • x System properties
        • x Virtual file system in S60
        • x Constructing URIs in S60
        • x Security settings
      • x Device support
      • x Additional notes
    • + (JSR-75 Optional package) PIM API
      • + Changes between releases
        • x From S60 3rd Edition FP1 to S60 3rd Edition FP2
        • x From S60 3rd Edition to S60 3rd Edition FP1
        • x From S60 2nd Edition FP3 to S60 3rd Edition
        • x From Series 40 3rd Edition FP1 to Series 40 3rd Edition FP2
        • x From Series 40 3rd Edition to Series 40 3rd Edition FP1
      • x Feature description
      • x Package support
      • + Class and interface support
        • x ContactList in S60
        • x ContactList in Series 40
        • x EventList in S60
        • x EventList in Series 40
        • x ToDoList in S60
        • x ToDo list in Series 40
        • x vCard and vCalendar
      • x Runtime environment notes
      • x Device support
    • + (JSR-82) Bluetooth API
      • + Changes between releases
        • x From S60 3rd Edition FP1 to S60 3rd Edition FP2
        • x From S60 3rd Edition to S60 3rd Edition FP1
        • x From S60 2nd Edition FP3 to S60 3rd Edition FP1
      • + Feature description
        • x Supported features
        • x Excluded features
      • x Package support
      • + Class and interface description
        • x javax.microedition.io.Connector
        • x javax.bluetooth.DiscoveryAgent
        • x javax.bluetooth.LocalDevice
        • x javax.bluetooth.RemoteDevice
      • + Runtime environment notes
        • x System properties
        • x Bluetooth power state and visibility mode management in push MIDlet registration
        • + Bluetooth power state checking in API method calls
          • x Security settings
      • x Device support
    • + (JSR-118) MIDP 2.1
      • + Changes between releases
        • x From S60 3rd Edition FP1 to S60 3rd Edition FP2
      • x Feature description
      • x Package support
      • + Class and interface support
        • + java.lang
          • x System
          • x Thread
        • + java.util
          • x TimeZone
          • x Timer and TimerTask
        • + javax.microedition.io
          • x IO interfaces
          • x OutputStream
          • x Push Registry and datagram protocol
        • + javax.microedition.lcdui
          • x Alert
          • + Form
            • x ChoiceGroup
            • x CustomItem
            • x DateField
            • x Gauge
            • x ImageItem
            • x StringItem
          • x List
          • x TextBox
          • x Canvas
          • x Graphics
          • x Command
        • x javax.microedition.MIDlet
        • x javax.microedition.rms
      • + Runtime environment notes
        • x Networking
        • x Multitasking Symbian OS
        • x Memory
        • x Image and icon support
        • + JAD and JAR manifest attributes
          • x Installation with pre-defined UID attributes
        • x Scaling
        • x System properties
        • x Security settings
        • x Exception handling
        • x Memory Card removal
        • x Media keys support
        • x Disabling screen saver
        • x Communicating with native applications
        • x Accessing resources
      • x Device support
    • + (JSR-135) MM API 1.1
      • + Changes between releases
        • x From S60 3rd Edition FP1 to S60 3rd Edition FP2
        • x From S60 3rd Edition to S60 3rd Edition FP1
        • x From S60 2nd Edition FP3 to S60 3rd Edition
        • x From Series 40 3rd Edition FP1 to Series 40 3rd Edition FP2
        • x From Series 40 3rd Edition to Series 40 3rd Edition FP1
      • x Feature description
      • x Package support
      • + S60 Class and interface support
        • + Manager
          • x Create player
          • x Content types
          • x Capture locators
        • + Player
          • x Content buffering
          • x Audio Player
          • x Video Player
          • x Audio Recorder
          • x Video Recorder
          • x Streaming
          • x MIDI Player
          • x Tone player
          • x Audio mixing
          • x DRM
        • x Controls
      • + Series 40 Class and interface description
        • x Supported locators
        • x Player content types and MMAPI controls
        • x Supported controls for capture protocol
        • x Capture locators
        • x MIDI
        • x Swap and Play
        • x Progressive playback
        • x DRM
      • x Runtime environment notes
      • x Device support
    • + (JSR-172) WS API
      • + Changes between releases
        • x From S60 3rd Edition FP 1 to S60 3rd Edition FP 2
        • x From S60 3rd Edition to S60 3rd Edition FP 1
        • x From Series 40 3rd Edition Feature Pack 1 to Series 40 3rd Edition Feature Pack 2
        • x From Series 40 3rd Edition to Series 40 3rd Edition FP 1
      • x Feature description
      • x Package support
      • x Class and interface description
      • x Runtime environment notes
      • x Device support
    • + (JSR-177) SATSA API
      • + Changes between releases
        • x From S60 3rd Edition FP1 to S60 3rd Edition FP2
        • x From S60 3rd Edition to S60 3rd Edition FP1
        • x From Series 40 3rd Edition FP1 to Series 40 3rd Edition FP2
      • x Feature description
      • x Package support
      • + Class and interface description
        • + javax.microedition.pki.UserCredentialManager
          • x Field additions and exceptions
          • x Method additions and exceptions
        • x javax.microedition.pki.UserCredentialManagerException
        • x javax.microedition.securityservice.CMSMessageSignatureService
        • x javax.microedition.securityservice.CMSMessageSignatureServiceException
        • x java.security.KeyFactory
        • x java.security.MessageDigest
        • x java.security.Signature
        • + javax.crypto.Cipher
          • x getInstance
          • x init
      • x S60 Runtime environment notes
      • x Series 40 runtime environment notes
      • x Device support
    • + (JSR-179) Location API
      • + Changes between releases
        • x From S60 3rd Edition FP1 to S60 3rd Edition FP2
        • x From S60 3rd Edition to S60 3rd Edition FP1
        • x From S60 2nd Edition FP 3 to S60 3rd Edition
      • x Feature description
      • x Package support
      • x Class and interface description
      • x Runtime environment notes
      • x Device support
    • + (JSR-180) SIP API
      • + Changes between releases
        • x From S60 3rd Edition to S60 3rd Edition FP 1
        • x From S60 2nd Edition FP3 to S60 3rd Edition
      • x Feature description
      • x Package support
      • x Class and interface description
      • x Runtime environment notes
      • x Device support
      • + Additional notes
        • + Headers
          • x Multivalued headers
          • x Supported headers
          • x Restrictions on headers
          • x Usage of headers
        • + Selecting registration context and initializing requests
          • x Selecting registration context (from SIP Settings Tool)
          • x Using own (MIDlet specific) registration context
          • x Sending request without using a registration context
        • x Sending a request inside an existing dialog
        • x Keeping a dialog active on the client and server sides
        • x Using PushRegistry
        • x Conflicting application sip identifiers
      • x Appendix 1
      • x Appendix 2
    • + (JSR-184) M3G API 1.1
      • + Changes between releases
        • x From S60 3rd Edition to S60 3rd Edition FP1
        • x From Series 40 3rd Edition FP1 to Series 40 3rd Edition FP2
        • x From Series 40 3rd Edition to Series 40 3rd Edition FP1
      • x Feature description
      • x Package support
      • x Class and interface description
      • + Runtime environment notes
        • x Sprite3D and Background image scaling
        • x Hierarchical view frustum culling
        • x System properties
      • x Device support
    • + (JSR-205) WM API 2.0
      • + Changes between releases
        • x From S60 3rd Edition FP1 to S60 3rd Edition FP2
        • x From S60 3rd Edition to S60 3rd Edition FP1
        • x From Series 40 3rd Edition FP1 to Series 40 3rd Edition FP2
        • x From Series 40 3rd Edition to Series 40 3rd Edition FP1
      • + Feature Description
        • x Supported features
        • x Excluded features
      • x Package support
      • x Class and interface description
      • + Runtime environment notes
        • x System properties
        • x Internal settings
      • x Device support
    • + (JSR-211) Content Handler API
      • x Changes between releases
      • x Feature description
      • x Package support
      • x Class and interface description
      • x Device support
    • + (JSR-226) M2G API
      • + Changes between releases
        • x From S60 3rd Edition to S60 3rd Edition FP1
        • x From Series 40 3rd Edition FP1 to Series 40 3rd Edition FP2
        • x From Series 40 3rd Edition to Series 40 3rd Edition FP1
      • x Feature description
      • x Package support
      • x Runtime environment notes
      • x Device support
    • + (JSR-234) AMMS API
      • + Changes between releases
        • x From S60 3rd Edition to S60 3rd Edition FP1
        • x From S60 3rd Edition FP1 to S60 3rd Edition FP2
      • + Feature description
        • x Supported features
        • x Excluded features
      • x Package support
      • + Class and interface description
        • x ReverbControl
        • x EqualizerControl
      • x Runtime environment notes
      • x Device support
    • + eSWT API
      • x Feature description
      • x Package support
      • x Class and interface description
      • x Device support
  • + Source codes for examples
    • + LCDUI - Simple Test MIDlet
      • x LCDUI - Simple Test MIDlet
    • + MIDP 2.0: Games - Sheepdog
      • x MIDP 2.0: Games- Sheepdog
    • + Mobile 3D Graphics - Maze3DMIDlet
      • x Mobile 3D Graphics (JSR-184) - Maze3DMIDlet
    • + Scalable 2D Vector Graphics - HelloWorldMidlet, LoadStaticMidlet, and SvgAnimatorMidlet
      • x Scalable 2D Vector Graphics - HelloWorldMidlet, LoadStaticMidlet, and SvgAnimatorMidlet
    • + Multimedia applications - Media Sampler
      • x Multimedia applications - Media Sampler
    • + Advanced multimedia supplements - AMMSMIDlet
      • x AMMS applications - AMMSMIDLET
    • + Signed MIDlets - SignedMIDlet
      • x Signed MIDlets - SignedMIDlet
    • + Encrypted messages - SATSA MIDlet
      • x Encrypted messages - SATSA MIDlet
    • + Digital signatures - PKI MIDlet
      • x Digital signatures - PKIMIDLET
    • + APDU messages - APDU MIDlet
      • x APDU connections- APDUMIDLET
    • + MMS messages - MMS MIDlet
      • x MMS messages - MMS MIDlet
    • + File access - ImageViewer
      • x File access - ImageViewer
    • + PIM Event handling - Event-Sharing MIDlet
      • x File access - ImageViewer
    • + Web Services - CapitalMIDlet
      • x Web Services - CapitalMIDlet
    • + SIP API (JSR_180) - OriginatingInviteMIDlet and TerminatingInviteMIDlet
      • x SIP API (JSR_180) - OriginatingInviteMIDlet and TerminatingInviteMIDlet
    • + Bluetooth connections - BCExchanger MIDlet and btsppEcho MIDlet
      • x Bluetooth connections - BCExchanger MIDlet
      • x Bluetooth connections - Example: btsppEcho MIDlet
    • + Location-based services - Tourist Route
      • x Location-based services - Tourist Route
    • + eSWT - MovieBooking
      • x eSWT - MovieBooking
    • + Content Handler - Handling media content
      • x Content Handler - Handling text, image and audio content
  • x Developer Internet resources
  • x Terms and abbreviations
  • x Discussion about this resource