
Symbian
文章平均质量分 89
paulluo0739
穿拖鞋写程序
展开
-
Carbide C++ 1.3 自签名文件不能安装的问题及解决办法
最近学习Symbian 3rd平台上的应用开发,使用的Carbide C++ 1.3版本。该版本比前面的版本都要“先进”些,感受最大的就是可以不用手工处理自签名,它在Build Phone Release时,会根据你的配置路径,在该路径先自动生成对应sis文件的自签名文件sisx。 使用了一段时间之后,昨天突然开始“抽筋”,生成的sisx文件,在真机上安装的时候出现“证书原创 2009-01-22 15:06:00 · 1914 阅读 · 0 评论 -
解决一个sis包含n个exe的问题
http://discussion.forum.nokia.com/forum/showthread.php?t=76795这是nokia论坛里相关帖,从中我实践中总结如下,希望对大家有用。如:** EXE 1 (console app, server, traditional EXE) **TARGET server.exeTARGETTYPE exeUI转载 2010-05-06 09:56:00 · 1699 阅读 · 0 评论 -
Symbian证书的20个权限释义
Symbian证书的20个权限释义 收藏 1.ACS Publisher ID 申请开发者证不一定需要ACS Publisher ID,但有ACS Pub转载 2010-05-06 20:36:00 · 1197 阅读 · 0 评论 -
Symbian OS 打包文件(.pkg)详解及问题总结
先介绍一下pkg文件的结构,在后面补充一些问题。;languages&EN,FR;package-header #{"MyApp-EN", "MyApp-FR"},(0x1000001F), 1, 2, 3, TYPE=SA;vendor;Localised vendorname(s)%{"Vendor-E转载 2010-05-06 10:00:00 · 1335 阅读 · 1 评论 -
手机音视频流媒体开发一些有用资料
转自:http://blog.youkuaiyun.com/lius1984/archive/2008/12/11/3496462.aspx目录:1.CVideoPlayerUtility播放RTSP视频流2.关于symbian流媒体播放3.基于http的流媒体音乐播放器的开发4. Symbian解码AMR的方法5. 怎么样用C语言实现amr解码为p转载 2010-05-01 23:33:00 · 3407 阅读 · 0 评论 -
在Symbian exe 程序中显示图形
Displaying graphics in Symbian exe programs.在 Symbian exe 程序中显示图形 Generally, exe programs are used to implement servers (exedll, epocexe target type) orsimple console programs. This may lead转载 2010-04-15 21:52:00 · 659 阅读 · 0 评论 -
Symbian调试——模拟器上Console程序的Debug方法
我们时常会需要编写一些测试用例来检验模块工作是否如预期,因而比较适合的实现方式就是通过Console程序来进行。在Symbian中在使用console程序时却为了这个console的调试如何进行困扰了我好久,明明设好了断点,程序也以debug方式运行起来了,但就是无法进入断点行.总算后来在网上搜索到了相关方法说明,现记录如下============= Debugging conso转载 2010-04-15 17:37:00 · 834 阅读 · 0 评论 -
关于exe形式编程的一点心得,希望对大家有所帮助
其实我也只是一个Symbian的初学者,我能深刻的感受到一个初学者在探索新的开发平台时的坎坷。以下的心得是我经过一段很长时间的探索才得到的,这其中走了很多弯路,也得到了很多人的帮助。现在我将其整理了一下贴出来,希望能给寻求相关知识的朋友一些帮助,以便于大家少走一些弯路。当然我的水平有限,理解不深,错误在所难免,希望大家发现后能及时指正。1.为什么要用exe形式的程序?相转载 2010-04-15 17:34:00 · 765 阅读 · 0 评论 -
Symbian开机自启动
假设你的应用ID为:ef37946b1) 在data下新建一个文件, [ef37946b].rss(注意加上[])#include RESOURCE STARTUP_ITEM_INFO dispatcher { executable_name = "!://sys//bin//AutoStart.exe"; recovery = EStar转载 2010-04-15 15:02:00 · 1009 阅读 · 0 评论 -
关于3rd mr和3rd FP1生成的安装包大小
<br /> 问题描述: 相同的代码, S60 3rd mr 编译打的sis包要比S60 3rd fp1 SDK编译的大很多 <br />解决方法1: 这是由于S60 3rd mr SDK与S60 3rd fp1的GCCE编译器默认编译参数不一样造成的。 S60 3rdFP1 SDK(以及FP1 SDK之后的FP2 SDK)默认就是-O2。而S60 3rd mr SDK以及更早的S60 3rdSDK并没有打开-O2的编译开关。 <br /> 如果一定要使用MR SDK又想得到较小的转载 2010-07-01 11:35:00 · 753 阅读 · 0 评论 -
删除3rd Symbian模拟器中测试程序的方法
1、删除/epoc32/release/winscw/udeb/myapp.exe2、删除/epoc32/release/winscw/udeb/z/private/10003a3f/apps/myapp_reg.rsc3、删除/epoc32/release/winscw/udeb/z/resource/apps/myapp_aif.mif4、删除/epoc32/data/原创 2010-05-08 16:39:00 · 790 阅读 · 0 评论 -
pkg文件中判断目标系统的方法
<br /> 根据广大网友的经验,S60 3rd MR/FP1/FP2,S60 5th在系统中均有一些特征文件,表明了系统的实际版本,在某些应用场景下,目标机器的系统版本非常重要,以便于针对不同的系统部署不同的dll或exe,来适配更多的机型。<br /> 目前最普遍的方式是判断Series60文件,描述如下: <br /> <br /> z:/system/install/Series60v3.0.sis : S60 3rd MR<br /> z:/s原创 2011-04-04 18:03:00 · 1297 阅读 · 0 评论 -
PKG文件格式 (sis嵌入,安装过程中提示)
<br />语言支持<br />PKG文件的第一行将指明应用程序的语言。每种语言用两个字母表示,如下:<br /><br />CODE:<br />;Languages<br />&EN,FR<br /><br />语言代号:<br />EN 英语 PO 葡萄牙语 <br />FR 法语 SP 西班牙语 <br />GE 德语 RU 俄语 <br />IT 意大利语 DU 荷兰语 <br />SW 瑞典语 DA 丹麦语 <转载 2011-04-04 17:29:00 · 1471 阅读 · 0 评论 -
在低于3rd FP2的S60平台上建立类似Widget的应用
<br />Widget应用实际上是一个嵌入了CSS、JavaScrip甚至Ajax的HTML文件(当然还包括针对S60 3rdFP2中WebRunTime安装和运行所需的Info.plist和Icon.png),也就是一个本地的基于网页的应用,而这种基于网页的应用其实在低于3rd FP2的S60平台上也可以运行,只要其使用的技术该平台支持即可(从S602nd就已支持xHtml规范,但其不支持JavaScript,只支持WMLScript。S603rd则支持HTML4.01、JavaScri转载 2011-04-04 12:38:00 · 759 阅读 · 0 评论 -
PKG文件范例详解
<br />在软件安装的时候提供一些说明性的文字<br />在pkg文件里面添加:<br />"sms.txt" -"",FT,TA //提示继续 和 取消<br />或者<br />"sms.txt" -"!:/private/20023C1D/install.txt", FT, TC //用户只能选择 继续<br />//有时候会出现乱码现象,尝试下将txt文件保存为utf8 或者 Unicode试试一般会解决问题<br />-------------------------<br />;P转载 2011-04-04 18:11:00 · 3123 阅读 · 0 评论 -
通过Application安装widget
LOG_BEGIN("Install the widget"); CActiveScheduler* activeScheduler = new CActiveScheduler(); CActiveScheduler::Install( activeScheduler ); RWsSession wsSession; User::LeaveIfError( wsSession.Connect() ); TApaTaskList taskList( wsSession ); con原创 2011-04-04 12:40:00 · 664 阅读 · 0 评论 -
Symbian快速签名流程详解
<br /> 在Symbian操作系统上开发的手机程序必须进行数字签名,才能在手机终端上安装成功。数字签名机制能够有效阻止恶意手机程序的传播,并保护软件开发商和手机用户的合法权益。那么,如何进行Symbian数字签名呢?目前主要有三种方式:开放签名(Open Signed)、鉴定签名(Certified Signed)和快速签名(Express Signed)。<br /> 开放签名又分为两种:在线开放签名(Open Singed Online)和离线开放签名(Open Singed转载 2011-03-21 15:14:00 · 777 阅读 · 0 评论 -
symbian 开发实践总结(技巧性比较多,很有帮助)
<br />1. 获得控件ID。<br />aControl->UniqueHandle();<br />2. View显示提示信息。<br />iEikonEnv->InfoMsg()<br />3. 获得焦点的控件。<br />4. 发送command事件的控件需要实现<br />MQikCommandOperator。<br />5. 好像可以获得任何子控件,多级。<br />LocateControlByUniqueHandle<CEikLabel>(EMyViewLab转载 2010-06-01 16:57:00 · 1471 阅读 · 0 评论 -
s60按键清单和视图对照
<br />s60按键清单和视图对照<br />常用键的标准名称和分类:<br />1导航键:包括四个方向键和中间的选择键.<br />Navigation keysArrow up<br /> Arrow down<br /> Arrow left<br /> Arrow right<br /> The Selection key<br />2软键:包括左软件和右软键.<br />Softkeys<br /> The left softkey<br /> The转载 2010-06-01 17:08:00 · 962 阅读 · 0 评论 -
S60 3rd下使用HookLogger查找内存泄漏错误
今天调试一个程序时,始终在退出时要报alloc错误,很明显,是某个地方产生了内存泄露,但一行行的看代码分析实在不是一个良策,google了一些发现有个叫HookLogger的工具,专门用于查找内存漏洞,而且口碑极好,down下来一试,果然药到病除,不敢私藏,与大家共勉。1、下载HookLogger.zip,地址:http://developer.symbian.org/原创 2010-04-14 09:28:00 · 1182 阅读 · 0 评论 -
Symbian项目开发小记
公司做的一个Symbian平台项目,由于一直没有系统全面的学习过Symbian,所以在实际项目的开发过程中遇到了很多问题。虽然基于C++语言,但Symbian框架下的数据类型繁多,使用习惯也与C++有了很多差别,刚开始做的时候就连一个简单的字符串处理都整得头痛不已。经过一段时间的学习、开发,解决了一些问题,也搞清楚了一些问题,今天先在这里做个记录,以后依次一一详细描述。相信对于大多数Symbi原创 2009-12-09 17:50:00 · 771 阅读 · 0 评论 -
Symbian UI程序基本框架
以下转自Nokia Symbian手册汇编:资源文件 指定了应用程序的相关信息,包含要显示的控件定义(如菜单,对话框等),是所有应用程序所必须的。 资源文件的后缀名为.rss。最多可以包含4095个资源。 一个应用程序可以包含多个资源文件,并在运行时动态加载其他资源文件。 Uikon预先定义了许多在资源文件中可以使用的结构体。 资源文件需要编译成二进制文件,在C++代码中需要includ转载 2009-03-17 14:11:00 · 1563 阅读 · 0 评论 -
Symbian开发tips
1. 获取文件的完全路径 在头文件添加下列声明:IMPORT_C TInt CompleteWithAppPath( TDes& aFileName );TFileName filename(_L("RETROBLASTER.MBM"));CompleteWithAppPath( filename );2. 获取当前设备显示方式(就是获取设备的色深) 使用的头文件:#in转载 2009-03-17 11:46:00 · 734 阅读 · 0 评论 -
Symbian学习笔记(6)——关于多线程与活动对象
symbian支持多线程(它有一个RThread类)但却又不提倡大家使用多线程,理由一般是说应用更安全?代码更简单?不过我觉得最有说服力的是省电。既然如此,那我们就不说“多线程”,说说“多任务”吧,活动对象(Active Object)提供了非抢占式的多任务协同处理机制,它不是多线程的,而是运行在一个单线程中。AO机制包括两个类CActiveScheduler和CActive:调度器CActi转载 2009-03-17 11:45:00 · 608 阅读 · 0 评论 -
Symbian学习笔记(2)——Debug On Device
在BREW的开发环境中,没有一个联机调试工具,一直是我觉得相当不方便的事情。在S60平台上做开发,至少这一点是能满足我们的需要。第一种方法:Carbide C++ v1.2 的 Debug On DeviceCarbide C++1.2的pro.以上版本都支持设备调试,实在是一件大快人心的事。要实现这个功能,也是相当的方便,当然前提是你用的是Carbide C++ v1.2的Pro.以上版本。转载 2009-03-17 11:37:00 · 711 阅读 · 0 评论 -
Symbian学习笔记(5)——加载JPEG图像的方法
上次学习的是从MIF和MBM文件中加载图像,一般在程序中出现的图片都可以用这个方法,但有一点点遗憾,它只能使用svg或bmp格式,BREW或J2ME中的资源却多为png格式的。 如果想在symbian中使用jpg或者png图片,则需要用到symbian提供的那个Multimedia ICL库里的类了。其中比较重的是CImageDecoder类,提供了对图像进行解码的功能。来看看如何使用转载 2009-03-17 11:44:00 · 652 阅读 · 0 评论 -
Symbian学习笔记(4)——在GUI应用中使用图像
今天学习一下如何修改GUI程序中的图标与如何加载图像。与2nd.不同的是,3rd.支持svg格式的可缩放图标(最大好处在于一个图标搞定,以前用bmp时为了应用程序的菜单图标得要做四个小图标)。而且,现在有了一种新的图像打包格式mif(这名字咋跟BREW中那个MIF一样啊)。虽然还支持以前的MBM方式但是不建议使用了。要在应用程序中增加图像图标资源,过程如下:第一步,先将要加入的图像放在工程的/转载 2009-03-17 11:42:00 · 758 阅读 · 0 评论 -
不提示选择GPRS接入点,自动完成Internet连接的解决办法
最近一段时间一直在做三版Symbian上的http访问小程序实验,主要为了熟悉symbian的开发,同时想得到这样几个目的:1)实现真机通过CMWAP方式访问web;2)在手机访问web时,尽可能多的获取到手机相关的信息。对于初学者来说,有点无从下手。相信跟我一样的初学者在这个时候都会遇到这样几个问题: 1、开发环境的熟悉,签名文件的制作; 2、在模拟器上比较原创 2009-02-02 14:01:00 · 2640 阅读 · 1 评论 -
pkg文件中的error: file I/O fault 错误
如果将一个已有工程导入到Carbide中,或者clean的时候没有清理干净,有可能出现这种错误。类似: ***Invoking makesis.exe .... C:/Symbian/9.1/S60_3rd/epoc32/tools/makesis.exeC:/Symbian/workspace/DemoOne/sis/_resolvedDemoOne_S60_3_X原创 2009-01-22 16:12:00 · 3134 阅读 · 7 评论 -
Symbian 多视图框架体会
最近学习Symbian的多视图框架,多有收获,虽仍然朦胧,但也领会了些脉络,按照我所理解的,在此留笔,望各位指正。 前面转载的《Symbian学习笔记(3)——应用程序框架》里面讲到,Symbian开发平台下常用到的两种GUI框架(实际上还有一种是基于对话框的,共三种),前一种是基于CCoeControl的常规模式,在这种模式下,AppUI继承自CAknAppUi,且通过向导生成原创 2009-03-19 15:04:00 · 1087 阅读 · 0 评论 -
Symbian学习笔记(1)——基本概念
原文这是学习笔记的第二篇,我觉得作为第一篇更合适,转载如下:第一次打开SymbianC++的程序源代码,第一感觉就是“这是C/C++吗?咋这么眼生啊”。看代码看书,才算是稍稍明白了一点,其实无非就是typedef罢了,symbian可比brew定义了更多的东西。这是以后干活的基础,所以做个笔记,省得忘了。一、基本数据类型这个比较简单,都在e32def.h中写着呢。也就是以下这几个类型要转载 2009-03-17 11:36:00 · 685 阅读 · 0 评论 -
SymbianOS异常三步曲之三:两段构造
为了在堆上分配一个CExample对象内存空间,调用该类的构造函数,如果构造函数本身就异常退出了,那么分配给对象的内存和构造函数中已经分配的内存都将泄漏,因此,C++的构造函数绝对不能发生异常。如果,为了初始化一个对象,必须要编写发生异常的代码,例如内存分配或读取可能丢失的文件,损坏了的配置文件等,这时候,就需要使用两段构造了。一、两段构造的格式:编写一个类时,将构造代码分为两部分转载 2009-12-04 14:58:00 · 576 阅读 · 0 评论 -
Symbian异常三步曲之二:清除栈(CleanupStack)
一、为什么使用清除栈清除栈主要是用来处理在异常退出发生时那些或许可以称之为被遗弃或泄漏的内存。看下面的代码:void UnsafeFunctionL(){ CClanger* clanger = new(ELeave) CClanger(); clanger->InitializeL(); ……..//略去转载 2009-12-04 14:57:00 · 590 阅读 · 0 评论 -
SymbianOS异常三步曲之一:异常退出(leave)
Symbian的异常处理有别于标准C++的异常处理机制,主要原因是最初在设计Symbian的异常处理机制时,C++还没有引入异常处理,但是从Symbian OS 9.1开始,Symbian开始支持标准C++的try—catch异常处理机制,不过考虑到系统开销以及兼容性的因素,我们提倡使用Symb转载 2009-12-04 14:56:00 · 681 阅读 · 1 评论 -
新安装Carbide.c++ v1.3一定要执行的步骤
重新安装Carbide.c++ v1.3之后,原有的项目不能编译了,提示某些路径不存在的错误。经查,新安装Carbide.c++ v1.3之后需要在Carbide.c++的开始菜单选项里执行一下“Configure environment for WINSCW command line”,在里面配置WINSCW所用到的环境变量,这样才能正常编译项目。原创 2009-07-06 10:51:00 · 661 阅读 · 1 评论 -
向carbide.c++1.3中添加多视图工程模板向导
1、找到目录/Carbide.c++v1.3/plugins/com.nokia.cdt.templates_版本号,如果你carbide升级了,可能会有多个这样的目录,只是版本号不同,当前Carbide.c++使用的是最高版本的。进入目录修改plugin.xml,里面都是些XML格式的东西,每个<Template.../>都是一个模板,把下面红色标注的template那段复制进去。转载 2009-03-17 16:40:00 · 1208 阅读 · 0 评论 -
深入探索Symbian多视图程序开发
我们知道,在大多数GUI的Applications中,视图之间的切换是极其频繁的。那么如何组织这些视图以及视图之间的通讯,就成为大多数Applications所要面对的问题。 在Symbian中多视图应用程序之间的视图管理可以用下图来表示: 其中AppUI管理AppView,而AppView又管理Container。 AppUI继承自CAknViewAppUi,其管理App转载 2009-03-17 11:22:00 · 879 阅读 · 0 评论 -
Symbian学习笔记(7)——定时器
教材里说到活动对象时,总拿CTimer来做例子,从CActive派生一个CMyActive然后它包括一个CTimer iTimer,再利用它的异步函数iTimer.After来演示活动对象的效果。但是CTimer本身就已经是源于CActive了,所以我今天来讨论的是直接使用定时器,必竟在手机上定时器是一个比较常用的功能(在BREW开发中因为没有多线程,几乎所有的应用都会用上那个ISHELL_S转载 2009-03-17 11:46:00 · 600 阅读 · 0 评论 -
Symbian学习笔记(3)——应用程序框架
学习了一段时间,但发现对Symbian的框架还是感觉很朦胧(这个词带点诗意)。看过这篇笔记之后感觉清晰了很多,转载如下: 开发symbian的GUI应用是有模板的,用Carbide C++的工程向导可以自动生成程序的基本框架。不过可能与安装的SDK版本有关,我现在只能生成一个AppUi一个Container的常规模板(以前用2nd FP3时还可以生成多个view多个containe转载 2009-03-17 11:39:00 · 891 阅读 · 0 评论 -
关于Symbian JSON解析器
以下从以为牛人那里转录过来:发布一款Symbian JSON解析器——sjson,只需两个文件:sjson.h和sjson.cpp。已经在项目开发中有广泛使用,运行稳健,中文支持良好。推荐给大家。需要了解如何上手的朋友,请阅读及运行test/TestClient.cpp,里面有大量例子。项目位置:http://code.google.com/p/sjson/下载地址:htt原创 2011-06-15 23:41:00 · 1186 阅读 · 1 评论