×
Namespaces

Variants
Actions

如何开发一个 N9 上的程序

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata

代码示例
文章
zhouhl 在 18 Aug 2011 创建
最后由 renlin 在 12 Jul 2012 编辑

Contents

引言

本文向大家演示如何开发一个基本的 N9 程序。

内容

1 配置环境
2 第一个N9工程(helloworld)
3 真机部署
4 运行效果1(非本地化)
5 本地化HelloWorld
6 运行效果2(本地化)
7 替换应用程序图标
8 源码下载
9 相关连接

环境配置

首先下载最新的Qt SDK ,安装的时候不要使用默认安装,要选择自定义安装,自定义安装的时候记得在Harmattan前打上对勾,这样安装程序才会把开发 Meego平台所用的环境安装到机器上。

新建工程

下面新建一个 Harmattan 工程:
Harma00a.png

我们这里取名叫 helloworld,以下步骤都按照默认设置即可,一直点到最后一步 finish 即可。这时我们就新建好了一个简单的Meego平台上的程序。

连接真机

为了在真机上看到我们新建程序的运行效果,我们需要再配置一下我们的测试手机和 Qt Creator。 在最开始我们需要需要打开N9的开发者模式。如何打开?应用程序列表->设定->安全性->开发人员模式。 N9 Open Developer Mode 1.png N9 Open Developer Mode 2.png N9 Open Developer Mode 3.png N9 Open Developer Mode 4.png N9 Open Developer Mode 5.png
成功打开N9手机的开发模式后,在应用列表中,才会出现上面第一幅图中最下面的的三个图标。后面会用到SDK Connection工具。

注:打开开发模式后,当N9第一次连接时(请选择最后一项,SDK Mode)需要安装驱动,其路径为C:\QtSDK\Madde\usbdriver。

首先切换到 Project 视图:
Project00a.png


点击“Manage device configurations”
Add00a.png
在弹出的窗口中点击 “add”


Name00a.png
在弹出窗口中给新的配置起一个名字,我们这里起名字叫Meego Device.然后点击next, 以后的步骤都按照默认设置即可。下面我们会来到设置密钥的一步:


Secret00a.png
我们选择一个路径,然后点击 “create keys” 就可以了。



下一步我们需要把私钥部署到手机上,这时候需要按照窗口中的提示步骤来做。
Password001.png


打开N9手机上的 SDK connectivity。如果是用的usb连接就选择USB,然后会看到下图中的密码:
Password002.png


我们把上面的密码填入到之前的界面,然后点击"deploy"就可以了。如下图所示,部署成功。
Passok.png


然后我们就来到了最后一步:
Last00a.png

最后再测试一下计算机和手机是否连通了,出现下面的界面就说明已经成功连通了.
Test00a.png


到这里我们新的 “Meego device” 的配置就设置好了。
MeegodeviceC00a.png

下面我们就要使用这个新的配置了。我们把 device configuration 切换成“Meego device”就可以了,如下图所示:
Meegodevice200a.png

最后我们点击“run”就可以在Meego手机上看到效果了:
Run00a.png

在这里感谢Deng Jia同学辛苦做的动画,大家踊跃下载 File:First connection demo.zip

运行效果1(非本地化)

下面是程序在N9上的运行效果:
Xiaoguo00a.png

完全本地化HelloWorld

N9的程序本地化包含三个部分:
1 本地化应用程序UI的内容。
2 本地化应用程序名字,即在应用程序列表中,当系统是中文的时候需要应用程序需要显示的名字也要相应的修改(“helloworld”变为“世界你好”)。
3 在应用程序管理里面,应用程序的名称也需要被本地化,同时应用程序描述也需要被本地化。
首先:
如何对UI界面进行本地化,请参考Qt应用在Meego上的国际化和本地化
其次:
本地化在应用程序列表中的应用程序名称。
在根目录下用文本编辑器(作者使用NotePad++,比较容易方便的切换文本编码格式)打开helloword.desktop文件,在相应的位置加入如下代码

