Symbian项目开发小记

来源:互联网 发布:深蓝伏特加淘宝店 编辑:程序博客网 时间:2024/05/22 02:24

公司做的一个Symbian平台项目,由于一直没有系统全面的学习过Symbian,所以在实际项目的开发过程中遇到了很多问题。虽然基于C++语言,但Symbian框架下的数据类型繁多,使用习惯也与C++有了很多差别,刚开始做的时候就连一个简单的字符串处理都整得头痛不已。

经过一段时间的学习、开发,解决了一些问题,也搞清楚了一些问题,今天先在这里做个记录,以后依次一一详细描述。相信对于大多数Symbian的初学者朋友,一定会有帮助的。

 

1、如何设置全屏显示

 

2、两段构造的原理

 

3、中文显示问题(HBuf8转HBuf16,从UTF8转为Unicode)

 

4、从资源中读取字符串

 

5、从文件中读取字符串,并进行Unicode转码

 

6、XML解析

 

7、显示非bmp图片(png为例)

 

8、配置pkg文件对资源文件进行打包

 

9、如何实现开机自启动

     关于开机自启动,我查了很多方法,有很多方法都是在2nd适用,在3rd不适用的,对于3rd,我最终总结并亲身实践得出结论:

     可用的办法:1)使用powerboot,把自己的程序加在其自启动列表中;2)自己实现开机自启动的代码

     对于第一个办法,什么都不用说了,就是安装上powerboot,然后使用其功能就行了。主要说说自己实现自启动的办法:

     首先要明白一点,在3rd中,要实现开机自启动是需要权限的,自签名的sis是不行的,至少得有developer的证书(但是该证书要绑定IMEI码,也就是签一次名只能在一个手机上用)。下面是使用3rd标准的Startup List Management API实现的步骤。

第一步:
在data目录下建立一个文件
文件名:
在mmp文件中的 "UID    0x100039CE 0xED0B9A59" 后面那个ID + .rss
也就是 "[ED0B9A59].rss" 记得加上中括号,还要去掉前面"0x"
文件内容:
#include <startupitem.rh>
RESOURCE STARTUP_ITEM_INFO dispatcher
    {
    executable_name = "c://sys//bin//***";
    recovery = EStartupItemExPolicyNone;
    }
***指的是mmp文件中    TARGET    test_0xED0B9A59.exe        应用程序名称
也就是    test_0xED0B9A59.exe,切记是在c盘,后面的pkg文件里,exe也要强制写成c盘下。

第二步:
在mmp文件中添加一下内容

//自动启动
START RESOURCE [ED0B9A59].rss
      TARGETPATH /private/101f875a/import
      HEADER
END
//[E954D77A].rss 就是第一步添加的文件

第三步:
在pkg文件中添加如下行
"$(EPOCROOT)epoc32/data/z/private/101f875a/import[ED0B9A59].rsc"        -"!:/private/101f875a/import/[ED0B9A59].rsc"
同时,exe文件要强制写成装在c盘目录下。


第四步:
使用 Phone Release(GCCE) 进行编译.


第五步

经过以上几步,已经生成了sis文件,但要在真机上实现自启动,关键一步还是签名,这一步在网上很多资料里都没提到,在这里要好好的提一下如何申请开发者签名。symbian对签名进行了更新,现在的划分跟以前不同了,在http://www.symbiansigned.com/app/page/上,可以看得到其表格。选择“Open Signed Online”,这个是全免费的,之后输入IMEI码、有效Email地址并上传sis文件,之后填入验证码,点send即可。之后你的邮箱会立即收到一封确认信,复制其中的url地址,输入浏览器,完成激活。紧接着就会收到签名后的sis文件的下载地址了。这个流程其实很简单,symbian给你签名速度也很快,但由于第一次做,还是走了些弯路,在这里特别记录一下。

 

之后就可以安装在手机上,重启手机,即可看到开机自启动的效果了。

 

 

......

原创粉丝点击