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

文档序号:6426312阅读:249来源:国知局
专利名称:一种生成界面代码和电视机应用软件的方法
技术领域
本发明涉及电视机中的嵌入式软件,尤其涉及一种生成界面代码和电视机应用软件的方法,具体地说,本发明涉及一种通过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!,,);
子界面基于父界面,是软件中的一种逻辑关系。2、代码生成器处理逻辑,如图I所示,是本发明的生成界面代码的方法的一个实施例的流程图,包括如下步骤
判断〈filename〉域中所指代码文件是否存在;不存在,则创建;存在,则将原文件内容删除掉;
将〈description〉域中内容以注释方式写入〈filename〉域中所指文件顶部;
根据关键字parent判断是否存在〈parent〉域;如存在,则读取〈parent〉域所指文件,并忽略此文件中〈filename〉域,解释父界面的界面配置信息文件中内容;注因为父界面可能还有父界面,一直到最根部,所以此处是一个递归过程;
解析<ui>域;〈ui>域是界面配置的主要区域;根据〈chilewindow〉域生成窗口代码,此域可递归,并将此窗口作为〈chilewindow〉域中其他界面元素的父窗口 ;
解析〈chilewindow〉域中所包含的其他界面元素;
本发明的可运行的应用程序采用界面配置信息文件,通过代码生成器生成界面配置文件,并生成编程语言或者机器语言描述的代码,再进行编译器编译,最终发布,可以减少在运行时进行代码分析带来的时间开销,提高程序运行速度,提高用户体验度。最终生成的代码可直接进行编译,我们所需要做的工作就是为生成的代码添加按键处理及业务处理代码即可。减少了软件工程师的工作量。如图2所示是本发明的生成电视机应用软件的方法的一个实施例的流程图,包括首先,代码生成器根据界面配置文件生成界面代码,然后界面代码和业务代码一起经过编译生成目标代码。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种生成界面代码的方法,其特征在于,代码生成器引用并解析由可扩展标记语言XML编写的具有设定格式的界面配置文件,直接生成界面代码文件。
2.如权利要求I所述的生成界面代码的方法,其特征在于,所述代码生成器的工作进一步包括如下步骤 A.根据父界面关键字判断是否存在父界面parent域;如存在,则读取该parent域所指界面配置文件,并按照界面配置信息的内容生成界面代码;递归执行所有父界面; B.根据子界面chilewindow域生成相应的窗口界面代码,并将该窗口作为子界面chiIewindow域中其他界面元素的父窗口,递归生成其它子窗口的界面代码; C.解析chilewindow域中所包含的其他界面元素,并生成相应的界面代码。
3.如权利要求2所述的生成界面代码的方法,其特征在于,在所述步骤A之前,首先判断代码文件filename域中所指代码文件是否存在;不存在,则创建;存在,则将原文件内容删除掉。
4.如权利要求2所述的生成界面代码的方法,其特征在于,在所述步骤A之前,然后再将描述部分description域中内容以注释方式写入所述代码文件filename域中所指文件的顶部。
5.一种生成电视机应用软件的方法,其特征在于,包括步骤一,代码生成器引用并解析具有设定格式的界面配置文件,直接生成界面代码;步骤二,然后将界面代码和业务代码一起进行编译生成最终的目标代码。
6.如权利要求5所述的生成电视机应用软件的方法,其特征在于,在所述步骤二中,还将按键处理代码与界面代码和业务代码一起进行编译生成最终的目标代码。
7.如权利要求5所述的生成电视机应用软件的方法,其特征在于,所述步骤一进一步包括如下步骤 1-1.根据父界面关键字判断是否存在父界面parent域;如存在,则读取该parent域所指界面配置文件,并按照界面配置信息的内容生成界面代码;递归执行所有父界面; 1-2.根据子界面chilewindow域生成相应的窗口界面代码,并将该窗口作为子界面chilewindow域中其他界面元素的父窗口,递归生成其它子窗口的界面代码; 1-3.解析chilewindow域中所包含的其他界面元素,并生成相应的界面代码。
8.如权利要求7所述的生成电视机应用软件的方法,其特征在于,在所述步骤1-1之前,首先判断代码文件filename域中所指代码文件是否存在;不存在,则创建;存在,则将原文件内容删除掉。
9.如权利要求8所述的生成电视机应用软件的方法,其特征在于,在所述步骤1-1之前,然后再将描述部分description域中内容以注释方式写入所述代码文件filename域中所指文件的顶部。
全文摘要
本发明涉及一种生成界面代码和电视机应用软件的方法,代码生成器引用并解析具有设定格式的界面配置文件,根据父界面关键字判断是否存在父界面parent域;如存在,则读取该parent域所指界面配置文件,并按照界面配置信息的内容生成界面代码;根据子界面chilewindow域生成相应的窗口界面代码,并将该窗口作为子界面chilewindow域中其他界面元素的父窗口,递归生成其它子窗口的界面代码;解析chilewindow域中所包含的其他界面元素,并生成相应的界面代码。本发明针对电视机软件项目当前的特点,通过XML配置自动生成界面代码,减少了电视软件项目开发代码编写的工作量。
文档编号G06F9/44GK102830957SQ20111016017
公开日2012年12月19日 申请日期2011年6月15日 优先权日2011年6月15日
发明者郭欣阳 申请人:康佳集团股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1