franksunny的个人技术空间
获得人生中的成功需要的专注与坚持不懈多过天才与机会。 ——C.W. Wendte

 完整版本,欢迎下载word文档 http://www.cppblog.com/Files/franksunny/Symbian%205th%20To%20Symbian%20%5E3.rar

Symbian 5th程序如何搬迁到Symbian ^3平台

 

做为Symbian开源的新平台,Symbian ^3发布已经有一阵子了,N8C7推向市场也有些日子,但是目前诺基亚基于这个平台的SDK才出到了0.9,可以说还没有出正式版本啊,不过看到好多人都在用新的SDK了,我也小小尝下鲜,因为Symbian ^3也是支持触摸屏操作,所以就把公司的一个基于3版本已经搬迁到5版本的产品再移植到Symbian ^3平台上来。

以下具体罗列下步骤,由于SDK的安装,与之前3rd5th是类似的,为此SDK的安装就不多说了。

修改工程文件(mmp)和打包文件(pkg

参考网上《从S60 5th移植程序到Symbian^3》文档的说明,由于新的SDK将很多头文件路径进行了更改,所以我们必须对我们程序中的所有工程文件添加宏定义APP_LAYER_SYSTEMINCLUDE以包含新的SYSTEMINCLUDE路径。你的工程中用几个mmp文件,就在里面增加这个宏就可以了,否则编译会有大堆的错误哦。

PKG文件,我们只要添加上对Symbian ^3的支持就可以了,具体如下

;Supports Symbian^3

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

 

代码修改

由于Symbian ^3修改了一些头文件定义以及API和库,所以在按照如上修改后,进行编译时,假如遇到这些更改的东西,那么就会有编译错误,需要对代码进行修改,以下是我在编译我们工程代码时做的一些代码。

因为我们的代码中有涉及到2nd3rd5th几个不同版本的API,而^3目前不知道用什么专有的平台宏,而且不像5th版本一样,它有__S60_50__宏外还向上包含了__SERIES60_3X__宏,所以在不修改代码的情况下,最好的方法就是在mmp中增加__S60_50____SERIES60_3X__两个宏定义。否则涉及到这些平台差异但是^3支持的代码,其它好的改法我也没有想到。

由于KLogMaxDirectionLength常量值的定义由之前的在logwrap.h声明改到的定义logwraplimits.h头文件,所以必须在相关的代码文件中包含logwraplimits.h头文件,即#include <es_enum_partner.h>

由于TConnectionInfoV2类由之前的在es_enum.h中声明改为在头文件es_enum_partner.h中声明,所以必须在相关代码文件中添加对es_enum_partner.h的包含,即#include <es_enum_partner.h>

由于KClipboardUidTypePlainText常量值定义由之前的txtetext.h头文件更改到txtclipboard.h中声明,所以在相关代码中必须将头文件txtclipboard.h包含进来。

让模拟器支持中文

经过上述修改,版本编译成功,打算跑一下模拟器,但是由于程序是中文的,显示都是白板,区别于Symbian 5th3rd SDK的程序自带一个一键切换语言版本的操作(具体如下图),Symbian ^3目前提供的版本没有这个简单操作。

那么如何支持中文呢?

原来模拟器打开后,在模拟器的“Tools”、“PreFerences”的对话框的General Settings栏有一个更简单的操作,直接可以选择中文、韩语、E文,具体见下图。

 

目前遗留问题

经过上面更改,程序在模拟器能正常显示中文了,不过需要联网时老连不上,后来咨询了下现在诺基亚工作的大神,据说现在获知的信息情况来看0.9版本的SDK模拟器无法使用网络资源,所以我们目前的程序无法在模拟器上进行联网调试,呜呼哀哉,由于手头没有N8C7手机,虽然编译真机版sis成功了,但是也没得试验一下,只能就此打住了。

 

另外附上从诺基亚论坛搜刮来的wiki资料,粘贴于下,下面内容就纯粹是转载了,希望不算侵权。

 

Symbian^3 Home Page

From Forum Nokia Wiki

Symbian^3平台N8手机

本文主要介绍Symbian^3的一些新特性以及Symbian^3开发资源,此页面会不断更新最新内容,开发者可以从本文获得最新的Symbian^3的相关信息。Symbian^3SDK可以在诺基亚论坛网站下载。第一款使用Symbian^3的诺基亚手机是N8对于一些没有N8手机的开发者来说,一方面可以在Emulator上进行一些测试,也可以使用诺基亚论坛提供的远程终端访问服务 。该服务的视屏介绍可以参考远程终端访问服务在线介绍Symbian Open source 源码可以在网址查看。

个人开发者今后可以在Ovi Store上提交自己的应用,并享受免费签名优惠政策,如有疑问,欢迎与mailto:publishtoovi.support@nokia.com联系。更多信息可参阅打包及签名

Contents

[hide]

*                     1 界面以及操控性的提升

*                     2 高效内存管理,支持多任务处理

*                     3 加速2D/3D图形游戏和应用

*                     4 全新的无线网络结构

*                     5 支持HDMI高清视频输出

*                     6 整合音乐商店乐随享(Music Store

*                     7 运行Qt应用

*                     8 Symbian^3开发环境配置

*                     9 Symbian^3模拟器快捷键

*                     10 Carbide C++中开发Symbian^3应用

*                     11 使用Carbide C++进行联机调试

*                     12 相关链接

*                                             12.1 横屏下的新布局方式

*                                             12.2 Kinetic Scrolling

*                                             12.3 Single tap

*                                             12.4 One Click Connectivity

*                                             12.5 多点触摸

*                                             12.6 Calendar API

*                                             12.7 S60 5thSymbian^3的应用移植

*                                             12.8 Symbian^3/N8 API和功能的改变

*                                             12.9 诺基亚开发者在线及线下帮助库

*                                             12.10 WidgetSymbian^3平台上的开发

*                                             12.11 Symbian应用签名

*                                             12.12 Symbian预置应用

*                                             12.13 诺基亚手机主题

*                                             12.14 S60 3rd Edition 应用开发

*                                             12.15 Symbian中文开发讨论区

*                                             12.16 Symbian 例程

[edit] 界面以及操控性的提升

Symbian^3支持多页主页,多个天气预报、新闻、社交网络账号以及多个电子邮件帐户和Widget其他应用可以同时出现在主屏幕上。Symbian^3还将全面采用电容式屏幕,并首次在诺基亚手机上实现了多点触控功能。使用多点触控功能,可以使得用户很方便地放大图片,旋转图片等。

[edit] 高效内存管理,支持多任务处理

Symbian^3对内存管理进行了全面优化,支持用户开启多个应用程序的同时,保持流畅的程序运行和切换。如同正在PC上普及的Windows 7操作系统一样,Symbian^3首次支持多任务缩略图预览,在手机操作系统上,PalmWeb OS有着类似的功能。

[edit] 加速2D/3D图形游戏和应用

Symbian^3平台支持图形硬件加速,并将软硬件配置统一。通过优化对2D/3D图形游戏和应用进行提速,并提高视觉效果。Symbian^3使用ScreenPlay技术,增加半透明多层叠加的效果,让高分辨率的画面或者动画内容融合在界面当中。令人欣慰的是,这种处理手段不但增加了视觉感受,还能有效的控制电量消耗,从而提升电量效能。在Symbian^3平台上,由于显示的高效性,DSADirect Screen Access)并不鼓励使用。

[edit] 全新的无线网络结构

通过FreeWay网络结构组件,Symbian^3拥有超高速网络连接和顺畅的无缝切换能力,用户可以在WiFiHSPALTE 4G等无线网络中方便切换,网络连接不再繁琐,并做好了支持将来4G网络的准备。

[edit] 支持HDMI高清视频输出

Symbian^3使得诺基亚手机首次实现了高清视频输出能力,HDMI接口的出现使得手机可以代替高清播放器,支持1080p高清视频的输出,这是Symbian^3系统的重要特征之一。

[edit] 整合音乐商店乐随享(Music Store

Symbian^3将音乐商店Music Store进行整合,并植入收音机,在界面上添加了Buy Now按钮,供用户直接线上购买喜欢的音乐。

[edit] 运行Qt应用

Symbian^3的平台上,用户可以直接安装并运行Qt应用。Qt 4.6库已经被预置到Symbian^3的手机中,而不用另外安装Qt库。关于在Symbian^3手机中开发Qt应用,开发者可以参阅Qt Symbian 开发环境安装Nokia Qt SDK开发环境使用。更多Qt的开发信息,可以查看Qt Home Page

[edit] Symbian^3开发环境配置

Symban^3开发环境配置与早期S60 SDK开发环境配置并无区别,本章节主要为了指导初次接触Symbian开发的开发者进行Symbian^3开发环境配置

[edit] Symbian^3模拟器快捷键

快捷键可以大大增加操作模拟器的效率,Symbian^3模拟器快捷键说明请参考:Symbian^3模拟器快捷键

[edit] Carbide C++中开发Symbian^3应用

开发Symbian程序主要使用的IDECarbide C++Carbide C++中开发Symbian^3应用介绍了使用Carbide C++开发Symbian程序的基本步骤。

[edit] 使用Carbide C++进行联机调试

联机调试(On Device Debugging)是开发者在开发过程中经常用到的技术,本文详细介绍了联机调试的具体步骤。

[edit] 相关链接

[edit] 横屏下的新布局方式

Symbian^3中,横屏布局有所变化,增加了主面板的大小,增加了应用可使用的空间。
横屏下的布局方式

[edit] Kinetic Scrolling

Symbian^3中,支持了Kinetic scrolling的功能,并且在Avkon中无需改变代码。在列表中加入Kinetic scrolling功能,使得用户在滚动列表时,有弹簧的效果。
Kinetic Scrolling

[edit] Single tap

Symbian^3中,增加了single tap功能,使操作更流畅,提升了用户体验。
Single Tap on Symbian^3

[edit] One Click Connectivity

Symbian^3中,增加了管理接入点的API,使得程序逻辑控制更加简单,并且增加了系统的反馈信息。这个API的使用也使得应用在不同的接入点中进行漫游(根据接入点的优先级而定)
One Click Connectivity
。测试例程:File:IapMobilityExample.zip

[edit] 多点触摸

Symbian^3中,增加了多点触摸的功能。
Advanced Pointer Event API

[edit] Calendar API

Symbian^3中,扩充了Calendar API,使得操作Calendar更加方便。
Calendar API

[edit] S60 5thSymbian^3的应用移植

S60 5th的程序向Symbian^3移植,请参考下面的链接。
Porting from S60 5th
平台及设备UID

[edit] Symbian^3/N8 API和功能的改变

Symbian^3中和之前版本比较,变化的API和功能,请参考一下连接。
Symbian^3/N8 API和功能的改变

[edit] 诺基亚开发者在线及线下帮助库

Developer's library下载

[edit] WidgetSymbian^3平台上的开发

Web Runtime widgets in Nokia Symbian^3 devicesSymbian^3手机的布局变化可以在网址Symbian^3 横屏布局查看。

[edit] Symbian应用签名

如何签名一个Symbian应用

[edit] Symbian预置应用

如何预装Symbian应用

[edit] 诺基亚手机主题

如何制作一个诺基亚手机的主题

[edit] S60 3rd Edition 应用开发

S60 3rd Edition 应用开发

[edit] Symbian中文开发讨论区

Symbian中文开发讨论区

[edit] Symbian 例程

Symbian 开发例程

Symbian^3开发环境配置

From Forum Nokia Wiki

确保自己的Windows文件系统是NFTS而不是FAT32

Contents

[hide]

*                     1 Windows 7(Ultimate edition) 注意事项

*                     2 基本工具安装

*                                             2.1 JRE

*                                             2.2 ActivePerl

*                                             2.3 安装Ovi Suite

*                     3 Symban^3 SDK安装

*                     4 安装Carbide C++

*                     5 验证SDK是否正确安装

*                     6 安装TRK在线调试工具

*                     7 相关连接

[edit] Windows 7(Ultimate edition) 注意事项

1、对于后缀为exe的安装文件,必须右键单击文件,选择以管理员身份运行

2ActivePerl安装文件为*.msi,右键菜单中并没有以管理员身份运行的选项,需要按照下面的方法在命令行安装:

2.1 创建一个具有管理员权限的账户,假设账户名为:administrator

2.2 “开始菜单->所有程序->附件->命令行提示符打开命令行提示窗口;

2.3 假设ActivePerl安装文件在C盘根目录下。在命令行窗口输入下列文字并回车:

runas /noprofile /user:administrator "msiexec /i c:\ActivePerl-5.6.1.635-MSWin32-x86.msi"

然后输入管理员账户密码,回车,即可开始安装ActivePerl

3、检查环境变量PATH,若Perl\bin\不在环境变量中,需要手动添加;

4、检查环境变量PATH,若CSL Arm Toolchain\bin不在环境变量中,需要手动添加。

[edit] 基本工具安装

基本工具包括JRE(Java Runtime Enviroment) ActivePerlSymbian SDK的运行以及程序的编译、打包依赖于JREActivePerl

[edit] JRE

Symbian^3 SDK需要Java Runtime Version 1.5.0 以上版本,可以从Oracle网站下载最新JRE安装。
注意:许多开发者可能会安装多个S60 SDK,有些SDK可能要求使用低版本的JRE。有这种需求的开发者可以在一台机器上安装多个版本JRE

[edit] ActivePerl

ActivePerl需要安装5.6.1版本,下载地址在。更新版本下载
注意:不要安装版本太高的ActivePerl,否则在开发过程中会造成一些奇怪的错误。

[edit] 安装Ovi Suite

请在如下的地址下载最新的Ovi 套件来支持最新的N8Symbian^3手机。以前的PC 套件的某些版本可能不支持N8手机。以后所有的套件都将是Ovi Suite而不再有PC 套件。下载地址为:[www.ovi.com/suite]

[edit] Symban^3 SDK安装

Symbian^3 SDK可以从Forum Nokia网站下载。下载解压后,直接运行setup.exe即可。


同意许可协议后,一直选择"Nex"t即可:


路径默认在C盘,最好不要修改安装路径:


安装完成后,会看到Select default device窗口,在这里选择你想设置的默认SDK即可:

单击Finish结束安装:

[edit] 安装Carbide C++

Carbide C++是开发Symbian程序所用的IDE,最新版的Carbide可以在这里下载。当我们安装完 Carbide.C++ 2.3 版本后,记得按以下的方法进行更新,否则,它对Symbian^3SDK不能进行有效的支持。升级后的Carbide.C++ 的版本为 2.6



注意:安装完Carbide.C++后需要运行一个脚本来配置一些环境变量,以便可以在命令行模式下编译Symbian程序。执行路径:Start(开始)->Program(程序)->Nokia->Carbide.c++->Configure environment for WINSCW commands


[edit] 验证SDK是否正确安装

进入命令行模式,进入\Nokia_Symbian3_SDK_v0.8\examples\symbian\gui\helloworldbasic\group\ 目录


执行 bldmake bldfiles 命令,然后执行 abld build winscw udeb,如果编译没错,说明SDK安装没有问题:

编译完成后,键入epoc回车,可以看到模拟器被启动:

[edit] 安装TRK在线调试工具

对于想要进行在线调试的开发者来说,可以在连接下载最新的TRK调试器。对于Symbian^3 平台的开发者来说,可以下载s60_tb_9_2_app_trk_3_2_7.sisx

 

Retrieved from "http://wiki.forum.nokia.com/index.php/Symbian%5E3_Home_Page"

S60 5th移植程序到Symbian^3

From Forum Nokia Wiki

Symbian^3平台N8手机

本文中将介绍从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应用

[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-clickdouble-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的改变

QSymbian系统是否改变了默认的display mode?如果有在程序中要怎么修改?
A
Symbian C++的程序要增加对EColor16MAEColor16MAP的处理,具体内容参考链接:
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签名的。

Single tap on symbian^3

From Forum Nokia Wiki

In S60 5th 中,可以通过 single taplong tapdouble tap 来处理列表或菜单,到了Symbian^3只要single tap就可以实现以前的功能,更方便也更人性化,下面我们移植一个应用,在Forum Nokia下载CalendarAPIexample,这是个S60 5th程序,在S60 5th SDK下可以编译运行。技术文档可以下载

Symbian^3 SDK中,需要做如下修改:

.pkg文件中增加Symbian^3 支持

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

CalendarAPIexample.mmp 文件增加

SYSTEMINCLUDE \epoc32\include\mw SYSTEMINCLUDE \epoc32\include\platform\mw 支持symbian 3 .h 文件

CAPABILITY ReadUserData WriteUserData WriteDeviceData 能力增加WriteDeviceData,这个是和以前有区别的,没有这项在真机运行会报错


CalendarAPIexampleAppUi.cpp
文件的 ConstructL() 函数做如下修改:

BaseConstructL(EAknEnableSkin | EAknEnableMSK);

==>

BaseConstructL(EAknEnableSkin | EAknTouchCompatible | EAknSingleClickCompatible);

EAknEnableMSK 纯触屏手机不会有这个键 EAknTouchCompatible 区别Touch和非Touch事件 EAknSingleClickCompatible 让我们的应用可以处理 Single Tap


CalendarAPIexampleSearchContainer.cppCalendarAPIexampleEntriesContainer.cpp两个文件中都有函数HandleListBoxEventL,修改如下:

if (aEventType == EEventEnterKeyPressed || aEventType == EEventItemDoubleClicked)

==>

if (aEventType == EEventEnterKeyPressed || aEventType == EEventItemSingleClicked)

不再处理 double tap,只处理 single tap事件。

至此,可以编译运行,并在真机看看效果,已经可以处理 single tap事件了。

但是在选项菜单中,还有相对应的菜单项,symbian^3 提供了两个标识EEikMenuItemAction EEikMenuItemSpecific这些菜单项

修改文件CalendarAPIexample.rss

RESOURCE MENU_PANE r_calendarapiexample_search_menu
    {
    items =
        {
        MENU_ITEM { command = ECalendarAPIexampleCmdSearch; txt = qtn_options_search; <span style="color:##ff0000"> flags = EEikMenuItemAction;</span> },
        MENU_ITEM { command = ECalendarAPIexampleCmdAdd; txt = qtn_options_add; },
        MENU_ITEM { command = EAknCmdExit; txt = qtn_options_exit; }
        };
    }
 
RESOURCE MENU_PANE r_calendarapiexample_entries_menu
    {
    items =
        {
        MENU_ITEM { command = ECalendarAPIexampleCmdEdit; txt = qtn_options_edit; <span style="color:##ff0000">flags = EEikMenuItemAction;</span> },
        MENU_ITEM { command = ECalendarAPIexampleCmdDelete; txt = qtn_options_delete; <span style="color:##ff0000">flags = EEikMenuItemSpecific;</span> }
        };
}

增加红色的代码


 

可以看出前后的变化

这是EEikMenuItemSpecific的操作过程:button down -> hold -> pop up menu

EEikMenuItemAction 的操作时:button down -> button release -> action

在菜单中EEikMenuItemAction项就是该项需要执行的操作,所以只有一个,而EEikMenuItemSpecific是可以选择的,可以有多项,都会出现在popup菜单中

Symbian^3/N8 API和功能的改变

From Forum Nokia Wiki

本篇文章描述了Symbian^3系统和之前Symbian S60系统的不同之处,以及已经知道的问题。下面列出了详细文档的链接和已知问题的相关文章链接。本文会在之后继续更新。

Contents

[hide]

*                     1 新的图形架构

*                     2 alpha通道的显示模式

*                     3 DevSound缓冲长度

*                     4 运行时调整音量大小

*                     5 播放很短的音调序列

*                     6 Comms架构的改变

*                     7 用户界面和硬件按键的改变

*                     8 AppArc架构的改变

*                     9 本文来源

[edit] 新的图形架构

Symbian^3引进了一种新的图形架构而且使用DSA的应用会有二进制不兼容问题,所以强烈建议该应用使用Symbian^3 SDK重新编译并且在N8上进行测试。

[edit] alpha通道的显示模式

Symbian C++应用应该也要处理EColor16MAEColor16MAP显示模式(TDisplayMode)
详细信息请查看:http://wiki.forum.nokia.com/index.php/TSS001523_-_Display_mode_with_alpha_channel_on_Symbian_devices

[edit] DevSound缓冲长度

N8中,增加了DevSound的缓冲长度。访问audio system的开发者应该了解该变化,在运行的时候获取该缓冲长度,然后进行相应的逻辑处理。详细信息请查看:http://wiki.forum.nokia.com/index.php/KIS001595_-_Increased_CMMFDevSound_playback_buffer_size_in_Nokia_N8

[edit] 运行时调整音量大小

第三方应用在假设最大音量值为10的时候会失败。建议开发者不要对音量值进行假设,而是在运行时进行最大音量的查询,并且调整大小。详细信息请查看:http://wiki.forum.nokia.com/index.php/TSS001596_-_Volume_level_range_in_Nokia_N8

[edit] 播放很短的音调序列

当播放很短的音调序列或者DTMF的时候,开发者应该使用WAV文件和Audio Streaming API作为音调产生器。详细信息请查看:http://wiki.forum.nokia.com/index.php/KIS001594_-_Audio_tone_player_fails_to_generate_short_tones

[edit] Comms架构的改变

对于使用Comms架构中的低级别组件(IpHook API)的开发者,MBuf API已经改变了,而且不再兼容。所以这些开发者需要重新在Symbian^3 SDK进行编译这些应用。相应的改变有:类:TCommsBufBaseTCommsBufRCommsBufRMBufAsyncRequest 函数:RCommsBufPond::StartRequestRCommsBufPond::CancelRequestRMBufAsyncRequest::iLengthRMBufAsyncRequest::iMBufsRMBufAsyncRequest::iChainRMBufAsyncRequest::iStatusPtrRMBufAsyncRequest::iThreadRMBufAsyncRequest::iLink 库:mbufmgr.dllcommsbufs.dll 头文件:mbufasyncrequest.hcommsbufpond.hmbufasyncrequest.hcomms-infras\commsbuf.h

[edit] 用户界面和硬件按键的改变

S60 5thSymbian^3之间除了用户界面的改变(查看移植信息:http://library.forum.nokia.com/topic/Nokia_Symbian3_Developers_Library/GUID-021E8B9C-4A1B-4C6D-B69E-4337A766C39A.html ),还有设备特定的按键和屏幕配置。例如,在N8上面没有“send”“end”按键,建议应用不要对该按键进行监听。

[edit] AppArc架构的改变

由于AppArc架构的改变,使用TApaAppEntry对象的应用不能在Symbian^3系统的设备上运行。详细信息请查看:http://wiki.forum.nokia.com/index.php/TSS001593_-_Changes_in_AppArc_framework

[edit] 本文来源

本文摘自:API and functionality changes in Symbian^3 / Nokia N8

 Retrieved from "http://wiki.forum.nokia.com/index.php/%E4%BB%8ES60_5th%E7%A7%BB%E6%A4%8D%E7%A8%8B%E5%BA%8F%E5%88%B0Symbian%5E3"

 

 

 

 

posted on 2010-11-04 15:33 frank.sunny 阅读(2044) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理



常用链接

留言簿(13)

随笔分类

个人其它博客

基础知识链接

最新评论

阅读排行榜

评论排行榜