symbian
lmyuanhang
这个作者很懒,什么都没留下…
展开
-
Symbian:判断当前界面为桌面 .
RWsSession iWsSession; User::LeaveIfError(iWsSession.Connect()); TInt wgId = iWsSession.GetFocusWindowGroup(); //获取当前界面ID CApaWindowGroupName* gn = CApaWindowGroupName::NewLC(iWsSession,转载 2012-07-31 11:25:16 · 374 阅读 · 0 评论 -
SymbianOS异常三步曲之一:异常退出(leave)
Symbian的异常处理有别于标准C++的异常处理机制,主要原因是最初在设计Symbian的异常处理机制时,C++还没有引入异常处理,但是从Symbian OS9.1开始,Symbian开始支持标准C++的try—catch异常处理机制,不过考虑到系统开销以及兼容性的因素,我们提倡使用Symbian特有的异常处理机制即异常退出。一、异常退出函数 当调用异常退出函数或显转载 2010-03-26 11:27:00 · 546 阅读 · 0 评论 -
S60程序的视图
S60视图(View)结构简介在S60平台的应用程序开发中,视图架构(View architecture)是一种被广泛应用的技术。一个图形用户界面(GUI)应用程序可以创建若干个视图,每个视图用来显示不同的应用程序数据或者用户界面的控件。每一个视图,都拥有自己的控件栈(Stack)。每个视图的容器(container,一种用以集合子控件父控件)和控件都是在视图被启动时候才被创建的,而当同一转载 2010-04-01 17:10:00 · 465 阅读 · 0 评论 -
Symbian发布程序流程
在我们小公司里,开发和发布都是一个人做,当初也走了点弯路,现在拿出来分享分享!1.首先确定你的程序是可以打包后运行正常的(发布完了才发现很浪费大洋地)!2.修改程序UID这个UID在官网上申请3.将打包好的程序用public.cer对刚生成的SIS签名4.将你的 工程.pkg、工程.txt、工程.sis(证书这个文件是通过pubic.cer而不是mycsr.cer签名的)打转载 2010-04-22 14:12:00 · 441 阅读 · 0 评论 -
Symbian Ecom 浅谈
首先说下Symbian Ecom框架的核心思想,其实就是C++的虚函数和抽象类,也就是C++的多态。一个Ecom的工程需要3个子工程(因为在Cabide中好像不可以直接创建Ecom的新工程,所以我一些例子自己尝试写了下) 、 需要一个Ecom的接口类(interfa转载 2010-07-30 14:39:00 · 693 阅读 · 0 评论 -
让Qt程序在运行到Nokia手机上
本博上前面已经有文章介绍了怎么在S60 SDK上编译Qt程序并运行,具体可用S60 tag 找到它们。今天我在使用新版本时候,又遇到新的问题,本着与时俱进和查漏补缺的原则,也一并写出来,可以对照着看。先说说手机上的需求如果需要Nokia S60系列手机上运行Qt程序,那么需要先有Qt的运行库,因为商店卖给你手机的时候并没有安装Qt库(也许以后的版本会装上,但是谁知道以后有多后呢),所以转载 2010-03-24 18:00:00 · 2284 阅读 · 1 评论 -
描述符转换
虽然描述符有五类,但是作为描述符变量用的,只有三类即栈描述符、堆描述符、指针描述符。所以本文所述描述符的转换也只是在这三种类型间展开,这三类描述符之间的互相转换其实可以用下面这种伪代码方式给出:TBuf iBuf;TPtr iPtr((const_cast(iBuf.Ptr())),iBuf.Length(), iBuf.Length());HBufC *原创 2009-08-05 13:45:00 · 1296 阅读 · 0 评论 -
删除模拟器里的应用程序
for s60 2nd平台:删除/epoc32/release/wins/udeb/z/system/apps/myapp的目录即可 for s60 3rd平台:a、删除/epoc32/release/winscw/udeb/myapp.exeb、删除/epoc32/release/winscw/udeb/z/private/10003a3f/appmyapp_reg原创 2009-10-09 16:09:00 · 541 阅读 · 0 评论 -
2nd 到3rd的移植
S60第一版和第二版编译器使用的是gcc for ARM,而第三版版本使用的编译器是支持ABI标准的RVCT 所以造成了第二版和第三版二进制格式不兼容,另外第三版(symbian9.0)采用了新的安全模型导致应用程序的目录结构也有所变化.所以在s60软件 从第二版移植到第三版过程中程序的编译及部署需要做一些改变((幸运的是这种变化并不大,你的代码几转载 2009-10-10 13:57:00 · 543 阅读 · 0 评论 -
Get a list of all application currently installed on a phone
#include // link against efsrv.lib#include // link against apgrfx.lib, apparc.lib _LIT(KFileName, "c://applications.txt");const TInt KMaxSize = 512; LOCAL_C void WriteAppInf转载 2009-10-27 10:10:00 · 436 阅读 · 0 评论 -
symbian中如何启动一个console程序
一:Debugging console apps with 3rd edition emulatorSymbian console applications are handle for testing. Debugging them with the 2nd edition emulator was obvioius. With 3rd edition, there is a tri原创 2009-10-27 16:21:00 · 944 阅读 · 0 评论 -
如何将两个程序绑定到一起
有两种可行的法一:有一个pkg里加载另一个程序的sis@"2.sis" (0x543535) //0x543535 UID不过这样安装时会有安装两个程序的提示 二:在一个pkg里加入另一个程序的filesfor example: &EN, ZH; standard SIS file header#{"MustSuccessMulLanguag原创 2009-10-27 16:54:00 · 1892 阅读 · 0 评论 -
Advanced Package File Options
from:wiki > Advanced Package File Options1 Text Notices 2Multi Language Text Notices 3Removing Runtime-Generated Files 4Embedding SIS Files 5Running Executables on Install or Uninstall转载 2009-10-28 14:20:00 · 993 阅读 · 0 评论 -
使用系统自带皮肤
1) 在ui里面 ui ConstructL函数里面将原来的BaseConstructL();换成BaseConstructL( EAknEnableSkin );2) Container 里面加入头文件#include //skin 3) container里面添加成员变量 并在ConstructL里面初始化它。.h里面加成员变量 MAknsControlContext转载 2009-11-24 09:58:00 · 501 阅读 · 0 评论 -
symbian如何禁止屏幕旋转
symbian系统appui提供了函数: IMPORT_C void SetOrientationL(TAppUiOrientation aOrientation);可以设置手机的方向 enum TAppUiOrientation { /** * Use the default device screen rotation of原创 2010-03-24 18:03:00 · 756 阅读 · 0 评论 -
系统错误一览表
Symbian 系统都会出现系统出错,其实解决的方法很简单: 新建一个名为“ErrRd”的空文本文件,放到C:systembootdata这个目录下,让系统在出错时能显示出错代码,这时我们就知道了这个错误代码的原因:系统错误-1-找不到指定文件系统错误-2-一般错误系统错误-3-操作被取消系统错误-4-内存 不足系统错误-5-不支持所要求的操作系统错误-6-错误要求转载 2010-03-24 17:57:00 · 797 阅读 · 0 评论 -
Symbian:列举系统当前所有进程 .
呵呵,做坏事的基础.void ListProcessesL(){ TFindProcess fp; TFullName procName; TProcessMemoryInfo memInfo; RProcess process; while(fp.Next(procName) == KErrNone) { User::LeaveIfError(proce转载 2012-07-31 11:24:53 · 345 阅读 · 0 评论 -
Symbian:启动JAR文件安装 .
以下提供2种在Symbian中启动JAR文件安装的方法各版本的参数可能不同,这2个函数通过6680测试 ,其他版本的参数以后测试过后会添加上来 void DoInstallL(){ RApaLsSession apaSession; User::LeaveIfError(apaSession.Connect()); TDataType dataType(_L8("tex转载 2012-07-31 11:18:00 · 526 阅读 · 0 评论 -
s60键值
s60按键清单和视图对照拨号键:EKeyYes挂机键:EKeyNo上键:EKeyUpArrow下键:EKeyDownArrow左键:EKeyLeftArrow右键:EKeyRightArrow删除键(c键):EKeyBackSpace‘0’……‘9’:0x30 …… 0x39*号键:‘*’#号键:‘#’切换键:EKeyApplication0中间的选转载 2009-11-25 18:04:00 · 926 阅读 · 0 评论 -
如何实现用户自定义开机自启动
1,使用Startup List Management API实现开机自启动2,如何让用户可以在程序中设置让程序是否随机启动,重载AppUI中的ProcessCommandParametersL()函数就可以了(自启动后关闭==不启动)1.1 在data目录下创建一个boot resource file,名字为XXXX.rss, 其中XXXX为UID3。如程序UID3 为 0xEEAE转载 2009-10-13 16:53:00 · 1028 阅读 · 0 评论 -
前后台转换
这篇文章主要讲述如何控制应用程序的行为,你将学会判断应用程序何时获得和失去焦点(focus) 并知道如何来处理它。 1、获知焦点的变化 当一个应用程序获得或失去焦点时,Series 60 框架(framework)会调用函数 CAknAppUi::HandleForegroundEventL(TBool aForeground)来通知应用程序。转载 2012-02-21 14:32:14 · 500 阅读 · 0 评论 -
ECom Step by Step
ECom step by step 1 第一步, 明白什么是ECom。 ECom不是个class,不是个function, ECom是个Framework。 Famework当然代表着一个Mechanism。Mechanism就是规则,是“爷”级人物制定的, 是“爹转载 2010-07-30 14:40:00 · 522 阅读 · 0 评论 -
在symbian中显示中文
中文字符编码常用的表示法有:GB2312,GBK,Unicode,UTF-8,其中GBK是GB2312的超集,也就是涵盖了GB2312编码的所有内容,UTF-8是Unicode的在网络传输中的一种编码格式,如果我们使用vc做为开发工具,在win下面进行开发,那么win的默认字符集是 GBK的,而symbian系统默认的编码方式却是Unicode,也就是说直接写在程序里面的汉字在手机原创 2009-10-09 15:41:00 · 1236 阅读 · 0 评论 -
写日志
for s60 2nd/3rd都是一样的方法,使用RFileLogger类,这个类与nokia无关,是symbian os提供的记录log的方法。在需要打印log的cpp文件中添加:#include 在mmp文件中添加LIBRARY flogger.lib在手机的存储中创建目录C:/Logs/目录,然后把自己想要的subfolder目录也创建出来,对于s60 2nd转载 2009-10-10 12:13:00 · 391 阅读 · 0 评论 -
改变默认堆栈大小
在project的mmp文件中添加下面的定义即可:EPOCSTACKSIZE 0x2800EPOCHEAPSIZE 0x1000 0x32000前一个值是heap的最小值,后一个是最大值。或者可以在代码中动态修改堆的大小,在projectname.cpp文件中找到E32Main函数GLDEF_C TInt E32Main(){RHeap * heap = UserH转载 2009-10-10 12:18:00 · 1337 阅读 · 0 评论 -
在程序中启动或关闭另一个程序
TO Start it:for Symbian 8 and earlier : #include TInt err = EikDll::StartExeL(_L("c://system//apps//test.exe"));for Symbian 9, for Server or Console application :#include // link ag原创 2009-10-10 13:44:00 · 923 阅读 · 0 评论 -
用Bitmap绘制渐变颜色
void CTestGrandientContainer::Draw( const TRect& aRect ) const { // [[[ begin generated region: do not modify [Generated Contents] CWindowGc& gc = SystemGc(); gc转载 2009-11-02 15:22:00 · 1715 阅读 · 0 评论 -
关于生成DLL
现在写的通用的平台,Client/Server Side 都要求插件形式,每一个插件宿主于一个动态库中,在Symbian中,动态的调用有些不是很方便,现在总结一下其各种类型库的加载形式。0, 静态库:1, 动态库: a,静态加载: b,动态加载:动态库动态加载的几个问题:1,在emulator上不能被load,原因有几个可能:转载 2009-12-04 17:21:00 · 506 阅读 · 0 评论 -
symbian 程序之间通迅方法之一
通过Symbian OS的Application Architecture Services可以进行应用程序间的通信,主要用到的类包括:TApaTaskList和TApaTask。TApaTaskList:用于访问设备中正在运行的任务。 TApaTask:表示设备中某个运行的任务,通过与程序关联的窗口组(window group)标识。 发送消息端:使用TApaTaskL转载 2010-03-24 15:18:00 · 614 阅读 · 0 评论 -
symbian命名规范
Symbian OS上的应用程序使用一组标准的约定来命名类(class)、结构(struct)、变量(variable)、函数(function)、宏(macros)、枚举(enumeration)和常量(constant)。本主题解释这些约定的意思。类(class)的命名大多数类的命名是通过加前缀字符C,T,R,M构成的。下面简单说一下它们表示的意思:C:C前缀表示类从CB as转载 2009-12-09 11:56:00 · 782 阅读 · 0 评论 -
分享一下关机和重启的办法
刚才看到有人找关机的办法,我就分享一下我收藏的最早用的一个重启手机的办法,自己都忘了在那里找到的,适用MR、FP1机型,对FP2不起作用了 _LIT(KMyExeFile,"Z://System//Programs//Starter.exe"); _LIT(KMyExeFileCmd,"// 0");转载 2010-04-01 18:00:00 · 505 阅读 · 0 评论 -
symbian 实现铃声和振动
声音提示可以采用两种方法:一种是利用系统自带的CoeSoundPlayer类来实现单音铃声的播放;另一种则是利用S60提供的多媒体框架CMda*类来实现音频播放。关于声音提示的使用CoeSoundPlayer类使用该类声明于coesndpy.h头文件,库是cone.l转载 2011-08-12 09:50:55 · 710 阅读 · 0 评论 -
使用RHTTPTransaction后产生CONE 36 Panic的解决办法
当应用程序只使用RHTTPSession和RHTTPTransaction来进行HTTP操作,那么在模拟器上的程序退出后会产生CONE 36的panic,通过SDK可以找到对应的说明“Open handles were found during application shutd转载 2010-09-28 17:05:00 · 443 阅读 · 0 评论 -
wifi connect
Below is a code snippet for creating a WLAN access point and automatically connecting to it with RConnection.//---------------------------转载 2010-10-15 14:48:00 · 973 阅读 · 0 评论 -
symbian多线程
目 录0、Symbian 操作系统中的线程和进程.............................................. 31、使用单线程的优点......................................................转载 2010-12-31 17:13:00 · 748 阅读 · 0 评论 -
ECOM介绍
ECOM架构ECOM是一个通用的、可扩展的框架,它可以定义抽象接口,并且可以识别接口的实现,还负责装载并管理它们。该框架:可以识别所有特定接口的具体实现。允许接口的客户动态指定应该使用哪一个接口实现。这个选择的过程被称为决议(resolution)。ECOM提供了一个转载 2010-07-30 14:37:00 · 1359 阅读 · 0 评论 -
symbian开发总
1、获取IMSI号、手机版本等 CTelephony:GetSubscriberId() CTelephony:GetPhoneId() CTelephony:Version()2、获取屏幕尺寸 TSize CEikConsoleScreen::ScreenSize3、更改ListBox字体 方法1: _LIT(KFontNam转载 2010-03-24 18:06:00 · 516 阅读 · 0 评论 -
s60 2nd-3nd开发问题及解决方法
(1)模拟器里面测试的程序如何删除?for s60 2nd平台:删除/epoc32/release/wins/udeb/z/system/apps/myapp的目录即可for s60 3rd平台:a、删除/epoc32/release/winscw/udeb/myapp.exeb、删除/epoc32/release/winscw/udeb/z/private/10转载 2009-08-10 10:45:00 · 1276 阅读 · 0 评论 -
备份
CS000935 - Showing a manufacturer disclaimer during the first launchCS000934 - Showing a manufacturer disclaimer during application installation原创 2009-10-27 10:18:00 · 338 阅读 · 0 评论 -
Symbian C/S 机制分析
以下分析基于:Developer Platform :S60 3rd Edition, Feature Pack 2 SDKOperating System :Symbian OS v9.3一,为什么要使用Client/Server架构在Symibian OS中所有的异步服务都是Server通过C/S架构来实现的。Client是利用Server提供的转载 2009-11-20 18:16:00 · 608 阅读 · 0 评论