S60 Platform: Settings Screen Example v2.1
-------------------------------------------------
This C++ code example explains the basic construction of settings screens,
including setting item lists, setting items, and setting pages. The application
consists of a single view - a Setting List that has a variety of different types
of settings that can be manipulated. Changes to settings are saved when the program
exits. Note that no container class is implemented to hold the controls for the
view since the only control (the Setting List) is owned directly by the view class.
The application has been tested to be compatible with S60 5th Edition and Touch UI.
--------------------------------------------------------------------------------
PREREQUISITES
Symbian C++ basics
--------------------------------------------------------------------------------
IMPORTANT FILES/CLASSES
src\SettingExampleSettingList.cpp
- Creating setting items
CSettingListView (derived from CAKnView):
- The only view of this application
CSettingsData (derived from CBase):
- A data object encapsulating the data represented by the settings. Here the
data object is created and owned by the AppUi class, and passed into the
constructor of the view class and from there into the Setting List control.
Important classes: CAknView, CAknSettingItem, CAknSettingItemList,
CAknEnumeratedTextSettingItem, CSelectionItemList
--------------------------------------------------------------------------------
KNOWN ISSUES
- After launching the setting page for an item of type CAknPasswordSettingItem,
changes to the password are not automatically updated for the setting list
unless UpdateListBoxTextL() is explicitly called on the setting item. This is
already taken care of in this example; see the implementation of
EditCurrentItemL() in SettingExampleSettingList.cpp.
--------------------------------------------------------------------------------
RUNNING THE EXAMPLE
When the application is started, select the setting item and edit it.
When the example application is started, you will be presented with a setting
list. Using the navigation keys you can move up and down the list selecting
items to edit. Pressing the joystick or selecting "edit" from the menu will
bring up the relevant Setting Item Page and allows you to edit the value
displayed in the Setting List. Data is saved to settings.dat when the program exits.
--------------------------------------------------------------------------------
BUILD & INSTALLATION INSTRUCTIONS
Steps for building and installing the application to a device depend on the S60
platform version:
--Mobile device (S60 3rd Edition)
cd to /SettingExample/group
bldmake bldfiles
abld build gcce urel
cd to /SettingExample/sis
Edit paths in SettingExample_S60_3_0_v_2_1_0.pkg to match those on your system.
makesis SettingExample_S60_3_0_v_2_1_0.pkg
Sign the SIS package
- See the SDK Help for information about self-signed .sis packages, or
www.symbiansigned.com for information about Developer Certificates.
Install the signed .sis file to an S60 3rd Edition device.
- If you get a "Certificate error" during installation of a self-signed
package, check that App.Manager -> Settings -> Software Installation is
set to "All".
--------------------------------------------------------------------------------
COMPATIBILITY
S60 5th Edition
S60 3rd Edition, Feature Pack 2
S60 3rd Edition, Feature Pack 1
S60 3rd Edition
Tested with Nokia 5800 XpressMusic, Nokia E61i, Nokia E90 Communicator, Nokia N95
Created / tested with S60 3rd Edition, MR SDK and S60 5th Edition SDK
--------------------------------------------------------------------------------
TOUCH UI SUPPORT
No changes required for S60 5th Edition or Touch UI.
NOTE: CAknSettingItemList handles its listbox events in
CAknSettingItemList::HandleListBoxEventL() and you should not override it.
--------------------------------------------------------------------------------
VERSION HISTORY
2.1 Support for S60 5th Edition and Touch UI ensured.
2.0 Support added for S60 3rd Edition and Scalable UI.
1.0 First release.
--------------------------------------------------------------------------------
RELATED DOCUMENTATION
S60 Platform: Implementing Settings Screens
(document published at forum.nokia.com).
--------------------------------------------------------------------------------
EVALUATE THIS RESOURCE
Please spare a moment to help us improve documentation quality and recognize the examples you find
most valuable, by rating this resource at
http://www.forum.nokia.com/main/1%2C%2C90%2C00.html?surveyId=89f9c64b-db4c-4ee4-8099-057d2d2d062f/S60_Platform_Settings_Screen_Example_v2_1_en.zip
SettingExample
需积分: 0 162 浏览量
更新于2008-12-22
收藏 92KB ZIP 举报
"设置示例"(SettingExample)
"这是一个针对Symbian平台的初学者极好的学习实例,主要介绍了如何运用SetingListItem来创建和管理设置界面。SetingListItem是Symbian操作系统中用于构建用户界面,特别是设置菜单中的列表项的重要组件。通过这个例子,开发者能够理解如何在Symbian应用中集成自定义设置选项,增强用户体验并实现功能定制。"
【详细知识点】
1. **Symbian操作系统**:Symbian是一款曾经广泛应用于智能手机的操作系统,以其高效性和对移动设备的良好适应性而知名。它提供了丰富的API和开发工具,支持C++编程,为开发者提供了构建复杂应用程序的平台。
2. **设置界面设计**:在Symbian应用中,设置界面是用户个性化和调整应用程序行为的关键入口。一个良好的设置界面应直观、易于理解和操作,以便用户能快速找到他们需要更改的选项。
3. **SetingListItem**:SetingListItem是Symbian UI框架中的一个关键组件,它在设置屏幕中用作单个可选项目的容器。每个SettingListItem可以包含标题、说明文本、图标以及关联的开关或选择按钮,以表示设置的状态。
4. **创建SettingListItem**:开发者需要通过继承和实现Symbian提供的类来创建自定义的SettingListItem。这通常涉及重写一些关键方法,如绘制UI元素、处理用户交互等。
5. **事件处理**:当用户在设置列表中进行选择时,需要监听和处理这些事件。例如,点击某个SettingListItem可能需要更新相应的设置值,并可能触发相应的逻辑操作。
6. **数据存储与同步**:设置的更改需要持久化存储,以便在应用下次启动时保持用户的设置。Symbian提供了一些数据存储机制,如RComm注册表API,可以用来保存和读取这些设置。
7. **国际化与本地化**:为了使应用适应不同的语言环境,设置界面的文本通常需要支持多语言。Symbian提供资源文件和库支持本地化,确保应用的界面可以根据用户的语言偏好自动调整。
8. **UI布局**:Symbian的用户界面通常基于控件和布局管理器。开发者需要考虑屏幕尺寸和方向,合理安排SettingListItem的位置和大小,以确保界面在不同设备上都能正常显示。
9. **调试与测试**:在开发过程中,开发者需要使用Symbian的模拟器或实际设备进行调试,确保设置界面的正确性和稳定性。此外,还要进行各种用户场景的测试,确保所有设置选项的功能正常。
10. **最佳实践**:遵循Symbian的编程规范和设计原则,例如使用适当的内存管理、避免阻塞UI线程等,可以帮助创建更高效、稳定的应用程序。
"设置示例"(SettingExample)项目是学习Symbian平台上设置界面开发的宝贵资源,通过分析和实践其中的代码,开发者可以掌握如何利用SetingListItem来创建符合用户需求的个性化设置。
AngSi
- 粉丝: 4
- 资源: 5
最新资源
- 基于SSM框架的课堂签到系统设计源码分享
- 力荐!Qt中的C++技术(含源码).7z
- 基于Java技术的成人职业技能教育网络课堂系统设计源码
- 基于Python的AI车牌识别系统、微信小程序助农驿站及图书管理系统设计源码
- 基于PHP的o2o同城系统交通服务模块设计源码
- 永磁同步电机基于滑膜的无速度传感器控制仿真 simulink pmsm+smo
- 基于C#开发的全面功能开源称重软件设计源码
- Golang-alpine 镜像文件
- 基于Java、CSS、JavaScript的三平台通用小说下载器与阅读器设计源码
- 带遗忘因子的递推最小二乘轮胎线性侧偏刚度估计 matlab与simulink联合仿真轮胎侧偏刚度估计,可用于车辆动力学模型建模
- 基于Python语言的多语言支持QQ/频道/OneBot ChatGPT机器人设计源码
- 基于Vue的hao123网页简洁版设计源码
- 基于Vue的海外短剧系统多语言版H5与APP双端设计源码
- 拉丁超立方抽样 分层随机抽样 实现多种概率分布数据的生成 图1、2展示了正态分布的拉丁超立方抽样与简单随机抽样的对比,拉丁超立方抽样生成的数据更加光滑、分布范围更加均匀,可考虑到小概率事件的生成 案例
- 基于C++和C语言的武汉理工大学2020数据结构与算法综合实验设计源码
- 阀测试项目软件,上位机通过Labwindows CVI编写,下位机使用的是倍福PLC,下位机软件通过TwinCAT3编写,上位机和下位机通过ADS通讯,还包括一台S7-200 smart,通过OPC进