• 从S60 5th移植程序到Symbian^3(转)


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

    Symbian^3平台N8手机

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

    Contents

     [hide]

    [edit]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改成上面的代码,也是完全可以的。

    [edit]支持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

    [edit]Symbian^3平台UID

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

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

    如果你想你的应用在多平台上都可以安装,那么一下的平台UID供参考。 平台及设备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"}

    [edit]Display Mode的改变

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

    [edit]对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中的签名和之前的没有变化,所以单说签名的话,是不需要修改的。

    [edit]在Symbian^3上开发Qt应用

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

    Related Wiki Articles

    No related wiki articles found

  • 相关阅读:
    VScode网页开发工具
    Java修饰符总结
    C++进阶补充
    C++进阶
    计算机简单开发的基础
    C++动态规划和递归
    C++设计模式
    C++ virtual
    C++-基于STL的演讲比赛流程管理系统
    C++6(5补充)
  • 原文地址:https://www.cnblogs.com/yaoliang11/p/1862720.html
Copyright © 2020-2023  润新知