You can extend your Qt applications on S60 with the Mobile Extensions. The Mobile Extensions are a technology preview. Some of the Extensions will eventually be replaced by the products coming from the QtMobility project at Qt. However, the timeframe for those deliveries is not yet established so you will still need to use the Mobile Extensions for the time being. See QtMobility for more details.
We still want to hear your valuable feedback. If you have any questions, issues or improvement suggestions please utilize our discussion board: http://discussion.forum.nokia.com/forum/forumdisplay.php?f=196 It is actively monitored by the team behind the Extensions.
The Mobile Extensions are delivered as source code as well as binaries that you can install on your S60 device and in your S60 SDK. This package contains nineteen APIs and example code illustrating the use of each one. There are also five demonstration applications. The demonstration applications are available by installing the launcher application included in the delivery package. The demonstrations and examples are built against the Qt for Symbian Tower release.
Download the Mobile Extension third preview package
Note that this does not include the Qt for Symbian binaries. They need to be installed separately. See Qt for Symbian - Installation packages
2.7.2009 - Third Technology Preview of the Mobile Extensions:
To use the Mobile Extensions on your device you need the Qt for Symbian download
Qt for Symbian must be installed on your S60 device so that you can run applications. Qt for Symbian must be installed in the SDK(s) that you will be developing with.
Note: Some of the APIs require restricted capabilities which means your application installation files need to be Symbian Signed. See Signing an application in the Qt for Symbian Developer's library for more information about this.
You can also distribute the Mobile Extensions libraries package with your application, as an embedded SIS. To do this you will need the package UID which is: 0x2001EC61
26.5.2009 - Qt Mobility Project announced:
In February we published the first versions of Mobile Extensions for Qt for Symbian that provide the capability to extend your Qt applications to utilize mobile features on S60 devices.
We've gotten great feedback from our developers and now we're happy to announce that the first set of these APIs are being evolved for cross-platform use, not just S60. The API interfaces and use cases of mobile extensions have been refined based on the valuable feedback we've gotten. The project is called the Mobility project (http://labs.trolltech.com/page/Projects/QtMobility) and the work is starting with Bearer Management API and Contacts API.
In addition there will be other enablers for Qt developers that can be used on mobile devices like the announced Service Framework (http://labs.trolltech.com/blogs/2009/05/26/qt-service-framework/). In the longer run we're aiming to get more cross-platform solutions from the mobile extensions. It is recommended to always use the cross-platform Qt APIs when available.
The mobile extensions continue to evolve, for the next release we will have major improvements on how the extensions are taken into use and we will also be opening up new features for Qt developers!
9.4.2009 - Second Technology Preview of the Mobile Extensions:
To test the demonstration applications, see the demonstration section of this page. All that’s needed is an S60 3rd Edition, Feature Pack 1 (FP1) or later device. If you are unsure which S60 Edition device you have, check the Forum Nokia device specifications page. Note that as Qt for Symbian is a technology preview the usability and look and feel of the applications may be imperfect.
The precondition for developing with these extensions is that Qt for Symbian download must be installed. More information regarding Qt for Symbian development is also available here.
Should you have any questions please utilise the Qt for Symbian discussion board.
In addition to the simple example applications provided, there are five more advanced demonstration applications featuring some of the possibilities that the Mobile Extensions provide.
The API documentation in HTML format in /doc/Qt_S60_Mobile_Extensions_doc.zip. After unzipping the package open index.html to view the documentation in your browser.
The API documentation is available also as an Eclipse plugin available in this zip package. The zip package contains only one file, MobileExtensions.jar. You can install the documentation by copying the MobileExtensions.jar to the Carbide.c++ plug-ins folder (for example, C:\Program Files\Nokia\Carbide.c++ 2.0\plugins).
An overview of the APIs is provided in the APIs in the current release section of this article. For detailed information refer to the documentation.
Mobile Extensions are located under the directory .\extensions\src\. Simple example applications demonstrating the APIs are located in directory .\extensions\examples\. There are also more sophisticated demonstration applications that use several extensions in the .\extensions\demos\.
To use an extension you need to add the appropriate Extension library to your project file and add the include path to the Extensions header files. Then, in your code, you need to include the appropriate header file for the Extension you want to use. The header file always has the same name as the main Extension class. In many cases you will also need to add some security information to your project file since the Extensions use restricted features of the device.
For example, if you want to use the Access Point Manager API, the Access Point Manager API implementation notes show that you need to add the following lines to your .pro file:
INCLUDEPATH += [my relative extensions path]\extensions\include symbian:LIBS += -lxqaccesspointmanager symbian:TARGET.CAPABILITY = ReadUserData
Then you need to include the header for the Access Point Manager API class in your application source. The main class is XQAccessPointManager so the name of the corresponding header file is xqaccesspointmanager.h.
#include <xqaccesspointmanager.h>
Starting with S60 3rd Edition Platform Security applies all C/C++ applications on S60 devices.
The same capability and certification rules apply to Qt applications as for Symbian C++ applications. Some of the extensions require either a developer certificate or the use of Symbian online signing. For more information about platform security, see http://www.forum.nokia.com/Resources_and_Information/Explore/Development_Process_and_User_Experience/Testing/ and http://developer.symbian.com/wiki/display/pub/Symbian+Signed+FAQ.
User-grantable capabilities are LocalServices, ReadUserData, WriteUserData, NetworkServices, and UserEnvironment (and Location beginning with S60 3rd Edition, Feature Pack 2). The APIs that use only user grantable capabilities only (APIs that you can utilise without having an application Symbian Signed) are shown in the API listing below. If your application uses these APIs, the application can be self signed and installed to a "Qt-enabled" S60 mobile device.
The easiest way to get familiar with the extensions is to play around with the examples. You can start using the examples simply by importing the examples .pro file in to Carbide.c++ (instructions available in the Qt for Symbian developer's library). If you just want to compile the complete examples, you can do so also from the command prompt:
Building the Contacts example for the emulator
cd extensions\examples\contactsex qmake contactsex.pro make debug-winscw
Running the example on the emulator
make run
Building and installing to a target device
make release-gcce createpackage -i contactsex_gcce_urel.pkg
This will create a self-signed contactsex_gcce_urel.sis and install it to your device assuming you have Nokia PC Suite installed and a compatible device connected to your PC.
You can also specify your own certificate and key files as additional parameters to createpackage if the default ones are not suitable, for example when self signing is not adequate due to capability requirements.
Note that if you want to compile the flickr or landmarks demonstration applications remember to set your Flickr API key to the following files:
The Mobile Extensions package contains pre-built versions of the Mobile Extensions libraries. You can install them with the .\install_to_device\qt_mobile_ext_libs.sisx file. NOTE: the Qt for Symbian 4.5.2-Tower binaries must be installed in your device before you install the Mobile Extensions libraries.
The source code for the APIs is located in the .\extensions\src\ folder. There is no need to build them yourself since pre-built binaries are supplied but, if do you want to build them yourself, they must be built with the Qt for Symbian 4.5.2-Tower release - older Qt for Symbian releases are not supported.
Examples using the APIs are in the .\extensions\examples\ folder. Prebuilt versions of them are also included in the Mobile Extensions package in the .\install_to_device\demos_and_examples\ folder.
For detailed API documentation, refer to the documentation in the delivery packages .\doc\ folder.
In addition to providing the APIs and simple examples, we offer fancier demonstration applications that show some of the possibilities that the Mobile Extensions provide. Note that because both Qt for Symbian and the Mobile Extensions are in the technology preview phase, there may be certain issues with the demos. We welcome your feedback on the discussion board.
The demos and examples are built against the Qt for Symbian Tower 4.5.2 release.
Install the following packages:
Be aware that because the demos use Internet connections (and the Camera MMS demonstration sends an MMS), your operator will charge you for data traffic and messages.
The MobileExtDemos application can be used to launch the demonstration applications. The following screenshot shows this application running on the Nokia 5800 XpressMusic device:
The demonstration uses your location to fetch pictures taken near you using the flickr service.
The following screenshot shows the demonstration running on the Nokia 5800 XpressMusic device:
To compile the flickr demonstration application, remember to set your own API key to the following file:
The demonstration captures an image using the onboard camera. The picture is sent to a selected contact (as an MMS) and added as an image that is shown once you call the contact (in vcard terminology, the 'logo').
Remember to have the application running on the device to which you're about to send your picture (the receiving end)!
Once you hear the message tone, the MMS has arrived at the other mobile device and you will be able to see that the application on the receiving end is showing your contact information and the received picture.
The picture can be added as your logo just by clicking the Add button. You can easily test to see if the demonstration works by calling the receiver. Note that the MMS message is deleted automatically from the receiver end. You don't have to do anything with the application on the receiving end — just have it running.
Screenshot of the demonstration running on the Nokia 5800 XpressMusic device:
The demonstration adds an image to a contact that is shown once the contact calls you (in vcard terminology called the 'logo').
When the contact calls you, you will see the picture you set as the caller’s logo! Screenshot of the demonstration running on Nokia 5800 XpressMusic:
The Bricks demonstration is a simple arcade-style game that demonstrates the use of sensors to control the player object.
Screenshot of the demonstration running on the Nokia 5800 XpressMusic device
The Landmarks demonstration lists landmarks around the current position (10 km radius). Landmarks are also added to the database of the mobile device. The demonstration offers the opportunity to make a phone call if a number can be parsed from the name of the landmark.
Once the application starts, it will read the GPS location. When the location has been retrieved, the Download Landmarks button will start retrieving landmarks near you. If the location has not yet been retrieved, a hard-coded test location is used.
When the landmarks have been retrieved, they are listed in a listbox. If the landmarks have a phone number included, the number will be displayed in the Call To button and a phone call can be made to the defined phone number.
To compile the landmarks demonstration application remember to set your own API key to the following file:
We welcome your feedback and suggestions. If you have any questions or feedback, please use our discussion board at http://discussion.forum.nokia.com/forum/forumdisplay.php?f=196.
Have fun with the extensions and stay tuned for updates!
No related wiki articles found