Preface This document describes how to implement Java based applications in the Sony Ericsson mobile phones P800/P802.. This document is intended for developers of Java applications who
Trang 1July 2002
Java support in Sony Ericsson mobile phones P800 and P802
Trang 2Contents
Preface……….3
Java and its possibilities for Sony Ericsson……… 4
PersonalJava applications and SymbianOS……… 6
Java characteristics for P800/P802……….8
P800/P802.………14
Appendix……… 23
Index……… 26
These Developers’ Guidelines are
published by:
Sony Ericsson Mobile
Communications AB, SE-221 88
Lund, Sweden
Phone:+46 46 19 40 00
Fax: +46 46 19 41 00
www.SonyEricssonMobile.com
First edition (July 2002)
Publication number: EN/LZT 108
5746 R1A
This document is published by Sony Ericsson Mobile Communications AB, without any warranty
Improvements and changes to this text necessitated by typographical errors, inaccuracies of current information or improvements to programs and/or equipment, may be made by Sony Ericsson Mobile Communications AB at any time and without notice Such changes will, however, be incorporated into new editions of this document Any hard copies of this document are to be
Trang 31 Preface
This document describes how to implement Java based applications in the Sony Ericsson mobile phones P800/P802
Who should read this guide?
This document is intended for developers of Java applications who want an insight into the Sony Ericsson P800/P802 mobile phones It will also illustrate for network operators the advanced
capabilities and revenue generating potential of Java applications within the P800/802
It is assumed that the reader is familiar with Java
Trang 42 Java and its possibilities for Sony Ericsson
mobile phones
Sony Ericsson, with its strong commitment to bringing out the best in mobile communications, has developed a superbly designed, attractive phone that is crammed with useful and exciting functionality One of the gems in this collection of functionality is Java
Java offers great possibilities for end-users, network operators and content providers There is virtually
no limit to the content that can be supplied and downloaded Users can effortlessly add new
information and entertainment-based applications to their phones, bringing personalization to new heights
Gaming is already a very popular feature in Sony Ericsson phones With Java, users can add new games and skill levels to further enhance the entertainment value of Sony Ericsson phones
For network operators and content providers, the Java technology gives a secure platform from which
to offer dynamic value-added services, with new opportunities to boost revenue and increase customer loyalty
Since Java is a flexible and open technology, developers can rapidly create new applications, and speed up the time to market Operators and providers can quickly and easily adapt and take advantage
of changes in market demands to differentiate their products and gain the competitive edge Users will undoubtedly find the concept of enhanced personalization and greater diversity in application supply very tempting, leading to increased customer on-air time
Java — the key to personalization
The number of mobile phone users in the world is increasing rapidly An ever-increasing number of phones will be connected to the Internet This opens new possibilities for users, operators and content providers Users will have the option to personalize their mobile devices by downloading new
applications such as games and utility software
This need for customized content makes greater demands on the application development platform than has traditionally been the case
Java, which is a widely used, extensible programming platform, makes the development of
personalized applications and content much easier
Background
Originally developed by Sun in 1991, Java is a programming language used to develop applications, - utility programs, games, plug-ins etc for different hardware and software platforms Users of Java-enabled devices can install new applications and games to make their devices more personal and adapt them to specific needs
Sun marketed Java as a “write once, run anywhere” concept, which at the time was a good description
of Java's strength Simply put, Sun based the Java concept on two parts, the Java application and the Java interpreter, called Java Virtual Machine (JVM) A Java application cannot run by itself - it needs an interpreter that translates the code and runs the program This was the secret behind Java's ability to work on various platforms A developer could write an application without having to think about
different computers and operating systems as long as hardware and software manufacturers included Java Virtual Machines in their products
Trang 5Even if “write once, run anywhere” still applies to some degree, the evolution of handheld computers and telecommunications forced Sun to adapt Java to the requirements of mobile devices with small displays and slow connections This led, among other things, to the development of PersonalJava, J2ME™ (Java 2 Platform, Micro Edition) and the K Virtual Machine (KVM)
Two types of Java for mobile phones
The types of applications that can be installed are dependent on the type of Java in the phone There are two main versions of Java in Sony Ericsson mobile phones, J2ME CLDC/MIDP (often called kJava) and PersonalJava (pJava)
PersonalJava
PersonalJava, which is sometimes called pJava, was one of the first Java programming environments targeted at applications for resource-limited devices These devices include PDAs (Personal Digital Assistants) and Communicators/Smart phones PersonalJava introduced features that reduce memory usage and adapt applications to different screens and graphical interfaces
PersonalJava was transferred into the J2ME platform in 1999 The new version is called J2ME
CDC/Personal Profile However, CDC/Personal Profile has not really taken off yet and pending its breakthrough, PersonalJava will still be a powerful option for years to come
Sony Ericsson high-end phones based on the Symbian OS, like the P800/802, offer this advanced capability to develop feature-rich applications in Java In addition to PersonalJava, it is possible for developers to access JavaPhone through the SymbianOS UIQ SDK This will allow developers to develop and test applications on a Windows PC Although JavaPhone will not be available in the first version of P800/P802 it will be included in the second release
CLDC/MIDP
Historic overview
In 1999, Sun regrouped its Java technologies into three platforms or editions J2ME (Java 2 Platform, Micro Edition) became the platform targeting “micro” devices with small processors and memory capacities, such as mobile phones, communicators and PDAs (the other two Java platforms are Java 2 Platform, Standard Edition, J2SE™, and Java 2 Platform, Enterprise Edition, J2EE™)
J2ME addresses a variety of devices To handle the diversity, two concepts have been introduced — configurations and profiles A configuration defines a minimum platform for a family of devices with similar processing and memory capacities A profile targets a specific device category within that family, for instance mobile phones
Two J2ME configurations are available:
CDC, Connected Device Configuration This configuration is aimed at devices like PDAs
CLDC, Connected Limited Device Configuration This configuration is aimed at devices like mobile phones and pagers
Current situation
So far, two profiles have been established for J2ME - MIDP, Mobile Information Device Profile, and
Trang 63 PersonalJava applications and SymbianOS
This section offers advice about developing PersonalJava applications that require SymbianOS
environment specific knowledge typically not needed for MIDP applications
A good starting point for development is getting access to the Symbian UIQ SDK that contains
complete documentation on the PersonalJava environment and the tools needed for packaging
applications into installable format
It is important for the PersonalJava developer to become familiar with the 'Aifbuilder' and 'makesis' tools for preparing applications to run on the P800
Aifbuilder is needed for generating three files with the suffixes aif, app and txt, which are installed along with, jar files and/or class files of the application The aif and app file are required in order for the application to appear in the Application Launcher list of applications
“makesis” is needed for generating SIS format installation files that make it possible to make a
personalJava application available to end users for installation This step is not needed during
development where the developer can simply copy the application into the P800 file system over the Symbian Connect link and run it
'sisar' is a GUI front end towards 'makesis' that can speed up the process of frequently generating new SIS file versions
All these are documented in the UIQ SDK Aifbuilder and makesis are also used in preparing installable C++ applications
In earlier releases of Symbian SDKs there have been setup/environment variable problems with these tools but running these from the UIQ SDK work well The problems that can occur are caused by keeping a mixed environment of different SDK versions on the same development host so that
environment settings come into conflict Installing the UIQ SDK on a 'clean' machine and not installing other Symbian SDK versions on the same host is the safest approach to ensuring the tools work
PersonalJava application considerations on P800
Apart from keeping in mind performance limitations, PersonalJava applications on P800 require little additional consideration compared to ordinary desktop Java development
Available screen size is 276x208 pixels and an application is usually based on the java.awt.Frame class
A good rule to minimize startup of applications that contain complex GUIs, is not to instantiate all GUI elements at startup but instead just before they are first needed To give the user a perception of a quick starting application it may be a good idea to load and display a 'splash screen' as the first action while additional initialisation continues This is something to consider for commercial grade applications where this additional development work is well worth the effort
PersonalJava performance
The P800 java runtime is installed in a secondary 'pseudo ROM' file system where the virtual machine will not execute directly from ROM but instead the VM and all classes become loaded into RAM before execution This adds an additional one-second-startup time compared to ROM execution but as a slight bonus, execution from RAM is somewhat faster than from ROM once the VM and classes have been loaded Java was moved out of 'real ROM'due to project decisions to store other software there
Excellent opportunities for reusable code
Java provides excellent support for reusing developed solutions due to the good modularity and limited runtime dependency on other code Once a 'startup framework' for applications has been developed giving good end user perception, that solution can be quickly reused in many applications to give a uniform experience for the end user of applications from a specific vendor
Trang 7P800 folders
When developing a PersonalJava application it is not necessary to package it in a SIS file for every new version to be tested The developer may copy the files that make up the application to a folder in the User internal file system (C:) or to a folder on the Memory Stick (D:) using the Symbian Connect serial link
The application is copied to a folder /System/Apps/<name of application>/<application files> on the desired logical disk.(C: or D:)
Typically an application consists of a number of mandatory files and a number of additional files
specific to the actual application Mandatory files in case of PersonalJava are app aif and.txt files that define the PersonalJava application so that it can appear in the Application Launcher You use the Symbian 'aifbuilder' tool to generate these files See the Symbian UIQ SDK for detailed documentation
on this In addition you need the actual class files that can either be stored as one or more jar files or as class files in any structure referred to by a class path Again, see the Symbian documentation for details
on this Typically during development the developer need only update those files that are changing during development such as jar files and the test iteration cycle can be kept short
Optional download features supported
The browser can download jar/jad or SIS files from WAP and HTML pages provided that the server supports the actual file types P800 can also download JAR/JAD/SIS files from ordinary web servers provided that they support the mime type for each of the file types Some servers need to be
configured for this
Trang 84 Java characteristics for P800/P802
The P800/802 is based on Symbian OS v7.0 and the established UIQ MMI Sony Ericsson and Symbian have been actively working with software developers and a range of UIQ-based applications has been publicly demonstrated Sony Ericsson is also an active participant in developer events such as the Symbian Developer Conference and Java One
Third party applications may make use of the communications, display and storage facilities of the P800/802 Such applications may therefore be much more powerful than browser-based applications, enabling games to be faster and more exciting Applications from other PDA OSs and from the PC world may be expected to be ported across to the P800/802 Applications already available for
Symbian OS (for example, on Psion products) may be ported by the supplier to run on the P800/802 The P800/802 supports both PersonalJavaTM
and J2ME CLDC/MIDP It is ready to run many applications written for handheld computers and mobile phones It has 12 Mbytes user data space in which settings, user data and third party applications are stored (9 Mbytes on the P802) Applications are easily downloaded directly to the P800/802 using the browser, or may be installed from a
Memory Stick Duo 20.0mm 1.6mm 31.0mm
PIM data cannot use the MS, but multimedia content such as images, movie clips, sound clips etc can
be stored either in local memory or on a Memory Stick Also general-purpose files such as Word
documents can be stored there and then accessed using the viewers provided with the P800/802 Third party (Java and C++) applications can use the MS both for the application itself and for storing data Applications may be written in both C++ and Java Supported Java environments are
PersonalJavaTM
and J2ME CLDC/MIDP, both of which are optimised for quick start-up time C++ is the most comprehensive and flexible programming environment, which enables rich applications to be developed C++ applications will run faster than those written in Java
The P800 supports this J2ME CLDC 1.0 / MIDP 1.0 environment Applications may make use of
Persistent storage - (RecordStore class only — no access to the rest of the filing system) and theTouch Screen - Virtual Keyboard and Jog Dial (up, down, select) input
J2ME/CLDC uses a sandbox The sandbox includes a number of system components working together
to ensure that untrusted applications cannot gain access to system resource
MIDP Application running on MIDP/CLDC/KVM
UIQ Virtual Keyboard + Jog Dial
Internet
Persistent Storage
JAR file
resource
Services and pages with response in HTML format
Other networked devices (datagram communication)
Trang 9MIDP applications can interact with arbitrary remote services that exist as a URL Data may also be exchanged with remote devices that accept an HTTP or datagram connection
Applications are typically downloaded from the mobile operator’s portal or the Internet
Applications are used in FO mode When the flip closes, the instance of the Virtual Machine is not visible, but the user may return to the application by selecting it from the Application Launcher
Sony Ericsson Advanced Developer Support
The Advanced Developer Support equips professional developers with everything they need to
successfully develop world-class applications for Sony Ericsson products With this support contract, developers get access to a high-quality online support with fast response and resolution times and up
to 50 technical support incidents They also get access to early technical product information and development tools as well as the complete range of interactive and static online support resources This service requires a paid subscription
Sony Ericsson Basic Developer Support
The Basic Developer Support is an annual support service package that provides developers with all the basics to successfully develop world-class applications for Sony Ericsson products With this support contract, developers get access to a high-quality online support with same-day response and resolution times, five technical support incidents as well as the ability to purchase more They also get access to complete technical product information and development tools as well as the whole range of interactive and static online support resources This service requires a paid subscription
Sony Ericsson Online Support
Some online resources are available to all developers for free All that is needed is to register as an Ericsson Mobility World Community member After registration, access is granted to selected technical product information and development tools as well as limited access to interactive and static online support resources
Security
Sony Ericsson will provide service through Ericsson Mobility World, which will enable application
developers to obtain a certification of their applications from Sony Ericsson
Digital certificates are used to classify the status of applications and media that are to be loaded:
Unsigned: No certification or testing: The provider of the application has not been assessed There is
no guarantee that the application is from the advertised source The application may or may not have been tested to ensure that it works well on the P800, but any claims to that effect are not independently tested
Signed & Certified Both the software vendor and the application have been tested and certified The
application is certified as originating from the named vendor The application has been tested to check compatibility with the P800
End users should select certified applications wherever possible, in order to avoid the risk of a badly written or malicious application creating problems such as deleting data, corrupting the configuration or preventing other applications from operating correctly
Mobile Operators may choose to factory-customise the P800 so that only certified applications can be loaded
Trang 10Screen sizes
The image below shows the screen size when working with PersonalJava, 276 x 208 pixels
Trang 11MIDP Canvas, 186 x 208 pixels
Trang 12
Others 236 x 208 pixels
Trang 13Other API support PersonalJava supports JNI (Java Native Interface)
PersonalJava version 1.1.1a
4 way arrow keys with select Yes, soft buttons
Other function keys Jog Dial, see key mapping below
Numeric keys Yes, 0-9, * #
Supported tools
The P800/802 supports the following tools: Sun Java One Studio 4 and Metrowerks Code Warrior Wireless Studio and Metrowerks Codewarrior Development Tools for SymbianOS for C++ development and PersonalJava These tools, as well as the Sony Ericsson device emulators (skins) can be found at:
http://www.ericsson.com/mobilityworld/sub/open/technologies/java/tools.html?PU=java&PUname=Java&PUCat=technologies
Supported protocols
The P800 supports MIDP 1.0 and PersonalJava 1.1.1 To access the latest information about supported protocols please go to the following address: http://java.sun.com