第7天 Symbian学习之开发实践:视图及按键交互
来源:互联网 发布:高阶矩阵 编辑:程序博客网 时间:2024/05/17 03:35
Symbian学习笔记
学习目标: 掌握基本的Symbian视图应用程序框架与程序交互方法学习内容: 视图应用程序框架,程序交互
练习: 做一个简单的程序,能在屏幕上显示出对应按键的值。
一、视图应用程序框架
视图应用程序框架包括:
应用程序类:用于定义应用程序的属性,还用于生成新的空白文档。定义UID;
文档类:标识应用程序的数据模型,创建应用程序用户接口app ui。
应用程序UI类:它创建一个应用程序视图,来处理绘图和处理基于屏幕的交互。
应用程序视图类:在屏幕上绘制应用程序的界面内容,允许用户与之交互。
二、程序交互
应用程序UI类是处理事件的接口,
CControlsTestAppUi::HandleKeyEventL(const TKeyEvent& aKeyEvent,TEventCode /*aType*/)
处理后返回EKeyWasConsumed否则返回EKeyWasNotConsumed;告知事件已经是否已经处理。比如下面的代码:
{
...{
TBuf16<10> buf;
TInt i = aKeyEvent.iScanCode;//获取键值
buf.AppendFormat(_L("KeyCode=%d"),i);
iEikonEnv->InfoMsg(buf);//提示信息
iAppContainer->SetLabelText(buf);//更新视图Label内容
iAppContainer->DrawNow();//立即重新绘制视图
return EKeyWasConsumed;
}
return EKeyWasNotConsumed;
return EKeyWasNotConsumed;
CControlsTestAppUi::HandleCommandL(TInt aCommand)处理按钮事件
控件上的事件由视图类里处理事件的接口来处理,不过首先需要控件设置对应的事件观察器MCoeControlObserver。
这里就是试图类CControlsTestView::HandleControlEventL(CCoeControl* aControl,TCoeEvent aEventType)
三、上次遗留问题
大文件读写问题:在使用10字节的缓冲时,读取1M的文件,尽管代码简洁,但是处理速度很慢,使用了将近10秒的时间。在扩大缓存至3k(申请4k栈空间失败)时,每次读取3k字节,这样处理速度不到1毫秒。由此可以得出结论:文件读写很费时间,可以设置一个比较大的缓冲来读写,减少文件操作的次数,提高文件处理速度。此外,栈空间比较小,申请较大的栈空间可能会出现unresolved external symbol __chkstk错误。
四、总结
1、熟悉视图结构。
2、熟悉图形界面操作流程,按键指针事件的传递及处理。
- 第7天 Symbian学习之开发实践:视图及按键交互
- 第8天 Symbian学习之开发实践:简单控件和复合控件的使用
- 第4天 Symbian学习之开发基础
- 第6天 Symbian学习之开发基础:文件
- 第5天 Symbian学习之开发基础:活动对像的机制
- Symbian学习--按键事件
- Symbian多视图程序开发及视图管理
- Symbian学习笔记 13 之 多视图
- symbian 多视图开发
- 安卓开发学习之020 自定义视图的用户交互事件
- 【Cocos2d-X开发学习笔记】第23期:事件处理机制之按键事件
- Symbian开发学习笔记之二
- Symbian开发学习笔记之二
- IOS开发学习笔记(六)——多视图应用程序之StoryBoard实践
- 学习敏捷开发及实践
- symbian学习第一天
- Symbian开发——模拟键盘按键
- Linux内核学习实践之GPIO面板按键
- Spring Framework 2.5 Reference中文翻译计划(phaseI)
- 求asp.net(C#)发送与接受程序
- DataGrid的ItemDataBound事件
- 汽车4S店管理中DMS系统都有哪些功能点?
- C变参的实现
- 第7天 Symbian学习之开发实践:视图及按键交互
- hello,blog!
- Motorola U9 User Feedback
- 依赖注入初探
- asp.net DataSet添加新数据
- oracle 锁管理
- IA32 embedded developing board installation and configuration
- Intel的又一座金矿:Atom处理器成本最低6美元
- 基于C#做的DES加解密软件-密码保险箱