Symbian
文章平均质量分 61
Luis
简单最好
展开
-
Symbian全屏显示问题
最近总有同行问我Symbian全屏显示的问题,说是参考了网上的方法也无法设置成全屏。其实,归根结底还是不明白Symbian框架的调用机制。这篇文章里我就来彻底研究一下Symbian全屏的机制。 首先,我们可以利用Carbide.vs向导建一个项目,名字就叫"TestScreen",选择基于Eikon的传统控件架构。 那么在CTestScreenAppUi的二阶构造函数里就有如下代码:转载 2009-05-23 00:55:00 · 559 阅读 · 0 评论 -
S60第三版上启动浏览器并打开指定网页
<br /><br />我们通常使用下面的代码启动浏览器并打开指定网页:<br />void OpenUrlL(const TDesC& aUrl)<br />{<br /> if(aUrl.Length() <= 0)<br /> return;<br /> <br /> HBufC* param = HBufC::NewLC( aUrl.Length() + 8 );<br /> param->Des().Format( _L( "4 %S" ),&aUrl );<br /> <br /> // Wa转载 2010-09-10 14:05:00 · 542 阅读 · 0 评论 -
Silent Install
<br /><br />一、头文件和库:<br />1. include: #include <SWInstApi.h><br /> #include <SWInstDefs.h><br />2. lib: SWInstCli.lib<br />3.SDK-plugin: 需要从网上下载SDK的扩展包<br />http://www.forum.nokia.com/info/sw.nokia.com/id/53439e01-f605-4491-96f4- 62d003bd4c0c/S60_原创 2010-09-17 01:00:00 · 2561 阅读 · 0 评论 -
Symbian 启动J2ME的应用程序
拥有自动下载更新,对于一款正式发布的软件来说是一种不错的功能!实现的思路一般是在源程序资源文件中记录本程序的版本号,更新时首先连接一服务器地址收到当前版本信息,如果高于当前版本,则将新版本下载更新。对于Symbian 3rd下一般有两种代码方式更新安装sisx文件,一种RApaLsSession 类,这种方法代码简单但更新对用户有提示不需要特别能力。TBuf buf;buf.Append(KTempPath);//sisx文件路径RApaLsSession iApaLsSession;iApaLsSessi转载 2010-09-19 13:57:00 · 538 阅读 · 0 评论 -
nokia SDK API Plug-in Symbian 3rd 自动安装卸载程序
<br /><br />拥有自动下载更新,对于一款正式发布的软件来说是一种不错的功能!<br />实现的思路一般是在源程序资源文件中记录本程序的版本号,更新时首先连接一服务器地址收到当前版本信息,如果高于当前版本,则将新版本下载更新。<br />对于Symbian 3rd下一般有两种代码方式更新安装sisx文件,<br />一种RApaLsSession 类,这种方法代码简单但更新对用户有提示不需要特别能力。<br />TBuf buf;<br />buf.Append(KTempPath);//sisx文原创 2010-09-19 13:38:00 · 702 阅读 · 0 评论 -
RFileLogger
<br />一、首先要在使用日志类的文件include "flogger.h",然后再加入flogger.lib文件<br /> 类RFileLogger对应的头文件和库文件分别是flogger.h和flogger.lib<br />二、使用<br />1、在类的二阶段构造ConstructL()中加上下面代码:<br />//打开日志文件服务的连接<br />RFileLogger iLog;<br />iLog.Connect();<br />iLog.CreateLog(_L("M原创 2010-09-17 11:19:00 · 501 阅读 · 0 评论 -
如何在安装时备份sis文件
<br />IDN/ACreation dateJanuary 19, 2010PlatformSymbianTested on devicesS60CategorySymbian C++SubcategoryS60 5th Edition<br /> Keywords (APIs, classes, methods, functions): TOpenFileScan<br /> <br />本文转自 http://wiki.forum.nokia.com/index.php/%E5%A6%82%E4%转载 2010-09-20 16:34:00 · 661 阅读 · 0 评论 -
内存泄漏检测工具
<br />文/Peter Jiang(译自newlc.com)<br /><br />检测已分配资源<br />第一个工具是一个内存资源使用的监听器.它只能在模拟器上进行调试.可以使用快捷键来调用<br />按键<br />功能<br />CTRL+ALT+SHIFT+A<br />显示已分配堆单元的数量<br />CTRL+ALT+SHIFT+B<br />显示已分配的文件服务器资源的数量<br />CTRL+ALT+SHIFT+C<br />显示已分配的窗口服务器资源的数量<br />堆检测宏<br转载 2010-09-25 13:58:00 · 512 阅读 · 0 评论 -
2版与3版启动进程 EXE APP
<br /><br />2版相关资料真少,找了好久终于找到了 新增EXE,原来就这么简单的一句<br />2nd EXE<br />#include <EikDll.h><br />_LIT(KMyAppName, "c://system//Apps//MyApp//MyApp.exe");<br />EikDll::StartExeL(KMyAppName);<br />2nd APP<br />_LIT(KAppPath, "c://system//apps//appname//m原创 2010-11-17 17:08:00 · 467 阅读 · 0 评论 -
symbian 诡异问题
<br />1. 问题描述,当使用wfopen 打开文件,用fclose关闭时,可能会有内存泄露。<br /> 原因及解决:If you're using the estlib standard library and not Open C libc, you need to call CloseSTDLIB() at the end of your program to free the library state data that gets allocated the first time it转载 2011-02-09 15:56:00 · 1680 阅读 · 0 评论 -
Symbian程序隐藏(Program hide)
<br />http://blog.sina.com.cn/s/blog_5ccfd2d50100bycw.html 今天在学习如何把程序的相关的一些信息隐藏,突然发现自己有一点“流氓”的味道。唬唬。不管了<br />还是说说隐藏中需要用到的一些技巧吧。<br />现在很多软件都喜欢在后台运行,并且在功能列表,程序列表中隐藏,隐藏程序图标。<br />并且还能开机自运行。简直就是流氓到底。那我们来看看软件是如何做到这些“流氓”行境的。<br />昨天我已经介绍了开机自启动,以及安装后自运行。<br /><b转载 2011-02-27 02:35:00 · 533 阅读 · 0 评论 -
应用程序架构(Application Framework)
<br /><br />应用程序架构(Application Framework)<br /> <br />1、S60应用程序架构<br /> S60平台在底层Uikon应用程序框架上添加了一个用户界面层(Avkon)。Avkon提供了一套特别为S60设计的UI组件和应用程序框架。<br /> <br />1.1、S60应用程序结构<br /> <br />1.1.1、模型(Model)—视图(View)—控制器(Controller)模式(MVC)<br /><br /> MVC模式在S60原创 2011-03-02 23:46:00 · 2251 阅读 · 0 评论 -
Symbian 断言_ASSERT_DEBUG和_ASSERT_ALWAYS
<br /><br /> 断言:被用来检测代码所作的假设是否正确,如果假设为假,就停止执行代码,也许还会显示一条消息。<br /> 断言并不是产生严重错误,而是允许你指定过程以供断言失败时调用。帮助侦测出无效状态或者是错误的程序逻辑。<br /> 当断言失败时,总是应该抛出一个严重错误。<br /> 一、_ASSERT_DEBUG<br /> _ASSERT_DEBUG断言可以在开发的早期阶段加入,以强调程序错误,也可以等到维护和重构时加入,以验证代码行为符合“基于契约的设计”。<br /> 用例原创 2011-03-02 23:47:00 · 798 阅读 · 0 评论 -
2003配置 armv5问题
<br />1。安装armv5<br />2.创建环境变量 name:LM_LICENSE_FILE value:C:/Program Files/ARM/Licenses<br />3.运行keygen.exe生成License.dat放在C:/Program Files/ARM/Licenses下<br />4.win_32-pentium解压文件 拷贝C:/Program Files/ARM/RVCT/Programs/2.2/349/win_32-pentium<br /> 方法一:armar.原创 2011-02-17 00:52:00 · 1195 阅读 · 0 评论 -
symbian 问题汇总
Panic CONE 36 的几种可能的原因--SDK文档的描述: Open handles were found during application shutdown CONE 36通常是由于和系统有关的R类的资源没有释放引起的 引起CONE 36 panic的原因有以下几种: 1)网上经常看到的“使用RHTTPTransaction后产生CONE 36 Panic” 2)Load 了某个RLibrary,没有将其Close掉; 3)Connect了某个Client,没有将其Close;原创 2011-02-17 17:01:00 · 473 阅读 · 0 评论 -
Symbian中有用的宏整理
<br />1. S60版本平台区分#if defined __SERIES60_30__// S60 3.0#endif#if defined __SERIES60_31__// S60 3.0 FP1#endif以此类推,改变后面平台号#ifdef __SERIES60_3X__则代表所有3.X的平台。 2. Symbian版本区分#ifdef EAK2// Symbian 9.0 内核, S60 3.0之后的SDK#else// Symbian 9.0之前的内核。S60 3.0之前的SDK#endif原创 2011-03-19 01:01:00 · 472 阅读 · 0 评论 -
symbian前后台切换
<br /><br />2版<br />//切换到后台<br />TApaTask task(iEikonEnv->WsSession( ));<br />task.SetWgId(CEikonEnv::Static()->RootWin().Identifier());<br />if (task.Exists()) <br />{<br />task.SendToBackground();<br />}<br />//切换到前台<br />TApaTask task(iEikonEnv->WsSessi原创 2010-08-17 16:45:00 · 576 阅读 · 0 评论 -
TCallBack
<br /><br />class TCallBack<br />{<br />public:<br />inline TCallBack();<br />inline TCallBack(TInt (*aFunction)(TAny* aPtr));<br />inline TCallBack(TInt (*aFunction)(TAny* aPtr),TAny* aPtr);<br />inline TInt CallBack() const;<br />public:<br />TInt (*iFun原创 2010-06-18 19:07:00 · 447 阅读 · 0 评论 -
Symbian C++ 各种类型之间的转换
<br />( 来自:)http://www.10we.cn/blog/release/4.html<br /><br />1.TTime转TBuf型<br /><br />TBuf<32> theTime;//存储转换后的时间<br />TTime tt;<br />tt.HomeTime();<br />_LIT(KTimeFormat,"%Y%M%D%1-%2-%3 %H:%T:%S");//格式为:2006-03-04 12:12:12<br />tt.FormatL(theTime,KTimeFo转载 2010-06-18 15:20:00 · 380 阅读 · 0 评论 -
模拟器与真机图片显示
模拟器与真机图片显示 TBufKMaxPath> KFilePath;#ifdef __WINS__ KFilePath.Copy(_L("z://resource//apps//ChinaChinese.mbm"));#else CChinaChineseAppUi* pAppUi = (CChinaChineseAppUi*)CCoeEnv::Static原创 2009-05-23 01:03:00 · 544 阅读 · 0 评论 -
Symbian 关于字符编码转换
转载 2009-05-30 20:23:00 · 478 阅读 · 1 评论 -
从缺省堆中分配内存单元
S60 3rd Edition描述: 一般来说内存单元是从当前线程堆中分配的,但有时无法这样做,特别当要分配的内存单元很大时。我们可以生成一个新的堆,从它那里获取我们需要的内存单元.示例如下: //Try to create a heap in a local chunk. //The minimum length of the heap is 10M and th原创 2010-05-05 01:13:00 · 565 阅读 · 0 评论 -
SYMBIAN S60 2rd 导入lib的方法
由于VS2003只认mmp文件里面原来定义的lib,当程序员在项目中新加入mmp文件里面没包含的API,则项目会编译不成功,即使#include了相应的类也会如此。解决方法: 1.手动在mmp文件里面加入需要的lib,例如: LIBRARY fbscli.lib 2.删除项目的.sln和.vcproj命令 3.在VS2003“文件”菜原创 2010-05-09 13:35:00 · 445 阅读 · 0 评论 -
Symbian游戏编程之《图形显示篇》
<br /><br />在Symbian OS 中,所有的绘图都是在窗口中进行的,窗口是与系统进行交互的基本单位。我们在进行绘图前,首先要声明一个窗口:<br />CreateWindowL();<br />然后通过SetRect()来设置窗口的大小。<br />SetRect(aRect);<br />之后我们就可以进行绘图工作了。4.1.2 Graphics Context<br />在Symbian 系统中,所有的绘图工作都是通过Graphics Context完成的。其中包括绘制点、绘制矩形和绘制文原创 2010-07-02 14:41:00 · 439 阅读 · 0 评论 -
如何读取图片
<br /> <br />我们知道,Symbian系统中只能直接显示bitmap格式的位图数据,下面的代码演示了如何使用CimageDecoder打开不同格式的图像文件,并把它转换为Symbian的bitmap格式,从而能能够在屏幕上显示出来。<br /><br />/*****************************************************************************************************************<br />Im原创 2010-07-12 18:59:00 · 577 阅读 · 0 评论 -
symbian 从文件读出对应mime类型,不需要手动判断类型
<br /><br />The following function shows how to determine file types.<br />void GetFileType(const TDesC& aFileName, TDes& aFileType)<br />{<br /> TEntry FileEntry;<br /> <br />if(CCoeEnv::Static()->FsSession().Entry(aFileName,FileEntry)== KErrNone)<br />{原创 2010-07-12 19:02:00 · 629 阅读 · 0 评论 -
File Header文件头,通过检查文件头来判断文件类型
<br />各种类型文件头<br />由这些文件头即使文件后缀被乱改也可以通过查看二进制文件查出文件的匹配格式,当然这就是一些播放器识别文件的方法<br />1、从Ultra-edit-32中提取出来的<br /><br />JPEG (jpg),文件头:FFD8FF <br />PNG (png),文件头:89504E47 <br />GIF (gif),文件头:47494638 <br />TIFF (tif),文件头:49492A00 <br />Windows Bitmap (bmp),文件头:42转载 2010-07-12 19:03:00 · 2500 阅读 · 0 评论 -
2nd下J2ME安装研究和启动方法
<br /><br />(以下方法我在6680和n70上通过测试)<br />2nd下<br />每个J2ME程序安装后都会将安装文件放到C:/system/midlets/下,如TellSymbianILoveU.jar的安装会生成如下文件<br /> C:/system/midlets/[10131ab7]/dump<br /> C:/system/midlets/[10131ab7]/TellSymbianILoveU.jad<br /> C:/system/midlets/[10131ab7]/Te转载 2010-07-28 15:50:00 · 405 阅读 · 0 评论 -
symbian 下面调用电话拨号的方法
开发电话本应用的时候,时常会需要直接拨打对方的电话号码。<br />那么,如何在symbian s60平台上通过代码让自己的手机拨号呢?<br />下面的代码可能会帮助你的:<br /><br />加入头文件:<br />#include <etel.h> // for dial operatons<br />在mmp文件中需要加入:<br />LIBRARY etel.lib // for dial operations<br />TBool CMcAp原创 2010-07-30 15:01:00 · 388 阅读 · 0 评论 -
Symbian:启动JAR文件安装
<br /><br />以下提供2种在Symbian中启动JAR文件安装的方法<br />各版本的参数可能不同,这2个函数通过6680测试 ,其他版本的参数以后测试过后会添加上来<br />void DoInstallL()<br />{<br /> RApaLsSession apaSession;<br /> User::LeaveIfError(apaSession.Connect());<br /> TDataType dataType(_L8("text/vnd.sun.j2me.app-desc原创 2010-07-30 15:47:00 · 551 阅读 · 0 评论 -
通讯录(Using Contacts Model (CNTMODEL))
<br />Symbian OS应用开发学习笔记之通讯录(电话薄Contacts)<br /> Symbian OS通讯录模型<br />Symbian OS手机的通讯录采用文件方式存储,用symbian自己的说法就是通讯录数据库。每个Symbian OS手机都有一个默认的通讯录数据库,这个通讯录数据库在2nd和3rd两个版本手机中的位置是不同的,前者是c:/ system/data/Contacts.cdb,后者是c:/private/100012a5/DBS_100065FF_Contacts.cdb。原创 2010-08-06 16:05:00 · 1450 阅读 · 0 评论 -
电话簿与vCard的格式转换
(1)将电话簿中数据转换成vCard格式的文件 void Cxxx::ExportPhonebook(){RFs fileSession; User::LeaveIfError(fileSession.Connect());//连接文件服务器 CleanupClosePushL(fileSession); CContactDatabase* contactDb = CContactDatabase::OpenL();//打开默认数据库 CleanupStack::PushL(contactDb); RFil转载 2010-08-06 16:07:00 · 11437 阅读 · 0 评论 -
Symbian系统皮肤的使用
<br /><br />1.一句话的方法<br /><br />最基本的一招就是在AppUi中的ConstructL()中加一句话搞定。如下:<br /><br />C++代码<br />void CTestMIMAppUi::ConstructL() { <br />BaseConstructL(CAknAppUi::EAknEnableSkin); <br />//add your code here... <br />} <br />用上面这句话基本上能让大部分控件的透明化,显示出系统转载 2010-08-11 16:09:00 · 587 阅读 · 0 评论 -
隐藏文件夹
<br />创建文件夹<br />fileSession.MkDirAll(_L("E: //MoKard//Picture//"));<br />隐藏这个文件夹<br />fileSession.SetAtt(_L("E: //MoKard//Picture//"),KEntryAttHidden,KEntryAttArchive);<br /> <br />原创 2011-04-12 09:26:00 · 483 阅读 · 0 评论