| 网站首页 | 范文 | 演讲致词 | 汇报体会 | 总结报告 | 公文方案 | 领导讲话 | 党建工会 | 论文 | 文档 | 书信 | 
您现在的位置: 范文大全网 >> 论文 >> 计算机论文 >> 正文 用户登录 新用户注册
基于BREW平台的多态机制实现           
基于BREW平台的多态机制实现
主页面,则执行主页面对应的事件处理程序
return mainmenuwnd_handleevent(&pme->mainmenu, ecode, wparam, dwparam);
……
default:break ;
}
该种方案的特点是较为利于理解,但是使用时容易出错,不宜调试。


3.2 类多态的brew页面迁移方案
经过上述分析可以看出,手机中的页面迁移问题与c++中实现的多态效果十分相似,也就是完成一个窗体接口类的实现, 该接口类能完成绘制屏幕和接收客户键盘输入的功能,对于客户的相同输入, 不同的窗体结构应该能体现出不同的行为。如果可以利用c语言这种非面向对象的语言写出面向对象的程序,将有利于提高程序的重用性、模块化功能以及健壮性。
brew平台中的宏qinterface,get_pvtbl,declare_vtbl可以用来完成这种效果。其本质就是在基类的层次上定义一个“空函数集”,通过该空函数集实现一个抽象的,虚拟的,通用的接口层,可以在运行时根据对象的实际类型动态地调用派生类的那些“具体”函数,简言之,就是同一个接口函数,根据具体的对象,调用具体的函数。
使用时首先通过qinterface定义了一个包含vtbl(虚函数表)的接口,在运行时,根据具体传入的对象类型调用了具体派生接口的“具体”函数。如:#define iwindow_enable(p)get_pvtbl(p, iwindow)->enable(p, true)这里p是iwindow指针类型。用户调用iwindow_enable(p)时,虽然此时传入的是iwindow类型指针,但是其实质是派生的具体接口类型,所以最终调用到的就是属于它(派生具体接口)的具体接口函数了。

以下代码用于完成一个满足上述要求的页面迁移过程。
typedef struct _iwindowiwindow;
qinterface(iwindow)
{

void (*enable)(iwindow * po, boolean benable);
void (*redraw)(iwindow * po);
boolean(*handleevent)(iwindow * po, aeeevent ecode, uint16 wparam, uint32 dwparam);
……
};
#define iwindow_enable(p) get_pvtbl(p, iwindow)->enable(p, true)

#define iwindow_redraw(p) get_pvtbl(p, iwindow)->redraw(p)
#define iwindow_handleevent(p, e, w, dw) get_pvtbl(p, iwindow)->handleevent(p, e, w, dw)
……
#define inherit_cwindow(iname)
declare_vtbl(iname)
ishell * m_pishell;
idisplay * m_pidisplay;
struct cwindow
{
inherit_cwindow(iwindow);
};
具体实现的功能如图1所示:
上述代码实现了一个结构体cwindow,其中包含三个成员,一个是指向函数表结构体类型的指针vtiwindow,另两个是普通成员指针。要通过指针vtiwindow访问函数的话,则只需要创建对应接口的函数表的实例,把接口实例的对应的函数表保存起来,然后用修改过的函数表结构体替换到接口之中,当调用对应的接口函数的时候, 就具有了特殊定义的行为。
通过上述工作,已经得到了一个窗体的基接口类,在其基础上可以派生自己的接口类来构造不同的窗体。并在派生接口类窗体中增加自己的数据成员,也可以增加接口行为,这样,就可以构造出负责各种功能的窗体来满足移动应用的需要。如图2所示。


4 结束语
文中针对手机开发的具体问题提出相应的解决方案,该方案均是在brew手机实际开发中总结出来的。这些方法和框架代码具有很大的可重用性,很好的解决了在brew手机开发中频繁出现的页面迁移问题,有一定现实意义。

参考文献
[1]唐际宇,杨永田,王骥.brew平台内部接口机制的探讨[j].航空电子技术, 2006(3).

上一页  [1] [2] 

  • 上一个论文:

  • 下一个论文:


  • 看了《基于BREW平台的多态机制实现》的网友还看了:
    [电子机械]浅析基于可靠性工程的电子信息装备质量管理研究
    [免费范文]基于“服务为王”理念的微博湿营销模式构建
    [免费范文]基于虚拟现实技术的多维信息空间探析
    [免费范文]基于SEO技术提高网站访问量的策略研究
    [免费范文]基于ASP.NET的企业进销存管理信息系统的设计与实
    [免费范文]基于禁忌搜索方法的集装箱配载问题研究
    [免费范文]基于条码技术的库存管理系统设计分析
    [免费范文]基于RRAS与虚拟专用网技术在Windows中的实现
    [企业管理]基于会计主体的企业合并抵销处理
    [交通运输]浅谈基于创新能力培养的路基路面工程课程教学方法

    计算机论文
    普通论文EXCEL宏计算在大批量ELI
    普通论文浅谈校园网ARP欺骗及攻击和安
    普通论文CAD/CAM/CAE国内软件
    普通论文浅析计算机技术在HIS中的应用
    普通论文脉冲功率装置能源计算机控制技术
    普通论文试论网络会计存在的词题及主要对
    普通论文浅谈多媒体信息处理技术教改中的
    普通论文数值分析与实验
    普通论文基于Web Service的统
    普通论文我国公益性信息机构信息资源开发
    普通论文实时性远程答疑系统
    普通论文将网络广告模式用于手机媒体广告
    论文
    普通论文[免费范文]*县外商中秋茶话会上的讲
    普通论文[简历文档]初中毕业生升学体育考试
    普通论文[免费范文]科龙企业文化塑造
    普通论文[今日更新]工业设计之探讨
    普通论文[企业管理]新形势下大学生就业能力
    普通论文[免费范文]培训经理的“无间道”
    普通论文[免费范文]市场监管案件移送问题分
    普通论文[免费范文]加强农村基层党组织执政
    范文大全
    普通范文[范文大全]村委主任创业带头人先进
    普通范文[调查报告]大学生旅游现状的调查报
    普通范文[范文大全]派出所行风评议整改措施
    普通范文[零八零六]工商系统先进集体典型材
    普通范文[范文大全]护士节演讲稿——天使只
    普通范文[范文大全]轨道交通经理部副经理先
    普通范文[范文大全]最新2011
    普通范文[调查报告]如何应对金融危机的调研
    演讲致词
    普通演讲[节日演讲稿范文]在XX县第四期青年干部培训
    普通演讲[主持词]“城中村”改造文艺晚会主
    普通演讲[竞聘演讲稿]移动分公司市场部经理竞聘
    普通演讲[会议发言稿]纪念“三八”国际劳动妇女
    普通演讲[婚丧致辞]闹洞房
    普通演讲[生日祝福范文]给父亲的生日祝福语
    工作范文
    普通总结[调研报告]浅谈人大代表如何在依法治
    普通总结[年终总结]2008年度县信用联社工作总
    普通公文方案[公文写作]切实实现好广大劳动人民的
    普通总结[工作总结]信息技术教学工作总结
    普通公文方案[公文写作]中国企业什么时候才能有“
    普通公文方案[公文写作]XX白下区在国内率先进行社
    普通汇报体会[心得体会]“三八”妇女节心得体会
    普通总结[工作总结]×公司2007工作总结
    普通汇报体会[经验材料]经济发展局推荐材料
    普通党建工会[入团申请书]入团申请书范文600字范文
    普通总结[个人总结]大学生个人总结
    普通总结[述职报告]电脑教学述职报告