Symbian

posted @ 2009-06-15 23:30 杨芹勍 阅读(571) | 评论 (2) 编辑
摘要: RTTI(运行时类型信息)是被现代高级编程语言所普遍支持的特性之一,如C#中的“a is A”、JAVA中的“a instanceof A”都属于RTTI的范畴。然而Symbian OS C++并不支持这个特性,这导致由Win32、JAVA转向Symbian的开发人员或者代码的移植都带来很大的不便,本文将解决这个问题。阅读全文
posted @ 2009-04-28 01:43 杨芹勍 阅读(2507) | 评论 (3) 编辑
摘要: 在IE浏览器中,如果想捕获浏览器的HTTP请求,可以通过BHO或者“异步可插协议”技术实现,类似于“迅雷”之类的下载软件,当用户点击一个下载链接会自动弹出。在Symbian OS中有一种技术与“异步可插协议”非常类似,Symbian OS会在HTTP请求中每一步处理过程都通知用户代码,本文将介绍这种技术的实现,并在文章的最后提供在手机上实现下载软件的具体思路。阅读全文
posted @ 2009-04-23 04:22 杨芹勍 阅读(3157) | 评论 (6) 编辑
摘要: GCCE编译器由ARM Ltd的合作伙伴CodeSourcery公司开发,它是一套非常成熟的ARM处理器交叉编译工具链。 Symbian OS v.9.1+ SDK使用GCCE CSL Arm交叉编译工具链为目标设备生成代码。然而,SDK中所包含的GCCE编译器非常陈旧,3.4.3版,发布于2004年11月。截止至今天为止,最新版本为4.3.2,发布于2008年。以下几个理由会让您放弃SDK自带的编译器而转为使用新的编译器: 1. 编译器编译速度变得很快,特别是针对C代码 2. 代码优化的问题貌似变少了 3. 编译出来的目标代码变小了(sis文件从1.5M变成1M) 4. 编译器的bug更少了 5. 在编译时生成的错误或警告信息更加完整 阅读全文
posted @ 2009-02-18 02:41 杨芹勍 阅读(4337) | 评论 (10) 编辑
摘要: C++的模板对于那些可以被多种类型重用的代码是非常有用的,如:Symbian C++中的泛型集合RArray和RPointerArray就是使用的模板来实现的。但是,使用普通C++模板会带来代码尺寸大大增加的问题。本文将分为“C++模板基础”、“TBuf分析”、“瘦模板”三个部分,逐步深入讲解Symbian C++瘦模板的概念和使用方法。阅读全文
posted @ 2008-12-04 16:05 杨芹勍 阅读(2304) | 评论 (2) 编辑
摘要: 套接字编程在网络与通信中起着举足轻重的作用。套接字的API最初为方便在BSD Unix中建立TCP/IP的连接而设计的,现在已经成为多种平台(包括Symbian)建立TCP/IP连接的标准API。除了TCP/IP外,套接字 API足以通用于其他对应的网络类型和协议。Symbian利用了这个事实,可以使用套接字API在红外线、蓝牙等协议上建立连接。本系列将从网络套接字入手,概述套接字编程的核心实质,同时以大家熟知的.net Socket编程作为参照物,介绍Symbian中的套接字编程。阅读全文
posted @ 2008-12-03 02:16 杨芹勍 阅读(3287) | 评论 (12) 编辑
摘要: 当数据尺寸在编译期不固定,而在运行期有可能要扩展到很大尺寸时,动态缓冲区在保存二进制数据方面显得非常有用。我们可以使用C++数组保存二进制数据,然后调用类似于memcpy的函数去动态的改变数组所占用空间的大小;我们还能够使用HBufC描述符,获取其可修改的描述符向其写入数据,然后调用 ReAlloc方法扩展数组。以上两点方法可行,但是不好,因为我们得自己管理内存的分配。Symbian C++考虑到了这一点,于是引入了动态缓冲区的概念。阅读全文
posted @ 2008-12-01 13:30 杨芹勍 阅读(2001) | 评论 (4) 编辑
摘要: 前几篇文章介绍的都是一些Symbian编程的基础知识。趁大家还没有开始感觉到枯燥乏味的时候,我们来学习一些有意思的东西:Symbian中的文件处理。在文章的最后将和大家从头开始,制作一个类似于DOS的简单目录文件管理器。阅读全文
posted @ 2008-11-27 18:02 杨芹勍 阅读(2619) | 评论 (3) 编辑
摘要: Symbian 编程总结导读,本系列由基础篇、深入篇、文件流与数据库、应用程序框架及控件、图形与字体、网络与通信、测试与调试、工具与扩展、插件几大系列组成,内容由浅入深,由基础至高级,并配有作者的一些开发经验和实例程序。阅读全文
posted @ 2008-11-27 10:12 杨芹勍 阅读(3219) | 评论 (22) 编辑
摘要: 在上一节里我们深入了解了活动对象、活动调度器及异步函数服务器的工作原理及运行机制,想必大家对活动对象的机制及体系结构的运用已经了如指掌。但是大家有没有觉得异步函数使用起来比较麻烦呢?难道非要使用活动对象,非得以"异步"的方式调用异步函数吗?这一节将为大家解决这个问题:异步函数的同步使用。阅读全文
posted @ 2008-11-25 21:05 杨芹勍 阅读(3121) | 评论 (4) 编辑
摘要: 在上一节里我们已经知道如何创建和使用活动对象,大家对活动对象的创建、使用都有了一定的了解。在这一节里我将深入活动对象机制,分为“活动对象的工作流程”、“信号迷失错误”两个部分,为大家剖析活动对象的工作原理。阅读全文
posted @ 2008-11-23 23:18 杨芹勍 阅读(2736) | 评论 (7) 编辑
摘要: 在上一节里我们已经大致了解了活动对象的基本概念,要使用活动对象机制,需要用到活动对象、活动调度器、异步函数。我们想使用异步函数,要按照应用程序->活动对象->活动调度器->异步函数的流程来使用。接下来我们开始进入实战,使用活动对象。 阅读全文
posted @ 2008-11-23 00:02 杨芹勍 阅读(2883) | 评论 (13) 编辑
摘要: 控制台程序在真机上的运行阅读全文
posted @ 2008-09-05 14:22 杨芹勍 阅读(578) | 评论 (0) 编辑
posted @ 2008-09-04 15:07 杨芹勍 阅读(160) | 评论 (0) 编辑
摘要: 关于使用Carbide编译及配置的一点注意事项,在开发时遇到的问题总结如下。阅读全文
posted @ 2008-09-04 11:11 杨芹勍 阅读(604) | 评论 (0) 编辑
摘要: S60中日志文件写入函数,适合用于记载程序运行的行为阅读全文
posted @ 2008-09-03 12:49 杨芹勍 阅读(364) | 评论 (0) 编辑