欢迎来到天天文库
浏览记录
ID:40354528
大小:665.53 KB
页数:13页
时间:2019-07-31
《APP SW Principle & Design》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、310SWAPPPrinciple&DesigniHome/SP-AE9HHAPP概述¢通过底层api调用控制系统行为;响应或读取底层数据将其显示在OSD上;£通过底层api调用控制系统行为——业务逻辑;£响应或读取底层数据将其显示在OSD上——UI显示;¢传统APP设计方法£处理业务逻辑£处理每一个UI如何显示,包括颜色、背景、透明与否等£业务代码与UI处理代码混在一起¢改进:将重点放在业务逻辑处理、弱化UI显示事务(将UI显示与业务逻辑代码分离、封装API统一处理UI显示、提供UI风格设定等)¢理想状态:UI与业务逻辑代码完全分离、UI采用面向对象(object-oriented
2、)的设计思想并能使用可见即可得(VisualDesign)的PC工具辅助设计310SW310SWAPP设计原理(principle)¢组件:一组显示相关的元素的集合(静态数据)包括:背景、颜色、透明与否、如何显示等易出现问题:组件相互重叠后显示背景错乱¢Screen:管理当前需要做显示的组件的容器。Screen叠加显示易出现问题:底层Screen不再刷新。时间怎么不更新?¢UI_Task:组件相关的Event处理及对应的业务逻辑代码、当前Screen内的组件的实际显示过程。思考的问题:组件操作API到底哪一个先起作用?是如何防止因为频繁调用组件API导致的闪烁?会有需要中断UI_Ta
3、sk的执行顺序吗?(UI_RedrawScreenNow)UI界面设计流程¢材质:图片、颜色、文字、字库、LayoutCharacterTableApp_str.hImageFileMsgXlsFileMsgXlsFileGraphDat_tool.hGraphDatBuilderOSDDeveloperGlyphOSDDeveloperGraphDat.hApp_str.hXXX_CBF.hLayout_XXX.hGraphDat_Tool.hCallisto+sourcetreeCallisto+sourcetreeCompiler.elf.bin.tsPS:产出的橘色文件会被加
4、入Sourcetree。UI界面设计流程PCTool:GraphdatBuilder、OSDDeveloper£图片、颜色处理流程(颜色取自色盘):£注意:为兼容8bit、16bit、32bitOSD在显示颜色上的一致性而做的特别处理——16bit、32bit需要8bit图的色盘做颜色索引。£文字处理流程:注意:对应关系,否则会产生编译错误或语言对应错位;排序除重复串、注意MSG_NULL位置。£Layout_xxx.h文件的得出:注意:graphdat_tool.h。¢熟悉UIEPub.h中的API,组件相关的API调用,处理UI的显示注意:相似API但不在UIEPub.h中,调用
5、会出问题。典型的UI_SetFocusedObject位于UIEPrv.h。¢字串处理:Unicode字串的连接、其他格式字串到Unicode字串的转换(特别是源自WbWeb的字串)Unicode字串处理API位于Stbuni.h特别注意STB_ReleaseUnicodeString、UI_CalcStringWidth。思考问题:u8串、unicode串、其他格式字符串(源自Web)。310SW310SWAPP架构分层设计:ASC_XXX.CScreen页面AUIXXX_.C通用的复合一起的组件APP_XXX.C纯业务功能,通常实现对MID层调用、控制,响应MID层Event事务
6、¢界面切换、都调用了哪些例程?这个时候当机如何追踪?Leave、CleanUp、Return、Init¢在某个页面下操作发生UI_Task当掉,如何追踪?¢Event是如何传递?怎么样去截获,使其不往下传?常见问题:收不到某个Event,被其他错误截获¢UI_Task不能被block,所以在app中不能出现或不能调用block的函数(典型例子:MMiPod索引文件生成)多线程、异步Event通知机制。重要的APPXXXAPP_XXX功能¢app_ctrla.控制tuner锁定b.控制Decoderc.控制SId.控制AVOutpute.控制IFrame与LivePanel的切换其中a
7、,b两项组合成节目播放的控制;a,b,c三项组合成节目搜索的控制。注意:在app_ctrl中对tuner、Decoder的控制形成了一个状态机,在调用MID层tuner、DdDecoder相关控制api时一定要小心;特别是针对操作完毕后又要回来做节目播放的,禁止此类操作。进入和退出MM、PVR已经有充分考量;OTA是否有相关考量,需要注意。¢app_cfg需要保存的系统信息,会根据客户的需求而有定制。因为要存入flash,请考虑字节对齐问题。¢app_di
此文档下载收益归作者所有