Name=helloworld
Name[zh_HK] = 你好世界

如果“你好世界”显示成乱码,需要您把文本编码格式改为UTF-8,输入完毕后,一定要把文本编码格式保存为“ANSI”格式,否则可能出现编译失败或者单机应用程序图标无法启动程序。
最后:
本地化Application Manager中的应用程序名称以及程序说明。
a) 用文本编辑器打开\helloworld\qtc_packaging\debian_harmattan\control文件。
b) 把文件编码格式改成UTF-8格式为了方便输入中文。
c) 加入如下代码

Description: insert up to 60 chars description
English long description, can be quit long, for example several lines
XSBC-Description-zh_HK: 我是世界你好的描述
中文长描述,长长长,我很长的。。
XSBC-Maemo-Display-Name: helloworld
XSBC-Maemo-Display-Name-zh_HK: 世界你好

此处需要注意第二行和第四行前面的空格不能少。
d) 把您的文本编码格式改为ANSI,否则编译不会通过

好了,到此为止,所有的本地化工作都已完成,可以上真机看看效果。

运行效果(本地化)

下面是程序本地化后的效果图:

Appiconinapplicationlist.png Contentofhelloworld.png Appiconinappmanager.png Descriptioninappmanager.png
程序名本地化,在应用程序列表中 内容本地化 程序名本地化,在App Manager中 应用程序描述内容本地化

替换应用程序图标

同样替换应用程序图标包括两个部分,在应用程序列表中的图标,另外一个是在应用程序管理器(Application Manager)中的图标。
a) 找一张80*80大小的图标来同名替换工程路径下的.png和svg图片。(N9要求图标为80*80否则图标边缘会模糊)
b) 把png图片以Base64格式编码改图片。
c) 用文本编辑器打开\helloworld\qtc_packaging\debian_harmattan\control文件。
d) 把改图片文件编码字符串填写在 XB-Maemo-Icon-26: 标签后。

若您做完上述操作,图标还是无法显示请注意下面几个要点:
a) control文件中的标签是否为XB-Maemo-Icon26。
b) Icon标签字符串应该在XB-Maemo-Icon26标签的下一行。
c) 编码字符串前面都有一个空格。
d) 建议每个编码字符换以60个字符为一行。这便于其他编码工具阅读和编辑。比如vim。

下面是两段例子,请读者鉴定好坏。
例子1

XB-Maemo-Icon-26:   
 
iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAIAAAABc2X6AAAAAXNSR0IArs4c6QAAAARnQU1BAACx
 
eF7tXDtyJUUQFCfSHgSDEDfABU97il0OABwCBwwOgCEciMDCJMDCxxc1nV1Z2d/pt9sSerFLTLyY
......
tLd4CnHTe6O0Upq4nq8Kv3/urXhv5ZqlF6Y1e9tsZHwqvJeDsLLCwivxx7vhxSvhcOZVwLsgpHmp
xfb1wnsXwCuJcUXXnP9vLa4IzMpQPwJesdI1X/PRw9fsvZWxf3Ae/g+Pf8SZijYEdwAAAABJRU5E
rkJggg==

例子2

XB-Maemo-Icon-26:  iVBORw0KGgoAAAANSUhEUgAAAFAA.....AABQCAIAAAABc2X6AAAAAXNSR0IArs4c6QAAAARnQU1BAACrkJggg==

e) 若应用程序列表中图标无法显示,请确认在跟目录下helloworld.desktop文件中,Icon=/usr/share/icons/hicolor/scalable/apps/helloworld.svg此路径中的图片是否存在。

下载源码和样例程序

File:N9 helloworld.zip File:First connection demo.zip

相关链接

This page was last modified on 12 July 2012, at 04:49.
334 page views in the last 30 days.
×