Symbian框架

来源:互联网 发布:国外邮箱哪个好用 知乎 编辑:程序博客网 时间:2024/04/27 02:59

 Symbian开发的软件大小一般在200k左右,
屏幕大小为:176*208(老版本) 240*320(新版本主流) 352*416(新版非主流);
Symbian的程序是运行在AppRun.exe的程序上面,AppRun类似虚拟机的概念;
注意:Symbian不允许有全局变量,但支持全局常量.(在3.0中,Exe支持,DLL不支持)
以下介绍Symbian的框架部份,一些基本的部分就不详解了:
1.框架程序入口:E32DLL:该方法将程序启动路径给RunApp进行启动,在启动之前会加载这程序所包含的Lib、DLL库等文件。(在MMP文件中可以查看得到);

2.E32DLL运行之后,底层框架会去New一个Application程序对象,这里要注意的是系统使用New操作符而并没有采取Symbian编程规范的new(ELeave),是因为Symbian内存处理及相应的规范没有load起来,采取的是C++的new进行操作.

3.Application:
CreateDocumentL方法:创建文档对象,负责模型、数据,在这里Symbian的一些规范(如内存管理等)才算初始化。
AppDllUid:该方法Symbian会自动调用二次以上,告诉Symbian OS哪个对应的DLLID程序启动;

4.Document:
CreateAppUiL:创建控制界面,把当前Control控制器给构造出来,如果有文件关联,会与传统的程序走向不同,会去调用该类父类的OpenFile方法加载文件;资源文件中的NewFile的参数,表示该文件与程序关系,参考SDK,查阅:Newfile,Group Name:在手机上产生一个图标,Hidden:可以将图标隐藏,CHARACTER_SET UTF8:设置支持中文;

5.UI:主要是负责控制(单视图):
   UI主要负责管理:a):command单菜控制,b):View之间的View切换的控制;
   HandleCommandL方法:由AppRun向我们的程序发送用户按键菜单的消息号,该方法根据捕获相应的消息号进行处理.消息号的定义是在工程目录中的inc中以.hrh结尾的文件,是以枚举类型值进行保存,在该方法中捕获的值要与hrh文件中消息号对应,也可以使用常量.
应用程序举例:设置应用程序全屏或客户区:
1.在UI的构造中进行设置:Client Rect(表示客户区),ApplicationRect(得到全屏);
2.在View的构造中设置:SetExtentToWholeScreen()

6.View:是个容器,也是个环境.
  Draw:由系统框架自动调用.
  iCoeEnv:AppRun提供的环境对象;
  CEikonEnv类:系统提供的框架方法:参考SDK.


说了这么多,应该对Symbian 的框有了个初步的认识了吧,还不利用所用的知识在系统框架中练习?呵呵...
感谢他的教导...