从S60 5th移植程序到Symbian^3
2010-06-10 17:30
218 查看
本文中将介绍从S60 5th移植程序到Symbian^3平台上的时候,需要修改的地方和需要注意的问题。随着系统的不断完善,我会以Q/A的方式来维护该文章,如果开发者也发现了不同的问题,也希望共同维护该文章。
A: 由于资源的构造代码有了变化,所以在MMP文件中要增加代码:
Q: 这行代码中 APP_LAYER_SYSTEMINCLUDE 是一个宏定义,那么这个宏定义具体是什么内容呢?
A: 这个宏定义展开后的代码是:
也就是说如果将宏定义APP_LAYER_SYSTEMINCLUDE改成上面的代码,也是完全可以的。
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
A: 是的,如果之前的程序在pkg文件中不修改平台UID,在安装的过程中会有提示。
你也可以对pkg文件中的平台UID进行修改:
如果你想你的应用在多平台上都可以安装,那么一下的平台UID供参考:
A:Symbian C++的程序要增加对EColor16MA和EColor16MAP的处理,具体内容参考链接:Display mode with alpha channel on Symbian devices
A:大部分S60 5th的应用可以直接在Symbian^3手机上进行安装使用,不需要重新编译和签名。除了以下几种情况:
1.为了提升用户体验,应用向使用Single Tap,那么需要按照上面Single Tap的链接来修改程序。
2.在Symbian^3中有些API被移除、修改(该内容会在之后公开)了,那么需要修改代码,并且重新编译。
3.如果需要重新编译的时候,原来的代码在Symbian^3下编译不过的,需要修改MMP文件,本文中上面已经说明。
4.如果单单是为了修改平台UID是没有必要的,该问题不会对安装使用应用造成而且影响。
对于签名问题,由于在Symbian^3中的签名和之前的没有变化,所以单说签名的话,是不需要修改的。
A:实质上,Qt应用在Symbian平台上也是Symbian应用。所有的Qt应用都是需要进行Symbian签名的。
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签名的。
相关文章推荐
- 从S60 5th移植程序到Symbian^3(转)
- 从S60 5th移植程序到Symbian^3
- Symbian S60 5th 切换程序UI方向为横屏或竖屏
- S60 3版程序移植到5版的注意事项
- S60 3版程序移植到5版的注意事项
- Socket程序从windows移植到linux下需要注意的
- S60 Idle 程序UID 和 当前前台应用程序UID获取
- STM32F103至STM32F407程序移植参考手册
- Socket程序从Windows移植到Linux下的一些注意事项
- VS2010程序向Ubuntu系统的移植
- 如何移植32位程序到64位系统
- VS2008程序移植到没有装VS2008的电脑(包含OpenCV)
- s60 2nd 移植到 3rd 的一些心得
- 2005-10-14 程序移植到89C420的工作基本完成
- 从VC到EVC程序的移植问题汇总
- 程序文件移植工具
- 移植MFC程序到WINX
- 移植s60应用程序第二版到第三版
- linux设备上的Onvif 实现3 :gSOAP嵌入式linux下的移植与程序开发
- s60塞班程序的图标和中文名称