This document discusses using Qt to develop applications for Symbian^3 mobile devices. It covers the available Qt and mobility APIs, the Nokia Qt SDK tools for development, best practices for extending Qt with native Symbian APIs, and demonstrates building a simple Qt application for Symbian^3.
9. The Big Picture Tools Qt 4.6.3 Mobility 1.0.2 Nokia QtSDK Qt Simulator AppTRK Core Qt modules Covers mobile use cases not originally available in the standard Qt distribution
10. QtSupport Allyouneed is in the Nokia Qt SDK Qt 4.6.3 comes embeddedonS^3 devices QtOpenGLandQtConcurrentnotsupported QtOpenVGonlysupportedonSymbian^3 More details: http://qt.gitorious.org/qt/pages/SymbianFAQ
22. Using Qt on Symbian^3 Nokia Hardware X Nokia Qt SDK w/ Symbian target Add code Run on device Debug on device Add Mobility Tweak project files Add Smart Installer Distribute
24. Using Qt on Symbian^3 Security Platform Security (Capabilities) Symbiansigned
25. Using Qt on Symbian^3 UI Misc Gestures* Multitouch* Softkeys Orientation Styling API support Connectivity Device support Smart Installer * New on Symbian^3
27. UseAPIsthatdon’texist in Qt Extend Qt APIs with extra features Squeeze more performance from Qt applications Extending Qt’s Reach with Native Code
28. Qt’s Reach on Symbian^3 Base Services Kernel Services & Hardware Abstraction Qt application Qt 4.6.3 + Mobility 1.0.2 Open C/C++ Symbian OS Generic OSServices Comm. Services Multimedia &GraphicsServices ConnectivityServices Telephony Short Link & Serial Networking
29. Qt Modules and Platform APIs Symbian C++ APIscover a wider range of use cases. Ex.: VoIPaudioservices Devicepersonalization (e.g.: home screen, screensaver, settings) Multimedia (audio, video, camera) Mostgaps are being / willsoonbeaddressedbyQtMobilityproject Ifyouwant more flexibility, you are free to use SymbiannativeAPIs Getting to knowtheplatformAPIshelpsyougo a stepfurther
33. Best Practices Isolate platform code from Qt code – PIMPL Wrap calls to asynchronous Symbian code into Active Objects and emit signals from the AO back to Qt code (the public pointer) Take advantage of Symbian APIs that provide callbacks Pay attention to exception handling – barrier functions Conversion between Qt and Symbian types
QtOpenGL and QtConcurrent missing from 4.6.3Qt 4.6.3 is embeddedQt Mobility is not
QtOpenVG -> hw acceleration for Qtvectorgraphics
QtOpenGL and QtConcurrent missing from 4.6.3Qt 4.6.3 is embeddedQt Mobility is not
QtOpenGLandQtConcurrentmissingfrom 4.6.3Qt 4.6.3 is embeddedQtMobility is notCheck for BC
Replacepicturewith ENIACAnimatedOviIcon -> Arrow to indicate downloadNokia Smart Installer for Symbian (or Smart Installer, for short) is a tool that ensures that the installed 3rd party applications have always access to the required versions of their dependent libraries. Smart Installer is split into two components: smartinstaller and smartinstaller ADM (for ‘application dependency manager’). Smart Installer is a small component that will be embedded with the application to a wrapper package; it ensures that a recent version of ADM is installed on the device and installs/upgrades ADM, if necessary. Because of the nature of Smart Installer functionality, network connection is always required during installation. See Section 1.2, ‘Smart Installer network usage’, for a detailed description about network usage. Smart Installer is invoked during the application installation process on the Symbian device. It immediately fetches the latest ADM from the server and runs it. ADM checks whether the required components (dependencies) are already installed on the device and downloads and installs, or upgrades them, if needed. Information about the application’s dependencies is extracted from the application sis file, where each dependency is defined using the standard dependency statements as defined in the pkg file format. For Qt, the dependencies are automatically generated during the build process, but developers can manually adjust them as well. After the required dependencies have been successfully installed to the device, the application installation process is invoked. This follows the normal UI flow of application installation on a Symbian device. 1. Select Start > Nokia Qt SDK > Symbian > Qt for Symbian Command Prompt to open a command prompt with the appropriate environment set. 2. Change directory to your project folder. 3. To build the application executable, enter the following command: qmake && make release-gcce 4. To build and sign your application SIS file with your Ovi Publisher key and certificate, enter the following command:make sis QT_SIS_CERTIFICATE=developer.cer QT_SIS_KEY=developer.keyHere, the publisher certificate and key are located in the current folder. If they are located in another folder, specify the path as well as the filename. 5. To package Nokia Smart Installer with your application and sign it:a. Open the wrapper package in an editor. It will be named <myapp>_installer.pkg.b. Replace the testing UID A000… with the reserved wrapper package UID 0x2002CCCF.c. Replace the “c” in the install file destination path with a “!” and then save the file; eg:"X:/proj/myapp/myapp.sis" – "c:private2002CCCEimportmyapp.sis""X:/proj/myapp/myapp.sis" - "!:private2002CCCEimportmyapp.sis" d. Then enter the following command: make installer_sis QT_SIS_CERTIFICATE=developer.cer QT_SIS_KEY=developer.key e. A “wrapper” SIS is generated with a name like <myapp>_installer.sis 6. Submit this wrapper SIS file to Publish to Ovi.
- Talkabout TRK (installing to Device)
Gestures =flickpinch to zoom, etc.
Gestures =flickpinch to zoom, etc.
19.6 -Syntax-Operator support-In app purchase20New intake system!-Redesign of publish (user testing, personas, epics, onterviews with pubs)-easiser faster amnd simplified-flexibility with pricing and country overrides (price promotion ina single or few markets)New rreporting interface (presentation of content, data shown/metrics)-payout archives simplify accounting Completely automated and integrated to processing tool make cycle times faster
Reference a fewapps: Wikitude, Qik, AngryBirds
QtOpenGL and QtConcurrent missing from 4.6.3Qt 4.6.3 is embeddedQt Mobility is not