Qt Mobility 在Symbian平台的安装
| Line 1: | Line 1: | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
== [http://qt.nokia.com/developer/new-qt-apis/ QtMobility简介]== | == [http://qt.nokia.com/developer/new-qt-apis/ QtMobility简介]== | ||
QtMobility是专门用于开发Qt应用的手机功能专有模块。<br> | QtMobility是专门用于开发Qt应用的手机功能专有模块。<br> | ||
Revision as of 19:32, 24 November 2010
Contents |
QtMobility简介
QtMobility是专门用于开发Qt应用的手机功能专有模块。
如果你希望你的Qt应用能够使用到手机的通信录,短信,定位,拍照,多媒体,传感器,网络连接管理等等功能,那么只有标准的Qt库是不够的,还需要另外安装QtMobility,本文讲的就是如何为你的Symbian开发环境提供QtMobility的支持。更多关于Qt Mobility API 的介绍可以在Qt Mobility Project网址找到。
注:如果你使用的是Nokia Qt SDK开发环境,那么QtMobility已经随安装包一起安装,并使用Nokia Qt SDK更新Qt Mobility的版本,在Qt Creator 开发纯的Qt应用时(不含任何Symbian C++ API的 Qt应用),可以跳过本文而不用进行任何额外的安装。
下载安装包和源代码
Qt Mobility 的项目入口在 New-Qt-APIs ,在这里可以找到最新的版本。所有Qt Mobility 的版本可以在连接找到。 Qt Mobility 需要相应版本的Qt 支持参见下表
| 9 November 2010 | Qt 4.7.1 |
| Qt Mobility 1.1.0 | |
| Symbian^3开发研究使用 | Qt 4.7 for Symbian^3 - developer version |
| qt-mobility-symbian-1.1.0-symbian3-nokia-signed.sis, |
解压安装包
下载qt-mobility-symbian-opensource-<version>.zip解压安装包后关键的文件有几个, 以1.1.0版本为例
qt-mobility-symbian-1.1.0-epoc32-3.1.zip
qt-mobility-symbian-1.1.0-epoc32-3.2.zip
qt-mobility-symbian-1.1.0-epoc32-5.0.zip
qt-mobility-symbian-1.1.0-epoc32-symbian3.zip
qt-mobility-symbian-1.1.0-s60.sis
qt-mobility-symbian-1.1.0-symbian3.sis
features/mobility.prf.template
INSTALL.symbian
INSTALL.symbian是在Symbian 平台上的开发的SDK安装指南。它是一个文本文件,你可以选择任何一个文件浏览器打开阅读。你可以选择不看,接着往下看文章。
安装Qt-Mobility
安装到S60 SDK上
qt-mobility-1.1.0-epoc32-<SYMBIAN_SDK>.zip 对应相应的symbian平台,需要分别解压,解压后都是名字为 epoc32 的目录,将解压后的 epoc32 拷贝到对应SDK目录下的epoc32中。
之前Nokia Qt SDK1.0.0版本 除了epoc32之外,还有一个features/mobility.prf.template 文件需要拷贝到Qt的mkspecs features目录下,默认安装的话路径是C:\Qt4.6.3\mkspecs\features目录下。由于Nokia Qt SDK1.0 在发布时有一个小小的错误,开发者可以参考文章features and some other files for Qt Mobility in the Symbian part are missing 对SDK 进行修复。
拷贝mobility.prf文件
将 <QTMOBILITYDIR>/features/mobility.prf.template 文件拷贝成 QTDIR/mkspecs/features/mobility.prf。
可在编译环境下运行'qmake -v' 来查看目前的Qt 目录。
mobility.prf的作用是:在pro文件里声明某个Qt Mobility API 后, qmke 通过 QTDIR/mkspecs/features/mobility.prf 文件来配置Mobility需要引用的头文件及其路径。
安装到手机上
- 前提:手机上需要安装Qt 4.7
- 手机上安装Qt-Mobility支持库,只需将qt-mobility-symbian-1.1.0-s60.sis文件安装到手机即可,此安装包适合S60 FP1、FP2和5th。
- 将qt-mobility-symbian-1.1.0-symbian3.sis文件安装到symbian^3手机上。
注意这里QT Mobility 1.1.0的一个bug,上述文件不能安装,改为安装qt-mobility-symbian-1.1.0-symbian3-nokia-signed.sis
可以写Qt-Mobility了
不想从头开始写就从下载的源代码里的example里找个工程来编译看看。 编译命令很简单 qmake;make 就可以了。如果想运行的话执行make run 需要注意的是绝大部分的.pro里都会include一个example.pri文件,把那一行删掉或注释掉,它是用于编译整个QtMobility源码系统和所有example时的一些共用选项,我们只编一个应用不需要它,否则会出错。 要用到QtMobility模块的话, .pro里都会有一句”Qt+=mobility”,这就是要用到mobility.prf文件的地方了。
如果你不喜欢用命令行方式编译的话,从 Carbide 或 QtCreator 中引入一个QtMobility example 工程也能正常编译。
想运行到手机上?
没问题,命令行方式的话,在执行qmake后,执行make release-gcce ; make sis 命令就会给你编出一个.sis文件来。直接把.sis文件拷贝到手机上安装就可以了。不过因为QtMobility需要比较高级的一些系统权限,你会发现有些应用利用自签名没法安装,那么你需要将你的应用传到symbiansigned.com上去做个签名,然后下载,就能装到手机上了。
Qt Moblity API 需要的能力
| Domain | Symbian Capabilities |
| Bearer Management | ReadUserData NetworkServices (NetworkControl for QNetworkSession::stop()) |
| Contacts | ReadUserData WriteUserData |
| Location | Location |
| Multimedia | UserEnvironment ReadUserData WriteUserData ReadDeviceData WriteDeviceData |
| Messaging | LocalServices ReadUserData WriteUserData NetworkServices UserEnvironment ReadDeviceData WriteDeviceData |
| Publish And Subscribe | Capability depends on P&S value being read/written. API itself doesn't require any capability. |
| Service Framework | No capabilities requried by itself, the plugins may have capability requirements. |
| Sensor | ReadDeviceData |
| System Information | LocalServices ReadUserData WriteUserData NetworkServices UserEnvironment Location ReadDeviceData |
| Versit | No additional capabilities required. |
| Document Gallery | No capabilities at this stage. |
| Organizer | ReadUserData WriteUserData |
| Tactile Feedback | No capabilities at this stage. |

