System之路
文章平均质量分 68
meteor0627
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Symbian开发学习笔记之一
Symbian中的应用程序通常分为两个部分,engine和UI,如此的划分增加了可维护性和灵活性,engine就好象是程序的核心,它主要处理运算和数据,而UI(应该是User Interface)主要处理数据的显示和所有行为(操作行为应该是)。engine不谈,它是程序起作用的灵魂,这个是因程序而异的,我们来看应用程序外观,它可以分为三种体系结构:一、传统的symbianOS控制体系结构二、基于对转载 2006-08-27 01:59:00 · 1393 阅读 · 0 评论 -
Symbian OS 之活动对象
一、概述:Symbian OS是一个多任务的操作系统,那么为了实现多任务,同时使系统能够快速响应,高效的进行事件处理,并减轻应用程序员的工作负担(申请大多数耗时的操作(例如文件系统)由服务提供器来完成,服务提供器完成程序员提交的请求后,将会返回给程序员一个成功或失败的信号。), Symbian OS特意引入了活动对象的概念。服务提供器API具有函数的异步和同步版本,供客户应用程序使用。所谓转载 2006-09-18 08:48:00 · 778 阅读 · 0 评论 -
Symbian C++ 程式設計快速上手 (UIQ)
這份教學並不是教大家如何寫程式, 而是告訴大家如何找到相關的應用程式, 進而開發一個新的程式 :P, 裡面約有 80% 都是自已摸索出來的, 所以若是觀念上有錯誤的話, 請麻煩指正, 謝謝 ==========================================準備道具:1. Metrowerks CodeWarrior (不一定要有, 但若是想在電腦上模擬執行的話需要它)2. Sym转载 2006-09-29 15:13:00 · 1084 阅读 · 0 评论 -
一个简单的Symbian OS异步计时器
先看一些资料吧,尤其是SDK里面自带的例子,很有用的,其实异步计时器并不向一开始想象的那么复杂。基本思想:写一个类继承CTimer,然后重写它的RunL()和DoCancel()方法;在需要的地方启动计时器,然后在Runl()方法里处理计时结束的任务,或在DoCancel()里面取消计时。注意由于CTimer从CActive继承而来,所以在实现计时器的构造函数里面要给它指定优先级。当然,为了便于管转载 2006-10-08 12:07:00 · 794 阅读 · 0 评论 -
关于模拟器上网和邮箱设置的问题
这断时间一直在做一个邮件发送与接收的程序,那么第一件是就要是模拟器上网的问题了,我一开始有的是2.2的版本,费了也不知道几牛几虎之力,不论怎么设置就是上不了网。后来换成了2.1版本的,和2.2下一样的设置,在2.1下就可以上网了,对于这个问题,我只能说郁闷啊!好了,说一下如何设置吧,打开Epoc32/tools下的network_config.bat(要确保模拟器此时是关闭的),1。选中N转载 2006-10-08 12:10:00 · 2034 阅读 · 0 评论 -
用C++实现的访问Symbian手机电话薄
在Symbian OS中,电话薄部分是通过一个默认的数据库(contacts.cdb.)来操作和管理的。因此在Symbian系统里可以用联系人模型(Contacts Model)API来访问和管理电话薄,这里主要用的类就是CContactDatabase(数据库类,电话薄所有条目的集合),CContactItem(它代表一个单独的电话薄条目,由唯一的一个TContactItemId标识。例如电话薄转载 2006-10-08 12:12:00 · 1067 阅读 · 0 评论 -
Symbian开发环境配置之VC++6.0
昨天开始学习Symbian,可是开发环境配置了一天才完成。真是好事多磨呀,于是把心得写下来与大家分享,避免刚入门的同学们走弯路。因为我就为此耽误了一天时间。 我的开发环境是由4个软件组成:1.ActivePerl 执行脚本文件环境,我用的版本为ActivePerl-5.8.8.819-MSWin32-x86-267479.msi;网址:http://www.activesta转载 2006-10-20 13:04:00 · 1611 阅读 · 0 评论 -
S60 3rd资源本地化的实现
以前做了一个Feisoon的项目,是基于S60 2nd开发的。现在做S60 3rd的移植,需要支持中文,所以需要进行程序本地化处理。中文的本地化还是比较麻烦的,有些朋友经常也遇到同样的问题,因此,我把自己本地化实现的过程记录下来和大家一起分享,有什么不对的地方,希望多加评论。 首先了解一下S60资源相关知识,下面一些文件是必须了解的。rss是资源源文件;rls是定义本地化的字符转载 2006-10-16 11:45:00 · 986 阅读 · 0 评论 -
移植(porting),解决undefined reference to错误及unresovled错误
sjyuhusun2006-06-07, 05:24:) :) 鉴于本人在此走过弯路及探索,为了大家少走弯路,现小结一下移植(porting)的林林总总,供大家参考,不足之处还望前辈们多多指教。以C code移植到symbian中为例:因原c程序功能所限,我在vc6中用向导生成了一个exe程序。1。将原C程序的所有.C文件放到/src/目录下,将所有.h文件放到/inc/目录下转载 2006-10-20 14:19:00 · 1343 阅读 · 0 评论 -
关于第三版S60错误标记信息的解释
此文为开发视界翻译转载者请注明出处(开发视界 www.sf.org.cn)否则追究法律责任如果最近你读到了诺基亚开发者论坛讨论版上的讨论,你可能会注意到有很多关于第三版S60 标记的一些问题。看起来Symbian 9新的安全特性已导致一些开发者受挫。当第三版S60手机安装标记/非标记应用程序时,将出现一些错误信息。下面,我将和大家一起来讨论一下将会出现什么样的错误信息。当然,我不可能面面俱到,转载 2006-11-14 12:36:00 · 730 阅读 · 0 评论 -
Symbian开发小TIP:printf() 和 console
没有了printf(),就如同人失去了。。。随便吧。总之,没有printf()使得symbian下的debugging变得很麻烦。当然,我们可以使用那个CEikonEnv::InfoMsg()来代替,但是这个东西只在模拟器上才起作用,而且其功能实在太有限了。所以,我通常都会在工程里加上下面这样几个东西: 代码:转载 2006-11-15 15:40:00 · 1016 阅读 · 0 评论 -
UIQ 3 概念认识
此文为开发视界翻译转载者请注明出处(开发视界 www.sf.org.cn)否则追究法律责任 介绍UIQ3的一些新概念,包括能在UIQ3设备中使用的各种类型的UI的启蒙,也介绍了在不同大小屏幕和不同输入机制的情况下如何编写设备的代码。 UIQs Daniel Backman在会议上向我们介绍了UIQ3。UIQ 是运行在Symbian OS 9.1 操作系统之上的用户界面层。UIQ在操转载 2006-11-14 12:34:00 · 1311 阅读 · 0 评论 -
小技巧集锦
1.在S60第二版,FP2设备上获取电量状态直到S60第二版,FP2,电量值都是通过RSystemAgent中如systAgent.GetState(KUidBatteryStrength)获得的,但现在方法返回错误代码-19。那在S60第二版,FP2设备上是否有其他方法可供使用呢?这些值在新版中确实有所改变,而公开文档中却并未写上。你可以通过使用下列值来查询电量状态。Code:转载 2006-11-17 09:14:00 · 644 阅读 · 0 评论 -
symbian中如何检测编辑框的当前输入法类型
当我们进行全屏程序开发的时候,对编辑框中当前的输入法要时行判断,以方便我们在界面上贴图表现,通过下面的三步可以完成这个功能:1、在.h文件中加入相关的头文件#include // for CAknEnv::Static()#include //for CAknIndicatorContainer 2、在.h文件中加入用到的类定义struct S_uid: public TUi转载 2006-11-21 18:29:00 · 658 阅读 · 0 评论 -
Symbian C++ 各种类型之间的转换!!(整理)
function StorePage(){d=document;t=d.selection?(d.selection.type!=None?d.selection.createRange().text:):(d.getSelection?d.getSelection():);void(keyit=window.open(http://www.365key.com/stor转载 2006-11-27 10:45:00 · 1046 阅读 · 0 评论 -
基于VS.Net 2003的Symbian开发环境的准备-II
本文讲述怎样导入项目,怎样创建S60项目。这些内容都是我今天花一天时间查阅资料并摸索出来的,中间很可能有不少错误是我没有发现的,欢迎大家指正。阅读本文以前,请保证你的开发环境已经设置好,而且经过验证没有问题。若这部分的内容你不清楚,请阅读我的另外一篇文章Symbian OS开发入门(一) :基于VS.Net 2003的Symbian开发环境的准备我将讲解4个部分的内容,前3部分内容是独立的,没转载 2006-07-28 09:06:00 · 1188 阅读 · 0 评论 -
基于VS.Net 2003的Symbian开发环境的准备
[来源自]http://www.wda.com.cn/thread-321013-1-1.html【起点-SDK和IDE的选择】 本文主要为学习Symbian开发的初学者讲授如何准备开发环境。对Symbian开发有兴趣、具备一定软件设计基础的朋友都可以来一起研究。需要说明的是,对于学习Symbian开发,需要有较为牢固的编程经验(这里我们暂时要求具有较好的C++程序语言设计能力)转载 2006-07-28 09:34:00 · 1459 阅读 · 0 评论 -
内存泄漏检测工具
内存泄漏检测工具文/Peter Jiang(译自newlc.com)检测已分配资源第一个工具是一个内存资源使用的监听器.它只能在模拟器上进行调试.可以使用快捷键来调用按键 功能CTRL+ALT+SHIFT+A 显示已分配堆单元的数量CTRL+ALT+SHIFT+B 显示已分配的文件服务器资源的数量CTRL+ALT+SHIFT+C 显示已分配的窗口服务器资源的数量堆检测宏第二个工具可以在你指定的代码转载 2006-07-28 09:44:00 · 1408 阅读 · 0 评论 -
Symbian OS 错误码
一般错误KErrNone 0 KErrNotFound -1 不能找到指定对象 KErrGeneral -2 一般错误(不可预料) KErrCancel -3 操作被取消 KErrNoMemory -4 内存不足 KErrNotSupported -5 该请求操作不被支持 KErrArgument -6 错误请求 KErrTotalLossOfPrecision -7 精度全损转载 2006-07-28 09:47:00 · 2081 阅读 · 0 评论 -
静态数据
静态数据译自Developer Library ? Symbian OS Guide ? Essential idioms ? Static dataDLL中的可写静态数据Symbian OS是基于ROM来处理程序的。DLL是通常是存储在ROM中的(运行也是在ROM中),所以它是不可写的。虽然有时把DLL装入RAM中运行,但Symbian OS仍旧假定DLL不可写。因此Symbian转载 2006-07-28 11:36:00 · 1300 阅读 · 0 评论 -
Symbian下用C++实现网页浏览的代码
先声明一下,下面的这段代码是调用系统的浏览器实现网页浏览的功能,很显然这是一种比较简单的方法,但是它的可控制性就不行了,例如左软键的内容你是肯定该不了的。如何写一个自己的浏览器,而不调用系统的,等以后做出来再说吧。调用系统的浏览器来实现网页浏览可以根据系统浏览器的状态而决定调用的方法,例如当系统浏览器正在使用所的时候可以用TApaTask::SendMessage ()方法;当系统浏览器没有被转载 2006-07-28 11:50:00 · 874 阅读 · 0 评论 -
设置全屏显示的S60程序
发伙伴平台: 60系列开发平台 1.0/2.0设备, 软件版本: 无大类: Symbian C++子类: 普通说明:详细描述有几种不同的方式可以设置全屏程序1、覆盖system panes这个方法主要用在传统的view架构中,当view不是全屏时,可以通过调用CCoeControl::SetExtentToWholeScreen()方法来获取全屏。不过应该在MyView::ConstructL中调转载 2006-07-28 12:10:00 · 828 阅读 · 0 评论 -
软件混音的实现
Symbian 6.1上实现的混音是个比较麻烦的问题,因为程序只能同时播放一个音乐,实现混音就需要程序自己来实现。下面是我从newlc上找到的一个关于PCM脉冲编码的音频信号的混音实现,其中包含了一个关键的混音算法!Hi !!!!I am not sure weather I have fully understood your question or not, I persume that转载 2006-07-28 12:31:00 · 1024 阅读 · 0 评论 -
s60的字符串描述符翻译
原文:http://www.newlc.com/article.php3?id_article=12字符串与描述符发表于2003年12月16日,作者Eric Bustarret,北京理工大学——陈罡译对于初次接触Symbian平台的开发者来说,令他们非常惊讶的是——Symbian平台选择了不使用普通的数据类型和函数来处理字符串和二进制缓冲区的做法。这做法直接导致了不止一个开发人员花费了好几个小时的转载 2006-12-01 12:45:00 · 934 阅读 · 0 评论 -
设置全屏显示的S60程序--
设置全屏显示的S60程序有几种不同的方式可以设置全屏程序1、覆盖system panes这个方法主要用在传统的view架构中,当view不是全屏时,可以通过调用CCoeControl::SetExtentToWholeScreen()方法来获取全屏。不过应该在MyView::ConstructL中调用ActivateL()之前调用。如下:Code:void CHelloWorldPlusApp转载 2006-12-01 12:48:00 · 813 阅读 · 0 评论 -
symbian下面浏览器的调用方法
symbian下面浏览器的调用方法TBool CMcAppUi::invokWapUrl(TDesC & url) { const TInt KBrowserUid = 0x10008D39; // the inner browsers id TUid id( TUid::Uid( KBrowserUid ) ); TApaTaskList ta转载 2006-12-01 12:53:00 · 1370 阅读 · 1 评论 -
symbian 下面调用电话拨号的方法
symbian 下面调用电话拨号的方法开发电话本应用的时候,时常会需要直接拨打对方的电话号码。那么,如何在symbian s60平台上通过代码让自己的手机拨号呢?下面的代码可能会帮助你的:加入头文件:#include // for dial operatons 在mmp文件中需要加入:LIBRARY etel.lib // for dial转载 2006-12-01 12:55:00 · 1259 阅读 · 1 评论 -
如何指定最大和最小堆内存
如何指定最大和最小堆内存在一台手机(或SDK的模拟器)上会有一定的物理内存大小,而你的应用程序将获取一部分做为堆内存使用。当你程序启动后产生进程,会有一个预先分配的堆给其使用。S60第三版设备上缺省大小是4KB,早期的S60平台上是1KB。根据需要,应用程序可以自由分配更多的堆内存,程序能使用的堆大小可在1M范围内动态增加,这是操作系统所规定最高极限了,呵呵。如果试图分配的内存超过所能最大限制转载 2006-12-01 12:56:00 · 1535 阅读 · 0 评论 -
电话簿与vCard的格式转换
电话簿与vCard的格式转换(1)将电话簿中数据转换成vCard格式的文件void Cxxx::ExportPhonebook(){RFs fileSession; User::LeaveIfError(fileSession.Connect());//连接文件服务器 CleanupClosePushL(fileSession); CContactDatabase* contactDb = C转载 2006-12-01 12:59:00 · 12646 阅读 · 1 评论 -
手机撒谎软件之实现
手机撒谎软件之实现近日风行流氓软件,就连手机平台也加入了堕落的行列。现在俺就简单写一下这种手机上的流氓是如何欺骗人的。手机撒谎软件主要功能:你正在外面干见不得人的事,这时候老爸打电话问你干啥呢,这个软件就发挥作用了,播放一段打篮球或者老师讲课的录音,这样你可怜的老爸就以为你在努力学习呢。唉。。。。首先讲一下现在手机的平台,主要平台为Nokia下的Symbian开发,使用C++。流氓的准备工作转载 2006-12-01 12:59:00 · 1249 阅读 · 0 评论 -
Symbian OS 之活动对象
Symbian OS 之活动对象一、概述:Symbian OS是一个多任务的操作系统,那么为了实现多任务,同时使系统能够快速响应,高效的进行事件处理,并减轻应用程序员的工作负担(申请大多数耗时的操作(例如文件系统)由服务提供器来完成,服务提供器完成程序员提交的请求后,将会返回给程序员一个成功或失败的信号。), Symbian OS特意引入了活动对象的概念。服务提供器API具有函数的异步和同步转载 2006-12-01 13:02:00 · 1045 阅读 · 0 评论 -
程序拨号及检测何时挂断的解决方案
程序拨号及检测何时挂断的解决方案用过Nokia智能手机的人都知道,当电话拨通以后,原来的程序就被切换到后台运行去了,但是当电话挂断以后,Nokia并没有把原来的程序给切换到前台,不知道Nokia为什么要这样做.本篇给出一份代码,内容包括拨号,CallBack电话挂断事件,把原来的程序切换到前台./** ==============================================转载 2006-12-01 13:13:00 · 825 阅读 · 0 评论 -
让Symbian应用程序开机自动启动
让Symbian应用程序开机自动启动首先声明:不得利用本文提供的技术制作任何手机病毒及有害软件,否则后果自负.Symbian开机自动启动的问题:一共分为两大步,每一大步里又分为几个小步骤:一:创建boot文件1:http://www.newlc.com/article.php3?id_article=152#nh1到这个网址下载适当版本的EzBoot2:在.pkg文件目录下建一个新文件,命名为转载 2006-12-01 13:15:00 · 963 阅读 · 0 评论 -
使用日志类RFileLogger输出调试信息
使用日志类RFileLogger输出调试信息一、概述:类RFileLogger对应的头文件和库文件分别是flogger.h和flogger.lib。我习惯把opening代码放到我希望跟踪的class的ConstructL()函数里面,然后在析构函数里closing.在真正编码时,你最好检测一下Connect和CreateLog是否返回了KErrNone.二、使用:1、在类的二阶段构造Cons转载 2006-12-01 13:17:00 · 970 阅读 · 1 评论 -
如何检测手机型号
如何检测手机型号所有的Series60设备都拥有一个由制造商分配的唯一标识符-机器UID;因此可以通过这一UID信息来获取手机型号;本文就介绍了这种方法.常见的S60机型及其机器UID:S60 1st Edition (0.9):Nokia 7650 0x101F4FC3S60 1st Edition, FP1 (1.2):Nokia 3650 0x101F4转载 2006-12-01 13:18:00 · 2719 阅读 · 0 评论 -
Symbian OS上的文件操作和UNICODE转换
Symbian OS上的文件操作和UNICODE转换本文整理总结了一下在Symbian系统上进行文件操作的一些体会,实现了通过文件保存、读取TBuf和TInt变量的功能,其中涉及到UNICODE和ANSI之间字符的转换。 最近研究了一下在Symbian操作系统上的文件操作,做一下整理,以做回顾交流。 实现的功能如下:将一个class里面的成员变量TBuf16 m_iS转载 2006-12-01 13:19:00 · 668 阅读 · 0 评论 -
在16位descriptor和8位descriptor之间拷贝数据
在16位descriptor和8位descriptor之间拷贝数据首先,我们应该包含utf.h头文件,并连接charconv.lib库Code:// Copy data from srcBuf16 to destBuf8 CnvUtfConverter::ConvertFromUnicodeToUtf8(destBuf8, srcBuf16); // Copy data from srcBuf转载 2006-12-01 13:21:00 · 704 阅读 · 0 评论 -
得到程序路径
得到程序路径程序一般安装在手机内或存储卡内,下列代码允许程序动态生成其安装路径,当程序访问同目录下文件时可以使用。这是通过CompleteWithAppPath(TDes& aFileName)完成的,所有的结果(包括盘符、路径和文件名,以及扩展名)都可在给定的描述符中返回。Code:#include // for CompleteWithAppPath()// aFileName转载 2006-12-01 13:22:00 · 724 阅读 · 0 评论 -
Symbian中同步socket用法
Symbian中同步socket用法//下边的代码是介绍同步socket的用法://需要用到的lib,可能不全,请看sdk的help自己添加esock.lib//需要的头文件,可能不全,请看sdk的help自己添加#include #include #include #if defined __WINS___LIT(KConnectIP,"192.168.0.1");//连接的ip地址,换成测转载 2006-12-01 13:24:00 · 782 阅读 · 0 评论 -
动态改变 CBA 按钮
动态改变 CBA 按钮Code:RESOURCE CBA r_yourapp_softkeys_options_open{buttons = { CBA_BUTTON { id=EAknSoftkeyOptions; txt = "Options"; }, CBA_BUTTON { id=EYourAppCmdOpenApp; txt = "Open"; } };}RESOURCE CB转载 2006-12-01 13:25:00 · 725 阅读 · 0 评论
分享