SVGElement svgChannelInfo = ...
// get tuner information
String channelName = rdsControl.getPS();
String radioText = rdsControl.getRT();
String programmeType = rdsControl.getPTYString(true);
String infoStr = ... // build the display string from the above data
In this example, we went beyond MSA Subset and used JSR-234 AMMS
to provide the core radio-tuner support, JSR-179 Location to give the user
a location-sensitive context, JSR-172 Web Services to discover locally
available radio stations and JSR-226 SVG to build a compelling UI. This
shows how a Java application using MSA Component JSRs can create a
compelling, practical and personal mobile experience for the user.
6.2.4 More Examples
Let us consider a few more types of application and briefly associate them
with the Component JSRs they use. Messaging applications can access
telephony messaging features such as SMS and MMS using JSR-205.
The application registers with the Push Registry to be activated when
an incoming message addressed to it is received (an SMS is associated
with an application by a port number; an MMS is associated by an
application ID). JSR-180 SIP can be used to extend the messaging support
for integration with instant messaging (IM) clients (e.g., MSN Messenger)
and by using JSR-177 SATSA to secure and authenticate the transmitted
instant messages. Going further, JSR-172 Web Services can be used to
integrate with social networking websites (e.g., LinkedIn) to make the
user's remotely stored contact information available locally in the phone
address book, using JSR-75 PIM.
Games that run on an MSA-compatible device could use JSR-184
for a 3D UI, JSR-135 for multimedia and sounds, and JSR-82 for local
peer-to-peer (P2P) connections over Bluetooth to play against another
user or JSR-180 for P2P gaming sessions over the network. Games can
significantly benefit from JSR-234 AMMS, which enables you to create
an audio scene in which different sound sources are located in a virtual
acoustic space (see Chapter 8).
Mapping applications would use JSR-179 to get the current location,
storing and retrieving landmarks and points of interest that are shown over
an SVG map rendered by JSR-226. The data would be retrieved using
JSR-172 Web Services and be cached locally using JSR-75 FileConnec-
tion. JSR-238 Internationalization is absolutely mandatory for mapping
applications that are used by travelers from across the world.
Meshed web applications that combine data from several services
would use JSR-172 to access and parse data from various remote web ser-
vices, JSR-211 Content Handling to launch the appropriate content player
MIDlet, and could store the data locally using JSR-75 FileConnection.