Summary of the content on the page No. 1
October 2004
UIQ C++ and PersonalJava
P800, P900 and P910 series
Summary of the content on the page No. 2
Developers Guideline UIQ C++ and PersonalJava Preface Purpose of this document This document describes the UIQ C++ and Personal Java support for the Sony Ericsson P800, P900 and P910 series. Readers benefiting from this document include: • Business decision-makers Support engineers Corporate buyers Software developers IT professionals For more up-to-date information about technologies, products and tools refer to Sony Ericsson Developer World. This document is published by Sony Ericss
Summary of the content on the page No. 3
Developers Guideline UIQ C++ and PersonalJava Document history Change history 2003-10-31 Version R1A First release 2004-08-18 Version R2A Second release, P910 updates 2004-10-11 Version R3A Third release, updates and editorial changes Trademarks and acknowledgements Sun, Java and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries. Symbian and all Symbian-based marks and logos are trademarks of Symbian Limited. Bo
Summary of the content on the page No. 4
Developers Guideline UIQ C++ and PersonalJava URI WMA Uniform Resource Identifier Wireless Messaging API URL WTK Uniform Resource Locator Wireless Toolkit Online Developer Resources On the Sony Ericsson Developer World website, http://www.sonyericsson.com/developer/, developers will find all documentation and tools such as phone White Papers, Developers Guidelines, SDK's and API's, and so on. The developer web site also contains discussion forums monitored by our Sony Ericsson Developer Sup
Summary of the content on the page No. 5
Developers Guideline UIQ C++ and PersonalJava Contents Purpose of this document .........................................................................................2 Document history ......................................................................................................3 Trademarks and acknowledgements ....................................................................3 Terminology and abbreviations ......................................................................
Summary of the content on the page No. 6
Developers Guideline UIQ C++ and PersonalJava On-target debugging ...............................................................................................25 Signing digital applications .....................................................................................26 Symbian Signed ...................................................................................................26 Installing ”Symbian Signed” applications on the P800, P900 and P910 series26 Go-to-Market oppo
Summary of the content on the page No. 7
Developers Guideline UIQ C++ and PersonalJava Technical overview and architecture This document is valid for the Sony Ericsson P800, P900 and P910 series mobile phones. The Sony Ericsson P800, P900 and P910 series mobile phones are based on the Symbian™ UIQ user interface. UIQ is a pen-based user interface platform for media rich mobile phones based on the Symbian Operating System (OS). The P800, P900 and P910 series is a versatile application platform enabling application developers to cre-
Summary of the content on the page No. 8
Developers Guideline UIQ C++ and PersonalJava A developer’s perspective on the P800, P900 and P910 series The P800, P900 and the P910 series are based on Symbian OS 7.0. The P800 User Interface (UI) is based on UIQ 2.0, whereas the P900 and P910 series are based on UIQ 2.1. The table below presents a compar- ison of what is supported by the different phones and what developers need to consider when designing applications: Technical data P910 series P900 series P800 series SDK support UIQ 2.1
Summary of the content on the page No. 9
Developers Guideline UIQ C++ and PersonalJava Application development This chapter contains information for the developer of C++ and PersonalJava™ applications for the Sony Ericsson P800, P900 and P910 series of mobile phones. 9 October 2004
Summary of the content on the page No. 10
Developers Guideline UIQ C++ and PersonalJava General information about the P900 series The table below lists the major features of the P900 series: Feature Support Third party application support C++ PersonalJava TM J2ME CLDC/MIDP 2.0 with JSR 120 and JSR 82. Microsoft® Visual Basic® 6 Music Player MP3,WAV, AU, AMR, MIDI (G-MIDI level 1 with 24 voices polyphony), RMF, iMelody Video Recorder and Player 3GPP and MPEG4 (VGA, QVGA, QQVGA and 24-bit colour depth) with AMR encoded audio
Summary of the content on the page No. 11
Developers Guideline UIQ C++ and PersonalJava Make sure your AppUi is derived from CQikAppUi (Qikon) and not from CEikAppUi (Uikon). Ensure that your application is “theme aware”. Use logical colors to draw application controls and propagate color scheme change messages through your application. Add a large version of your application icon for display in the Applauncher icon view. The media server supports MP3 audio files. If your application uses audio files in any format, other than
Summary of the content on the page No. 12
Developers Guideline UIQ C++ and PersonalJava ated beneath the audio folder. Unfiled folders are created in the initial folder structure and all material is placed in the unfiled folder by default. Sony Ericsson Multimedia Content is stored in ‘Sony Ericsson’ sub- folders. When the file system is viewed from a PC using PC Suite, the C: drive is called 'Phone Memory'. Only a subset of the folders is accessible. The picture below shows the layout of the folder structure: Multimedia is stored
Summary of the content on the page No. 13
Developers Guideline UIQ C++ and PersonalJava C++ Applications written in C++ have the most direct access to hardware and functions of the phone and require in-depth knowledge of Symbian C++. Since C++ is a compiled language, the applications run faster and have a faster startup time than those written in pJava, J2ME or Visual Basic. This does not imply that applications written in other languages will be slow. In fact, the other languages may be a better choice if your application does not
Summary of the content on the page No. 14
Developers Guideline UIQ C++ and PersonalJava PersonalJava This section offers advice about developing PersonalJava applications. This requires Symbian OS envi- ronment specific knowledge not needed for MIDP application development. PersonalJava (referred to as “pJava” in this document) was one of the first Java programming environ- ments targeted for development of applications for resource-constrained devices. These devices include PDAs (Personal Digital Assistants) and Communicators/Smartph
Summary of the content on the page No. 15
Developers Guideline UIQ C++ and PersonalJava It is recommended to install Sun J2SDK. When using the J2SDK, it is important to compile using a pJava “classes.zip” file. Such a file can be found in the UIQ SDK. Also, the javac compiler directive “- target 1.1” must be used for the J2SDK to assure that JDK 1.1.* compatible bytecode is generated. A good example of this can be found on the Sun web page: http://java.sun.com/j2se/1.5.0/docs/ tooldocs/windows/javac.html#crosscomp-example. JavaChe
Summary of the content on the page No. 16
Developers Guideline UIQ C++ and PersonalJava Behaviour related to flip modes The P800, P900 and P910 series operates in two distinctly different UI modes: Flip Open (FO) and Flip Closed (FC). pJava applications can be launched and can only appear on screen while in the FO mode. On transition from FO to FC, the UI of any pJava application being executed becomes out of focus (hidden) and the user is unable to interact with the application. The application may however continue to execute and p
Summary of the content on the page No. 17
Developers Guideline UIQ C++ and PersonalJava UIQ SDK for Symbian OS v7.0 The UIQ SDK contains: Library files Documentation Sample code Tools for packaging applications into Symbian installable format (.sis) for C++ and Personal Java applications. These .sis files can be compared to ‘InstallShield’ in Microsoft® Windows® development environ- ment. A standard UIQ device emulator to simplify and speed up your development process Deployment tools, such as AIFBuilder and MakeSIS Techn
Summary of the content on the page No. 18
Developers Guideline UIQ C++ and PersonalJava Skin images Sony Ericsson provides skin images and property files for changing the “look and feel” of the generic UIQ emulator of the Sony Ericsson P800, P900 and P910 series. The skin images are available at Sony Erics- son Developer World. In order to mirror the appearance of the phone’s screen in the UIQ Emulator, do the following: 1. Backup existing files in the UIQ SDK. \epoc32\data\epoc.bmp and \epoc32\data\epoc.ini 2. Rep
Summary of the content on the page No. 19
Developers Guideline UIQ C++ and PersonalJava Sony Ericsson specific APIs The Sony Ericsson specific API:s and relevant documents can be found at Sony Ericsson Developer World. Camera API The Sony Ericsson Camera APIs for the P800, P900 and P910 series support: Still image capturing of RGB bitmap based pictures in three sizes. Still image mode direct-to-screen view finding of one fixed size (QQVGA). The Camera API for the P900 also supports video recording of QCIF sized frames in YUV 4:2:0
Summary of the content on the page No. 20
Developers Guideline UIQ C++ and PersonalJava Streaming AMR API AMR is standard speech GSM encoding/decoding technology. It lets you play and record AMR encoded sound at different bit rates. This function can therefore be used by your application. The Streaming AMR API support is not supplied in the base software of the P800 and must therefore be installed separately. The package provided (StreamingAmr.sis) is used to add this Streaming AMR API to the device. Compatibility The Streaming AMR