MMI软件开发平台简介(SCM)教程分析.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
内容 平台简介 Kenel介绍 开发实例 GUI介绍 Reference MMI介绍 平台简介 Spreadtrum提供了一个完整的MMI开发平台。包括MMI开发配套工具软件包和一套参考的MMI源码。客户可以基于此方便的做二次开发。 平台结构 MMI结构 Kernel MMI Kernel主要提供完善的消息驱动流程和窗口管理机制。为各种上层应用(CC、SMS、WAP、MMS等)提供良好的支持。 Application, Window, Control概念,关系 消息流程介绍 窗口管理 简述MMI开发平台的三个重要概念 Application: 应用,指MMI中的应用模块,例如:SMS模块,CC模块等。一个应用可以包含多个窗口。 Window: 窗口,用于显示和处理送给此窗口的各种消息, 例如:按键消息,TIMER消息等。一个窗口上可以有多个控 件。 Control: 控件,可以完成某种特定功能,例如:编辑功能、 文本显示功能、动画功能等。 Application、Window和Control的关系 Application的概念 MMI中的应用模块,由用户定义。 例:MMI_APPLICATION_T g_cc_app; 注册系统消息(SMS Application, Call Application, Stk Application…) 例: REG_APP(APP_MN_FDN_UPDATE_CNF, APP_MN_DEACTIVATE_PDP_CONTEXT_IND, g_cc_app) 消息处理函数 例:CC_HandlePsMsg 注册消息APPLICATION举例 系统消息由Application处理。如果需要系统消息,Application在初始化时要注册需处理的消息。Kernel只会根据注册的Application来分发。 一个PS消息可以被多个Application注册,Kernel会依次分发消息给各个Application。 我们现在需要注册消息的应用: g_main_app g_cc_app g_sms_app g_mmiphone_app g_stk_app …… Window的概念 Window的重要属性 ID 消息处理函数 窗口中包含的控件列表 当前active的控件 优先级 状态,是否打开,是否获得focus Title Softkey Control的概念 Control:控件,可以完成某种特定功能,例如:编辑功能、文本显示功能、动画功能等。 使用控件可以使开发人员专注于应用的功能开发,而不是过多考虑界面的开发。 可添加新控件,更改现有控件风格 Control的重要属性 ID 类型 父窗口指针 消息处理函数 销毁函数 消息分类 根据消息的接收情况来划分,消息分为两类: 外部消息:主要包括PS消息、key消息、(触摸屏消息、)Timer消息和一些由其它task发送过来的消息; 内部消息:MMI模块内部发送、接收和处理的消息,不与其它模块发生任何关系. 注:在App_Task的消息循环当中,总是处理完内部消息之后再处理外部 消息。 外部消息 外部消息可分为以下几类 系统消息:主要为PS消息和其它一些task发送给mmi的消息,只有App在注册后才能够处理这条消息。一条系统消息可以被多个App注册和处理。 按键消息:直接被发送给处于Focus状态的窗口进行处理。 触摸屏消息:由Kernel决定发送给触笔触及的窗口进行处理。 定时器消息:由于定时器时间到所产生的消息,由定时器的owner窗口进行处理。 内部消息 窗口相关消息,包括MSG_OPEN_WINDOW, MSG_CLOSE_WINDOW, MSG_LOSE_FOCUS, MSG_GET_FOCUS, MSG_FULL_PAINT 控件相关消息,包括MSG_CTL_OPEN,MSG_CTL_CLOSE,MSG_CTL_PAINT… MMI各个模块自己定义的消息 内部消息处理 消息处理流程 消息发送 异步方式,用MMK_PostMsg()函数来实现。 将消息发送到内部消息队列中,马上返回。 同步方式,用MMK_SendMsg()函数来实现。 消息发送给指定窗口或控件,处理完后才会返回。 窗口管理 窗口的Focus 最后打开的窗口获得focus 按键消息由focus窗口处理 窗口Priority 设置窗口优先级的目的是为了保护那些重要的窗口在处于Focus状态下不被打断,比如Call窗口,在Call的过程中不应该出现被SMS或者Alarm窗口打断,否则会影响Call的过程。 我们在这里暂时制

文档评论(0)

美洲行 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档