从S60 5th移植程序到Symbian^3

来源:互联网 发布:淘宝服装质量问题定义 编辑:程序博客网 时间:2024/05/16 02:42

本文中将介绍从S60 5th移植程序到Symbian^3平台上的时候,需要修改的地方和需要注意的问题。随着系统的不断完善,我会以Q/A的方式来维护该文章,如果开发者也发现了不同的问题,也希望共同维护该文章。

Contents

 [hide]
  • 1 MMP文件中的修改
  • 2 支持Single Tap
  • 3 Symbian^3平台UID
  • 4 Display Mode的改变
  • 5 对S60 5th应用是否需要重新编译和签名
  • 6 在Symbian^3上开发Qt应用

MMP文件中的修改

Q: MMP文件中需要什么样的修改?
A: 由于资源的构造代码有了变化,所以在MMP文件中要增加代码:

APP_LAYER_SYSTEMINCLUDE

Q: 这行代码中 APP_LAYER_SYSTEMINCLUDE 是一个宏定义,那么这个宏定义具体是什么内容呢?
A: 这个宏定义展开后的代码是:

SYSTEMINCLUDE    /epoc32/include/mw
SYSTEMINCLUDE /epoc32/include/app
SYSTEMINCLUDE /epoc32/include/platform
SYSTEMINCLUDE /epoc32/include/platform/app
SYSTEMINCLUDE /epoc32/include/platform/mw

也就是说如果将宏定义APP_LAYER_SYSTEMINCLUDE改成上面的代码,也是完全可以的。

支持Single Tap

Q: 什么是Single Tap?
A: 在S60 5th版本中介绍了,为了兼容之前已经存在的S60 3.X应用,在S60 5th版本中支持double-click。double-click意思是第一次的click使得UI获得焦点,然后再一个click激活该事件。
那么在Symbian^3中,支持了Single Tap来提升可用性,Single Tap中没有焦点的概念,第一次的click就会激活该UI事件。
Single tap提升了触摸的互动效果。
Q: 那么如何修改程序来支持Single Tap?
A: 参考该链接:Single tap on symbian^3

Symbian^3平台UID

Q: Symbian^3系统升级了,那么是不是平台的UID也有变化?
A: 是的,如果之前的程序在pkg文件中不修改平台UID,在安装的过程中会有提示。
你也可以对pkg文件中的平台UID进行修改:

[0x20022E6D], 0, 0, 0, {"Series60ProductID"}

如果你想你的应用在多平台上都可以安装,那么一下的平台UID供参考:

;Supports S60 3.0
[0x101F7961], 0, 0, 0, {"Series60ProductID"}
 
;Supports S60 5th Edition
[0x1028315F], 0, 0, 0, {"Series60ProductID"}
 
;Supports Symbian^3
[0x20022E6D], 0, 0, 0, {"Series60ProductID"}

Display Mode的改变

Q:Symbian系统是否改变了默认的display mode?如果有在程序中要怎么修改?
A:Symbian C++的程序要增加对EColor16MA和EColor16MAP的处理,具体内容参考链接:Display mode with alpha channel on Symbian devices

对S60 5th应用是否需要重新编译和签名

Q:在移植的时候,S60 5th的应用需要重新编译吗?S60 5th的应用需要重新签名吗?
A:大部分S60 5th的应用可以直接在Symbian^3手机上进行安装使用,不需要重新编译和签名。除了以下几种情况:
1.为了提升用户体验,应用向使用Single Tap,那么需要按照上面Single Tap的链接来修改程序。
2.在Symbian^3中有些API被移除、修改(该内容会在之后公开)了,那么需要修改代码,并且重新编译。
3.如果需要重新编译的时候,原来的代码在Symbian^3下编译不过的,需要修改MMP文件,本文中上面已经说明。
4.如果单单是为了修改平台UID是没有必要的,该问题不会对安装使用应用造成而且影响。
对于签名问题,由于在Symbian^3中的签名和之前的没有变化,所以单说签名的话,是不需要修改的。

在Symbian^3上开发Qt应用

Q:在Symbian^3上开发Qt应用需要Symbian签名吗?
A:实质上,Qt应用在Symbian平台上也是Symbian应用。所有的Qt应用都是需要进行Symbian签名的。

原创粉丝点击