一种生成界面代码和电视机应用软件的方法技术

技术编号:8105548 阅读:172 留言:0更新日期:2012-12-21 04:04
本发明专利技术涉及一种生成界面代码和电视机应用软件的方法,代码生成器引用并解析具有设定格式的界面配置文件,根据父界面关键字判断是否存在父界面parent域;如存在,则读取该parent域所指界面配置文件,并按照界面配置信息的内容生成界面代码;根据子界面chilewindow域生成相应的窗口界面代码,并将该窗口作为子界面chilewindow域中其他界面元素的父窗口,递归生成其它子窗口的界面代码;解析chilewindow域中所包含的其他界面元素,并生成相应的界面代码。本发明专利技术针对电视机软件项目当前的特点,通过XML配置自动生成界面代码,减少了电视软件项目开发代码编写的工作量。

【技术实现步骤摘要】

本专利技术涉及电视机中的嵌入式软件,尤其涉及,具体地说,本专利技术涉及一种通过XML配置生成界面代码和电视机应用软件的方法
技术介绍
如今电视机的应用越来越广泛,电视机的功能也越来越强大了,在电视机中运行的应用软件,属于嵌入式软件的一种,作用就是为电视用户提供除传统的电视功能外的其他更为丰富的功能,如上网、游戏、卡拉OK等等。这种电视机应用软件的运行平台就是在电视机中。 电视机要提供的功能点在增多,如康佳网锐,每一代都会有新功能推出市场,像第一代的播放、在线点播,第二代的百事通、在线卡拉0K、在线教育等等,软件越来越复杂。随着电视机软件项目的逐步发展,电视机软件项目的规模越来越大,复杂度也越来越大;在电视软件项目逐步扩大的同时,也带来了开发和维护上更多的工作量。
技术实现思路
本专利技术的主要目的在于公开,减少电视软件开发和维护的工作量。本专利技术公开了一种生成界面代码的方法,代码生成器引用并解析由可扩展标记语言XML编写的具有设定格式的界面配置文件,直接生成界面代码文件。本专利技术公开的生成界面代码的方法,所述代码生成器的工作进一步包括如下步骤 A,根据父界面关键字判断是否存在父界面parent域;如存在,则读取该parent域所指界面配置文件,并按照界面配置信息的内容生成界面代码;递归执行所有父界面; B,根据子界面chilewindow域生成相应的窗口界面代码,并将该窗口作为子界面chiIewindow域中其他界面元素的父窗口,递归生成其它子窗口的界面代码; C,解析chilewindow域中所包含的其他界面元素,并生成相应的界面代码。在本专利技术的另一个实施例中,在所述步骤A之前,首先判断代码文件filename域中所指代码文件是否存在;不存在,则创建;存在,则将原文件内容删除掉。在本专利技术的另一个实施例中,在所述步骤A之前,然后再将描述部分description域中内容以注释方式写入所述代码文件filename域中所指文件的顶部。本专利技术还公开了一种生成电视机应用软件的方法,包括 步骤一,代码生成器引用并解析具有设定格式的界面配置文件,直接生成界面代码; 步骤二,然后将界面代码和业务代码一起进行编译生成最终的目标代码。本专利技术的生成电视机应用软件的方法,在所述步骤二中,还将按键处理代码与界面代码和业务代码一起进行编译生成最终的目标代码。本专利技术公开的,针对电视机软件项目当前的特点,通过XML配置文件自动生成界面代码,减少了电视软件项目开发代码编写的工作量,减少了代码的冗余度,也减少了代码的维护成本,规范了代码格式。附图说明图I为本专利技术的生成界面代码的方法的实施例的流程图。图2为本专利技术的生成电视机应用软件的实施例的流程图。具体实施例方式下面结合附图和具体实施方式对本专利技术作进一步详细说明。XML (Extensible Markup Language)即可扩展标记语言,是 SGML (StandardGeneralized Markup Language,标准通用标记语言)的一种。可扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式 建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。本方法针对电视软件项目当前的特点,通过XML配置自动生成界面代码,以便在电视软件项目开发的过程中,减少代码编写的工作量,减少代码的冗余度,减少代码的维护成本,规范代码格式。本方法通过一个代码生成器,读取界面的配置信息文件,直接生成界面代码,然后将界面代码和业务代码一起进行编译生成最终的目标代码。所谓界面的配置信息文件,就是一个按照XML规范,遵守定义的格式的XML文件。代码生成器在解析界面配置文件时,代码生成器就和特定的硬件相关联,能够直接生成和机器相关的机器码。按照软件设计的原则,将处理界面的代码和处理业务逻辑部分的代码分离开来;此处的业务代码,即为处理业务逻辑部分的代码。下面是本专利技术的一个实施例。 I、界面配置信息文件节选〈description author = 〃xxxx〃 email = 〃xxxx〃 I” ” desc = /> <filename>xxxx. c</filename> //需要生成的代码文件名 <parent>xxx. xml</parent> //此界面基于的父界面配置文件 <ui> Il界面配置域//子窗口可多层嵌套<chilewidnow title=,,xxxx,,x=0 y=0 width=1280 height=720Bgcolor=〃#ff000080 > //引用的控件配置文件〈widget filename=xxx. xml x=0 y=0 width=100 height=30Eventproc= > </widget></chilewindow)</ui> 如上的实施例说明,在界面配置文件中,先定义作者、文件名称和项目描述;然后定义生成的代码文件名称filename ;再然后逐个描述父界面及其子界面的配置规格和相应的控件配置文件。在Ui之间的内容就是配置内容。上述控件配置文件是和界面配置文件相类似的文件,主要用于某些标准化的界面元素。例子如下〈filename〉demo. c</filename><ui><chilewidnow title=,,demo” x=0 y=0 width=1280 height=720Bgcolor=〃#ff000000>〈label x=0 y=0 width=200 height=40 fontname=〃simhei. ttf〃 fontsize=〃18〃 fgcolor=//#ffffffff//>Hello, World!〈label〉</chilewindow)</ui> 上述是一个界面配置文件的实施例,只有一个子界面,界面尺寸长为720像素,宽为1280像素。在界面坐标为(0,0)(长为40像素宽为200像素)的位置显示“Hello, World ! ”生成的界面代码文件Demo, c文件内容如下Cffindow *pffin = Createffindow();pffin->setSize(O, O, 1280,720);pffin->setBackgroundColor(Oxff, 0x00, 0x00, 0x00);pffin->setText( “demo”);CLabel 氺pLabel = CreateLabel(pffin);pLabel->setSize(0, 0, 200, 40);pLabel_>setFontName(〃simhei. ttf〃);pLabel->setFontSize(18);pLabel->setTextColor(Oxff, Oxff, Oxff, Oxff);pLabel->setText ( “Hello, World!,,); 子界面基于父界本文档来自技高网...

