Contents
Preface
1. Introduction
1.1 Product Architecture
1.2 Porting Requirements
1.2.1 Hardware Requirements
1.2.2 Software Requirements
1.2.3 Compiler Requirements
1.2.4 Requirements of the Completed Port
2. Beginning a MIDP Port
2.1 Preparing to Port MIDP
2.2 Porting Device-Specific Configuration Code
2.3 Trying It Out
3. The Event Model
3.1 Event Model Overview
3.2 Events From the Virtual Machine
3.3 Events From MIDP
3.4 Native Functions
4. Persistent Storage
4.1 Porting the Native Layer
4.2 Customizing the Java Layer
5. Thread-Safety in LCDUI
5.1 Requirements
5.2 Design Approach
5.3 Coding Conventions
5.3.1 General Conventions
5.3.2 Public Method Conventions
5.3.3 Constructor Conventions
5.3.4 Event-Handling Method Conventions
5.3.5 Application Callout Conventions
5.3.6 Graphics Conventions
5.4 The serviceRepaints Method
6. LCDUI Graphical User Interface
6.1 Overview
6.2 Issues in Porting Low Level API Functionality
6.2.1 Drawing Graphics Primitives
6.2.2 Porting PNG Transparency
6.3 Using Native Widgets for MIDP Screens
6.3.1 General Instructions
6.3.2 Example: Replacing Part of DateField
6.3.3 Pop-Up Choice Groups
6.4 Porting the Game Package
7. Security
7.1 Overview
7.2 Permissions
7.3 Key Storage
8. Networking
8.1 Porting the Native Layer
8.2 Customizing the Java Layer
8.2.1 Generic Connections
8.2.2 Comm
8.2.3 IP Support
8.2.4 Secure Connections
8.2.5 HTTP 1.1
8.2.6 HTTPS
8.2.7 Internal Utilities
9. The Application Management System
9.1 Porting main.c
9.2 Customizing AMS
10. Push Functionality
10.1 Design Considerations
10.1.1 Protocols
10.1.2 Listening for Incoming Data
10.1.3 Message Buffering
10.1.4 User Interaction
10.1.5 MIDlet Concurrency
10.2 Porting the Native Layer
10.3 Customizing the Java Layer
11. Porting the Audio Building Block
11.1 Overview
11.1.1 Architecture
11.1.2 Implementing the Player Interface
11.2 Porting Synthetic Tones
11.2.1 Architectural Considerations
11.2.2 Generating Single Tones
11.2.3 Generating Tone Sequences
11.3 Porting Sampled Audio
11.3.1 Architectural Considerations
11.3.2 Implementing the Playback of Sampled Audio
12. Building Your Port
12.1 The Build Process
12.1.1 Makefiles
12.1.2 Build Instructions
12.1.3 Example Commands
12.1.4 Build Steps for the Target all
12.2 Adding Files to the Build
12.2.1 Adding Java Programming Language Files
12.2.2 Adding C Files
12.3 Removing Unused Code
A. Build Targets
B. Configuration Options
C. Reference Documentation for com.sun.midp.ssl
com.sun.midp.ssl
CertStore
Methods
CryptoException
Fields
Constructors
Methods
Key
Methods
KeyBuilder
Fields
Constructors
Methods
MessageDigest
Fields
Methods
PrivateKey
PublicKey
RandomData
Fields
Methods
RSAPrivateKey
Methods
RSAPublicKey
Methods
SecretKey
Methods
Signature
Fields
Methods
SSLStreamConnection
Constructors
Methods
X509Certificate
Fields
Constructors
Methods
Index