微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > Symbian 入门

Symbian 入门

时间:09-12 来源:互联网 点击:

用程序想使用对话框,那建议你使用dialog体系结构,注意如果要有一个选择列表,那最好写成包含在dialog中的选择列表。

Does the application have multiple views or modes, which deal with different sorts of data at the top level?

如果是这样,那最好使用传统或view体系结构。

Do external applications need to switch to different views of your application?

如果是采用view体系结构写的程序,那它一定支持多个不同的view,而且是外部程序能访问的。如果你从头开始写一个应用程序,那建议你使

用view体系结构,

否则给我看看有没有现成的代码可利用,不要一味的傻写呵呵。注意,如果一个外部程序使用的显示页面是你的程序所提供的,那你应该在DLL

中处理这个显示页,这个DLL应该是外部程序所能访问的。

Can all of the applications views be exited without loosing user data?

使用view体系的程序必须有能力处理因外部程序而引起的views的释放。如果程序不能自动的释放这些view,那就要考虑其他两种体系了,要么

使用view体系as a message passing system,要么让app UI在传统体系中管理view。

Do external applications need complex interactions with the data in your app?

如果外部程序和你的程序有大量的数据交互,那你最好选择client/server系统。它将减小view的使用量。大量现有的复杂应用,如短信,web

以及通讯录都使用这样的机制,这是个很好的构想,总比要重写他们要好:)

Is there only a single complex main view in the app?

如果是这种情况,那还是使用传统的体系。

一些例子>

这里给出一些假象例子的解决方案。

App launcher

这种程序可以单独运行并且能切换到其他程序,它只有一个view ,并且不接受外部程序的访问,如果这样会中断它。这样的程序不需要消息的

传递或外部程序需要的views.

Fast swap window

一个在运行时刻的弹出窗口,这是一个睡眠的弹出对话框其实,它没有状态。

Email app

电 子邮件程序可以读或写电子邮件。这个程序有外部使用views,内部可切换的views,并能做中断操作。Notifier信息能告知程序显示一个新

的信 息给用户,所以该程序要有处理此请求的机制,即使在做其他事情时。编辑框可以做为其他程序的view显示,使用DLL形式,我们就可以

做到外部程序的调用 自如。SymbianOS的messaging程序就是一个client/server机制可以在其他程序中被调用。当然要实现内嵌在外部程序中

有许多工 作要做的。当你在写邮件时,很可能又收到新邮件的同志,这个时候新邮件是做为一个嵌套的对话框似的组件显示在里面的,注意,

做这个工作时要特别依赖 inter-application interaction model。

Contacts app

通讯录程序允许进行通讯录的显示、编辑和选择。选择后的结果可以做为其他程序所用。注意它不能因外部view的切换而中断。

通过一个外部程序可访问的dll,通讯录就可以被外部程序所访问。程序本身并不需要views,所以最好使用传统的体系结构编写,而用dialog

应付所有的编辑窗口。

web browser

web浏览器可以做为单一的web上网工具,也可以内嵌在其他的文档中。web浏览器可以通过外部程序可以访问的dll来提供一个UI control,但

并不给外部提供可用的全屏应用。它必须能够应付外界的访问,譬如说应付在点击mail连接后撰写电子邮件的过程。

主体程序主要是用传统的体系结构,也可以采用view体系来应付访问页面的需求。

Settings

我们要关心的是全局设置和特定应用程序的设置。他们不是一回事情。经管他们可能共享一个库,实际上他们互不相干。

设置程序并不需要为外部的访问做什么处理提供什么界面,因此他的编写很简单,用传统的或者基于dialog的体系都可以。而局部设置要注意

必须小心对待外部可能出现的中断,并且他有可能做为一个模态dialog而处理。

Telephony app

电话号码簿程序并不提供外部view,但他必须要处理外部资源的请求。有时候直接用传统的体系去写即可,大部分的外部交互可以通过ETEL

Server.

[应用程序的启动]

从CEikApplication派生的类CAknApplication,他有几个必须重载的函数:

PreDocContructL()

OpenIniFileLC(RFs aFs)

PreDocConstructL,主要是处理已经构造好的应用程序实体是否正确准备好了。如果已经准备好了,那应用程序可以切换到实体上。注意,这

个函数只检查非内嵌程序。

通常,ini文件并不被series60所支持,如果要处理,那就要强制性的调用CEikApplication::OpenIniFileC

[BASE CLASSES]

CAknDocument

这个类是做为应用程序文档的基类准备的。用

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top