【技术保护点】
一种生成界面代码的方法,其特征在于,代码生成器引用并解析由可扩展标记语言XML编写的具有设定格式的界面配置文件,直接生成界面代码文件。

【技术特征摘要】
1.一种生成界面代码的方法,其特征在于,代码生成器引用并解析由可扩展标记语言XML编写的具有设定格式的界面配置文件,直接生成界面代码文件。2.如权利要求I所述的生成界面代码的方法,其特征在于,所述代码生成器的工作进一步包括如下步骤 A.根据父界面关键字判断是否存在父界面parent域;如存在,则读取该parent域所指界面配置文件,并按照界面配置信息的内容生成界面代码;递归执行所有父界面; B.根据子界面chilewindow域生成相应的窗口界面代码,并将该窗口作为子界面chiIewindow域中其他界面元素的父窗口,递归生成其它子窗口的界面代码; C.解析chilewindow域中所包含的其他界面元素,并生成相应的界面代码。3.如权利要求2所述的生成界面代码的方法,其特征在于,在所述步骤A之前,首先判断代码文件filename域中所指代码文件是否存在;不存在,则创建;存在,则将原文件内容删除掉。4.如权利要求2所述的生成界面代码的方法,其特征在于,在所述步骤A之前,然后再将描述部分description域中内容以注释方式写入所述代码文件filename域中所指文件的顶部。5.一种生成电视机应用软件的方法,其特征在于,包括步骤一,代码生成器引用并解析具有设定格式的界面配置文件,直接...

【专利技术属性】
技术研发人员:郭欣阳
申请(专利权)人:康佳集团股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1