本文章仅作学习与交流之用。如有转载,请联系本人。
二、 创建设置列表和其项目( items )
为了能够在应用程序中使用设置列表,应用程序必须包含一个继承自抽象基类CaknSettingItemList 的类。这个类的实例会提供一个实际的设置列表控件来使用。这个继承的类需要重载(override )和实现(implement )创建设置列表的方法。下面的例子是一个最简单的继承设置列表类:
声明的CmySettingList 类提供了一个数据成员iFlag ,在我们的例子中它将包含一个唯一设置项的二进制值,也被称作二进制开关(the binary switch )。
CreateSettingItemL 函数的实现参见如下代码:
这个函数使用了一个普通的模式,它包含了一个switch-case 模块,并为每一个设置项分配一个case 声明模块。这个case 模块只包含了一个声明- 每个设置项的实例化。同样的,这个实例化也遵循每个设置项类型相同的模式。这个特定的设置项类的构造器有两个参数:一个是通过CreateSettingItemL 函数的设置项识别aIdentifier ,另一个是其相关联的变量iFlag 。
例子中的这个设置列表类有个缺点,它没有遵守MVC(Model-View-Controller) 设计模式。在MVC 设计模式中,视图(view )、模型(model )、控制器(controller )应该分开。但是在这个例子中,这些组件在一个类中实现了。在实际应用程序中使用单独的类来管理数据,传递这个类的实例给继承自设置列表类是很有用处的。这样做也保证了用户界面和应用引擎的分离。
这个设置列表使用资源声明来创建,主要用到的资源结构是AVKON_SETTING_ITEM_LIST ,在avkon.rh 中定义如下:
注:第二章节未完,待续。。。
由于世界杯期间时间更加不足,本人尽力加紧进度。