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给你签名速度也很快,但由于第一次做,还是走了些弯路,在这里特别记录一下。
之后就可以安装在手机上,重启手机,即可看到开机自启动的效果了。
......
- Symbian项目开发小记
- spring项目开发小记
- COM/ATL项目开发小记
- PhpStorm2017 开发 ThinkPHP5 项目小记
- spring项目开发小记2
- Spring项目开发小记3
- JFinal开发web项目出现问题小记
- 长沙江河水利资源开发公司项目小记
- Symbian 项目
- Symbian开发
- symbian开发
- Symbian开发
- 项目小记
- 项目--小记
- 项目小记
- 项目小记
- 开发小记~
- 开发小记
- RHCS经典安装配置维护三部曲
- 2009年12月
- 程序员创业如何寻找优秀的合作伙伴?
- RHEL 5实现软RAID及LVM方法
- 四步让 maven为您工作起来
- Symbian项目开发小记
- C#事件为空
- 软RAID 0的技术概要及实现 v0.1b
- 图书管理系统 C 语言 源代码
- asp.net 后台调用前台javascript 方法
- linux AS 3 的关于LVM的逻辑卷的用法
- java字符串判断汉字
- Linux下双网卡绑定技术实现负载均衡
- C++中堆的应用:make_heap, pop_heap, push_heap, sort_heap, priority_queue