a Symbian smartphone. Java ME development and deployment is easy
because Symbian OS is an open platform which serves developers needs
well. Later, we learn about additional ways to deploy, launch and manage
Java ME applications, which will help you throughout your development.
We intentionally replaced the standard 'Hello World' program with
the Java ME Detectors suite, which gives you a diagnosis tool to put into
your personal development toolbox. You can always check on the web 2
to see the Java specification of a device but the Java ME Detectors suite
gives you an extensible tool that refers specifically to the device you are
holding in your hands.
3.2 Which APIs Are Supported?
There is no single answer to which JSRs are supported on Symbian
smartphones. The list of detected JSRs in Table 3.1 represents the family
of devices to which the three reference devices belong (respectively, S60
5th Edition, S60 3rd Edition FP1, and UIQ 3.0). As you have seen, the
support provided by the Nokia N95, the Nokia 5800 XpressMusic, and
the Sony Ericsson W960i exceeds the list of MSA Subset Component JSRs
and is nearly at the level of full MSA Component JSRs. New devices are
coming out all the time and so more JSRs may be supported.
For example, S60 3rd Edition FP2 and S60 5th Edition include addi-
tional APIs and UIQ 3.3 supports JSR-248 MSA Fullset. 3 A Forum Nokia
Wiki page lists the supported APIs for both Nokia S40 and S60 devices. 4
However, you can assume that generally the direction of Java ME on
Symbian OS is towards MSA Fullset and beyond.
In this section, we cover additional (non-JSR) APIs that are supported.
But first we look at the advantage of having a common and consistent JSR
implementation for a variety of devices and manufacturers.
3.2.1 Consistent Implementation
The major shortcoming of Java ME on feature phones is having inconsis-
tent implementations. For example, to take a snapshot on different feature
phones, you might need to call the same methods in a different order.
You may also find different defects on different devices, differences in the
interpretation of a JSR's specification, and so on. Symbian OS provides a
2 For Nokia, go to www.forum.nokia.com/devices .
3 developer.uiq.com/news 1252 .html
4 wiki.forum.nokia.com/index.php/JavaME API support onNokia devices