Skip to main content

Java ME on Symbian OS: Inside the Smartphone Model



Java ME on Symbian OS: Inside the Smartphone Model

Roy Ben Hayun

ISBN: 978-0-470-74374-4 February 2009 482 Pages


In this book, experts from Symbian, Nokia and Sun Microsystems expose the power of Java ME on Symbian OS.  The book introduces programming with Java ME on Symbian OS, and also reveals what is found 'under-the-hood'. 

It is logically divided into four main sections:

  • Introduction to Java ME and programming fundamentals
  • Java ME on Symbian OS (core and advanced chapters)
  • Drill down into MSA, DoJa and MIDP game development
  • Under the hood of the Java ME platform

The book also includes two appendixes onSNAP Mobile technology and WidSets.

With over ten years' experience in Java technologies and over four years' experience at Symbian, the lead author Roy Ben Hayun now works for Sun Microsystems as a systems architect in the Engineering Services group, which leads the development, marketing and productizing of Java ME CLDC and CDC on different platforms.

Section 1: Introduction to Java ME and programming fundamentals

Chapter 1: Introduction to Java ME, Symbian OS and mobiles

1.1 2003 – The Rise of the Mobiles

1.2 2008 - The Mobile Generation

1.3 Meet the host – Symbian OS

1.4 What is Java?

1.5 Java ME

1.6 Great – But Why Use Java ME on Symbian OS?

1.7 Java’s Place in the Sun

1.8 Marketing Routes

1.9 Time for a Face Lift

1.10 Summary

Chapter 2: Fundamentals of Java ME Programming

2.1 Java MicroEdition environment

2.2. Introduction to MIDp

2.3. MIDP Graphical User Interface APIs

2.4. Other MIDP APIs

2.5. MIDP Security Model

2.6. Networking and the Generic Connection Framework

2.7. MIDP 2.0 and the JTWI (Java Technology for the Wireless Industry)

2.8. Optional APIs in the JTWI

2.9. The Symbian OS Java MicroEdition Certification

2.10 Summary

Section 2: Java ME on Symbian OS (core and advanced chapters)

Chapter 3: Enter Java ME on Symbian OS

3.1 Running a first MIDlet on a Symbian smartphone (not another "Hello World")

3.2 What APIs are supported

3.3 Proprietary JAD attributes

3.4 Computing capabilities of Java ME on Symbian OS

3.5 Java ME hosted on a powerful OS

3.6 Tooling up for Java ME on Symbian OS

3.7 Java ME management on the device

3.8 Crossing to the native land of Symbian OS

3.9 Knowing your way around, to find more information

3.10 Summary

Chapter 4: Handling diversity

4.1 General approaches to handling diversity

4.2 Detecting diversities using properties

4.3 Using adaptive code and flexible design to handle diversity

4.4 Handling JSRs fragmentation

4.5 Handling transitions between foreground and background

4.6 Supporting diverse input mechanism

4.7 Handling diverse multimedia formats and protocols

4.8 Handling screen and display diversity

4.9 And when there is no trick you can pull..

4.10 Summary

Chapter 5: Java ME SDKs for Symbian OS

5.1 Recommended tooling approach for Java ME on Symbian OS

5.2 Generic SDKs –Java ME SDK 3.0 and WTK 2.5.2

5.3 S60 5th Edition and 3rd Edition SDKs

5.4 SDKs for UIQ 3 UI platform

5.5 UIQ 3 SDK

5.6 SDKs for Sony Ericsson SJP-3

5.7 Motorola MOTODEV Studio

5.8 Summary

Section three: Drill down into MSA, DoJa and MIDP game development

Chapter 6: Designing advanced applications with MSA

6.1 So what is MSA?

6.2 Cool, now what can I do with MSA?

6.3 Spicing up legacy MIDP application using MSA

6.4 Beyond MSA 1.1: MIDP 3.0 and MSA 2.0

6.5 MSA and Symbian

6.6 Summary

Chapter 7: DoJa (Java for FOMA)

5.1 In The Beginning…

5.2 DoJa – The Facts

5.3 I Love JAM

5.4 Your Basic Ops Manual

5.5 Eclipsing DoJa

5.6 Dirty Hands

5.7 The Big Squeeze

5.8 A Safe Port

5.9 Game Dev

5.10 DoJa 5.1 Profile

5.11 DoJa 5.1 Features

5.12 Summary

Chapter 8: Writing MIDP games

8.1 What Is a Game?

8.2 Building a Simple MIDP Game

8.3 MIDP 2.0 Game API Core Concepts

8.4 Building an Advanced Java Game on Symbian OS

8.5 Summary

Chapter 9: Java ME best practices

9.1 Invest in user experience

9.2 Good Java ME programming practices

9.3 streamlining the deployment and lifecycle

9.4 General Symbian OS specific tips

9.5 Summary

Section four: Under the hood of the Java ME platform

Chapter 10: Java ME subsystem architecture

10.1 The Java applications and the Symbian OS points of view

10.2 How Symbian OS differs from other Java hosting operating systems

10.3 First overview on architecture and main processes

10.4 The AMS

10.5 The mean and lean, Virtual Machine

10.6 The Symbian MIDP implementation layer

10.7 Handling asynchronous Symbian OS operations

10.8 Java level debugging support

10.9 Performance

10.10 Security

10.11 Summary

Chapter 11 Integration of JSRs with Symbian OS

11.1 Importance of integration with native Symbian OS services

11.2 Types and levels of integration

11.3 Integration challenges, costs and considerations

11.4 Which integration style is the right one

11.5 Enumerating the example JSRs

11.6 JSR-75 FileConnection package

11.7 Null integration of JSR-172 Web Services

11.8 Tight integration with licensees mandatory customization – LCDUI

11.9 Integration of JSR-135 MMAPI and MIDP 2.0 Media API

11.10 Integration of JSR-177 SATSA APDU package

11.11 Integration of JSR-180 SIP

11.12 Summary


Appendix A: WidSets

A.1. Why is it relevant to Java?

A.2. WidSets architecture and features

A.3. Using WidSets

A.4. Creating widgets

A.5. Developing rich widgets

A.6. Summary

Appendix B: SNAP Mobile

B.1. Snap Mobile overview

B.2. Game development and publishing process

B.3. Technology overview

B.4. Getting started with development

B.5. SNAP Mobile Client API

B.6. Summary