自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 Symbian/Android/iOS/WM安装包对比

Symbian: Symbian C++程序安装包为sis或者sisx后缀的文件。开发者需要编译生成需要安装的二进制文件(如exe文件、res文件等),然后编写pkg文件,最后使用makesis命令行工具生成sis包,并使用signsis工具签名。pkg文件列出所有需要包括在sis包中的文件,包括文件的源路径及安装到手机上之后的目标路径,也可以指定少许的其他属性。例如,exe在安装过程中是否执行,在卸载程序过程中是否执行等。 sis包中包含的常见文件: exe文件:可执行文件,由C++代码编译生成。

2010-12-26 21:13:00 1625

原创 Symbian/Android/iOS/WM程序框架对比

Symbian: Symbian程序一般分为两类:Server程序、UI程序 Server程序:Server程序一般无UI,并且一般不在应用程序列表中显示启动图标,运行时在后台运行。 Server程序主要包括派生于CServer2的Server实现类及派生于CSession2的Client服务类。Server程序启动时,会创建CServer2派生类的实例,并在系统中以特定的名称注册(通过调用CServer2::Start(const TDesC& name))。Client通过Server名

2010-12-26 18:08:00 1404

原创 Symbian/Android/iOS/WM应用程序开发感受对比

前后参与过Symbian/Android/iOS/WM的程序开发,在这里列一下各个平台程序开发感受对比。 Symbian: 1. Symbian开发的配套文档比较差。虽然也有Symbian SDK配套的文档,但是Symbian文档大多惜字如金,对类及函数的说明都相当简洁。另外,Symbian体系结构相关的文档也相当少或相当简洁。因此,不太熟的Symbian程序员,只能结合差劲的文档和自己的经验,经过不断的猜测和尝试,才能完成编程。这样造成的后果时,Symbian程序员很难对Symbian程序有比较彻底的

2010-12-23 23:05:00 2784 1

原创 跟着Code走,详解Symbian清理栈

【清理栈是干什么的?】 程序一般提供两种错误处理机制,通过返回值判断和异常处理。通过返回值判断是程序正常执行流程中,对错误的处理方式;而异常处理是程序执行过程出现异常时,处理错误的方式。清理栈是Symbian下的异常处理机制,结合TRAP/Leave,保证程序出现异常时,已经申请的资源得以释放。 编程者如果认为某个函数的执行过程可能发生异常(调用到的代码可能调用User::Leave,或者自己编写的代码可能调用User::Leave),需要对这个函数进行TRAP,同时保证这个函数中申请的资源都被正确的放

2010-12-23 21:15:00 1006

原创 用Carbide C++ UI Designer做UI的爽与不爽

做过Symbian程序的人可能都会多少有这样的感觉,为啥在Symbian下做什么都这么不爽?这么麻烦?包括通常觉得不那么麻烦的UI。像其他平台,如iPhone/Android/Windows Mobile等,都提供了所见即所得的UI编辑器,通过简单的拖拉动作,你就可以做出基本的UI来了。Android的UI编辑器可能你也未必经常用,但是xml格式的UI资源文件相当简洁明了。 Symbian开发环境Carbide C++也是提供UI Designer的,但是我熟悉的Symbian程序员,都不太用这个东西。一

2010-12-11 02:41:00 1895

原创 跟着Code走,详解Symbian UI程序框架(3)——窗口管理及绘制过程

前面的两篇博文已经介绍了Symbian UI程序的框架,及事件处理的基本过程,本文介绍UI的绘制过程。时间处理及UI绘制都包括两方面的动作:窗口服务器的动作及程序本身的动作。UI程序框架系列的博文只注重介绍程序本身的动作,窗口服务器的动作将在后续博文中介绍。【屏幕绘制综述】首先,我们来大概看看完成屏幕绘制的组成部分,如右图所示。应用程序发起绘制动作,例如指定在屏幕的某个坐标绘制一条直线到另外一个坐标;窗口服务器处理绘制动作,例如根据应用程序提供的两个直线坐标,按照直线算法算出屏幕上对应的需要显示的点的位置,

2010-09-04 09:09:00 1349 1

原创 跟着Code走,详解Symbian UI程序框架(2)——程序结构进阶,窗口管理及事件分发

在 跟着Code走,详解Symbian UI程序框架(1)——UI程序结构 一文中,我们介绍了UI程序框架的组成及初始创建过程,我们已经清楚了程序的静态结构以及这个静态结构是怎样创建出来的。下面我们讨论,这个静态程序结构在动态执行过程中,是怎样运作的。首先我们更进一步的来了解下程序的静态结构,主要是程序关键组成部分CAknApplication、CAknDocument、CAknApplicationUi及CEikonEnv的派生关系,因为非常多的功能代码是在基类中实现的。下图是UI程序组成部分的继承关

2010-09-04 08:34:00 1726 1

原创 跟着Code走,详解Symbian UI程序框架(1)——UI程序结构

在Symbian下开发程序这么久,但是一直不清楚UI程序框架的具体实现是怎样的。虽然有一些参考书籍讲解了大体的结构,但是没有具体看到实现的Code,还是没有那么具体的理解。开源使得我有机会自己去看看,UI程序框架到底是怎样的。这篇文章是一个系列的如下文章,这是第一篇。(1)UI程序结构(2)程序结构进阶,窗口管理及事件分发【UI程序基本结构及用到的核心库】了解Symbian UI程序框架的人,都会很熟悉下图。从下图,我们大概可以看出,初始化过程中会首先创建CAknApplication,再通过CAknApp

2010-09-03 22:52:00 1358

原创 跟着Code走,详解Symbian活动对象

【瞎侃活动对象】活动对象本身并不复杂,它由两部分构成:活动对象和活动对象调度器。活动对象主要用来进行异步函数调用,活动对象负责调用异步函数,并处理异步函数完成事件,活动对象调度器负责在异步函数完成时,调用正确的活动对象的完成事件处理函数(RunL)。Symbian程序并不要求一定使用活动对象,你可以完全像写其他平台程序一样写,完全不是用活动对象,但是活动对象为异步函数调用提供了方便。活动对象的执行结构及使用方法都不麻烦,但是主要的问题在于基于活动对象的程序,实际是一种基于状态的程序。对于初学接触活动对象,对

2010-09-03 22:51:00 934

原创 跟着Code走,详解Symbian OS API调用过程

作为一个被Symbian开发折磨过的人,当得知Symbian开源时,忍不住马上跑到developer.symbian.org上瞧一瞧,看看自己具体是怎样被折磨的。看了一段时间之后,想想还是把有些东西记录下来,为了加深理解同时也为了能够与人交流探讨。我们首先从Symbian OS API调用过程说起。如果你只想了解一下Symbian OS API调用的大概过程,那么你可以看 Symbian OS Internals 第五章 Kernel_Services 的 Flow of Execution in an

2010-09-03 22:49:00 1057

原创 跟着Code走,详解Symbian Client/Server架构

Client/Server架构是Symbian下最主要的进程间通信方法。程序如果需要后台服务,并与前台程序交互,一般都是通过Client/Server的方式实现。程序如果需要使用系统的服务,例如访问文件,也需要通过RFile等User Library,建立与系统Server的连接,然后操作。根据Symbian的开发文档,很快就可以完成Client/Server通信的基本代码,但是这些代码背后的详细操作过程是怎样的呢?本文将和你一起弄清楚其中的详细交互过程。我们首先列出一个最基本的Client/Server通

2010-09-03 22:49:00 1711

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除