CN102830957A - 一种生成界面代码和电视机应用软件的方法 - Google Patents
一种生成界面代码和电视机应用软件的方法 Download PDFInfo
- Publication number
- CN102830957A CN102830957A CN2011101601755A CN201110160175A CN102830957A CN 102830957 A CN102830957 A CN 102830957A CN 2011101601755 A CN2011101601755 A CN 2011101601755A CN 201110160175 A CN201110160175 A CN 201110160175A CN 102830957 A CN102830957 A CN 102830957A
- Authority
- CN
- China
- Prior art keywords
- interface
- code
- territory
- file
- parent
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明涉及一种生成界面代码和电视机应用软件的方法,代码生成器引用并解析具有设定格式的界面配置文件,根据父界面关键字判断是否存在父界面parent域;如存在,则读取该parent域所指界面配置文件,并按照界面配置信息的内容生成界面代码;根据子界面chilewindow域生成相应的窗口界面代码,并将该窗口作为子界面chilewindow域中其他界面元素的父窗口,递归生成其它子窗口的界面代码;解析chilewindow域中所包含的其他界面元素,并生成相应的界面代码。本发明针对电视机软件项目当前的特点,通过XML配置自动生成界面代码,减少了电视软件项目开发代码编写的工作量。
Description
技术领域
本发明涉及电视机中的嵌入式软件,尤其涉及一种生成界面代码和电视机应用软件的方法,具体地说,本发明涉及一种通过XML配置生成界面代码和电视机应用软件的方法。
背景技术
如今电视机的应用越来越广泛,电视机的功能也越来越强大了,在电视机中运行的应用软件,属于嵌入式软件的一种,作用就是为电视用户提供除传统的电视功能外的其他更为丰富的功能,如上网、游戏、卡拉OK等等。这种电视机应用软件的运行平台就是在电视机中。
电视机要提供的功能点在增多,如康佳网锐,每一代都会有新功能推出市场,像第一代的播放、在线点播,第二代的百事通、在线卡拉OK、在线教育等等,软件越来越复杂。随着电视机软件项目的逐步发展,电视机软件项目的规模越来越大,复杂度也越来越大;在电视软件项目逐步扩大的同时,也带来了开发和维护上更多的工作量。
发明内容
本发明的主要目的在于公开一种生成界面代码和电视机应用软件的方法,减少电视软件开发和维护的工作量。
本发明公开了一种生成界面代码的方法,代码生成器引用并解析由可扩展标记语言XML编写的具有设定格式的界面配置文件,直接生成界面代码文件。
本发明公开的生成界面代码的方法,所述代码生成器的工作进一步包括如下步骤:
A, 根据父界面关键字判断是否存在父界面parent域;如存在,则读取该parent域所指界面配置文件,并按照界面配置信息的内容生成界面代码;递归执行所有父界面;
B, 根据子界面chilewindow域生成相应的窗口界面代码,并将该窗口作为子界面chilewindow域中其他界面元素的父窗口,递归生成其它子窗口的界面代码;
C, 解析chilewindow域中所包含的其他界面元素,并生成相应的界面代码。
在本发明的另一个实施例中,在所述步骤A之前,首先判断代码文件filename域中所指代码文件是否存在;不存在,则创建;存在,则将原文件内容删除掉。
在本发明的另一个实施例中,在所述步骤A之前,然后再将描述部分description域中内容以注释方式写入所述代码文件filename域中所指文件的顶部。
本发明还公开了一种生成电视机应用软件的方法,包括:
步骤一,代码生成器引用并解析具有设定格式的界面配置文件,直接生成界面代码;
步骤二,然后将界面代码和业务代码一起进行编译生成最终的目标代码。
本发明的生成电视机应用软件的方法,在所述步骤二中,还将按键处理代码与界面代码和业务代码一起进行编译生成最终的目标代码。
本发明公开的一种生成界面代码和电视机应用软件的方法,针对电视机软件项目当前的特点,通过XML配置文件自动生成界面代码,减少了电视软件项目开发代码编写的工作量,减少了代码的冗余度,也减少了代码的维护成本,规范了代码格式。
附图说明
图1为本发明的生成界面代码的方法的实施例的流程图。
图2为本发明的生成电视机应用软件的实施例的流程图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步详细说明。
XML(Extensible Markup Language)即可扩展标记语言,是SGML(Standard Generalized Markup Language,标准通用标记语言)的一种。可扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据,而这些标记可以用方便的方式建立,虽然XML占用的空间比二进制数据要占用更多的空间,但XML极其简单易于掌握和使用。
本方法针对电视软件项目当前的特点,通过XML配置自动生成界面代码,以便在电视软件项目开发的过程中,减少代码编写的工作量,减少代码的冗余度,减少代码的维护成本,规范代码格式。
本方法通过一个代码生成器,读取界面的配置信息文件,直接生成界面代码,然后将界面代码和业务代码一起进行编译生成最终的目标代码。所谓界面的配置信息文件,就是一个按照XML规范,遵守定义的格式的XML文件。
代码生成器在解析界面配置文件时,代码生成器就和特定的硬件相关联,能够直接生成和机器相关的机器码。
按照软件设计的原则,将处理界面的代码和处理业务逻辑部分的代码分离开来;此处的业务代码,即为处理业务逻辑部分的代码。
下面是本发明的一个实施例。
1、界面配置信息文件节选
<description
author = "xxxx"
email = "xxxx"
desc = ""
/>
<filename>xxxx.c</filename> // 需要生成的代码文件名
<parent>xxx.xml</parent> // 此界面基于的父界面配置文件
<ui> // 界面配置域
// 子窗口可多层嵌套
<chilewidnow title=”xxxx” x=0 y=0 width=1280 height=720
Bgcolor="#ff000080" >
//引用的控件配置文件
<widget filename=xxx.xml x=0 y=0 width=100 height=30
Eventproc= > </widget>
</chilewindow>
</ui>
如上的实施例说明,在界面配置文件中,先定义作者、文件名称和项目描述;然后定义生成的代码文件名称filename;再然后逐个描述父界面及其子界面的配置规格和相应的控件配置文件。在ui之间的内容就是配置内容。
上述控件配置文件是和界面配置文件相类似的文件,主要用于某些标准化的界面元素。
例子如下:
<filename>demo.c</filename>
<ui>
<chilewidnow title=”demo” x=0 y=0 width=1280 height=720
Bgcolor="#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文件内容如下:
CWindow *pWin = CreateWindow();
pWin->setSize(0,0,1280,720);
pWin->setBackgroundColor(0xff,0x00,0x00,0x00);
pWin->setText(“demo”);
CLabel *pLabel = CreateLabel(pWin);
pLabel->setSize(0,0,200,40);
pLabel->setFontName("simhei.ttf");
pLabel->setFontSize(18);
pLabel->setTextColor(0xff,0xff,0xff,0xff);
pLabel->setText(“Hello,World!”);
子界面基于父界面,是软件中的一种逻辑关系。
2、代码生成器处理逻辑,如图1所示,是本发明的生成界面代码的方法的一个实施例的流程图,包括如下步骤:
判断<filename>域中所指代码文件是否存在;不存在,则创建;存在,则将原文件内容删除掉;
将<description>域中内容以注释方式写入<filename>域中所指文件顶部;
根据关键字parent判断是否存在<parent>域;如存在,则读取<parent>域所指文件,并忽略此文件中<filename>域,解释父界面的界面配置信息文件中内容;
注:因为父界面可能还有父界面,一直到最根部,所以此处是一个递归过程;
解析<ui>域;<ui>域是界面配置的主要区域;根据<chilewindow>域生成窗口代码,此域可递归,并将此窗口作为<chilewindow>域中其他界面元素的父窗口;
解析<chilewindow>域中所包含的其他界面元素;
本发明的可运行的应用程序采用界面配置信息文件,通过代码生成器生成界面配置文件,并生成编程语言或者机器语言描述的代码,再进行编译器编译,最终发布,可以减少在运行时进行代码分析带来的时间开销,提高程序运行速度,提高用户体验度。
最终生成的代码可直接进行编译,我们所需要做的工作就是为生成的代码添加按键处理及业务处理代码即可。减少了软件工程师的工作量。
如图2所示是本发明的生成电视机应用软件的方法的一个实施例的流程图,包括:首先,代码生成器根据界面配置文件生成界面代码,然后界面代码和业务代码一起经过编译生成目标代码。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种生成界面代码的方法,其特征在于,代码生成器引用并解析由可扩展标记语言XML编写的具有设定格式的界面配置文件,直接生成界面代码文件。
2.如权利要求1所述的生成界面代码的方法,其特征在于,所述代码生成器的工作进一步包括如下步骤:
A.根据父界面关键字判断是否存在父界面parent域;如存在,则读取该parent域所指界面配置文件,并按照界面配置信息的内容生成界面代码;递归执行所有父界面;
B.根据子界面chilewindow域生成相应的窗口界面代码,并将该窗口作为子界面chilewindow域中其他界面元素的父窗口,递归生成其它子窗口的界面代码;
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域中所指文件的顶部。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101601755A CN102830957A (zh) | 2011-06-15 | 2011-06-15 | 一种生成界面代码和电视机应用软件的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011101601755A CN102830957A (zh) | 2011-06-15 | 2011-06-15 | 一种生成界面代码和电视机应用软件的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102830957A true CN102830957A (zh) | 2012-12-19 |
Family
ID=47334109
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011101601755A Pending CN102830957A (zh) | 2011-06-15 | 2011-06-15 | 一种生成界面代码和电视机应用软件的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102830957A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104331286A (zh) * | 2014-10-30 | 2015-02-04 | 北京思特奇信息技术股份有限公司 | 一种利用浏览器进行应用开发的方法及系统 |
CN104915201A (zh) * | 2015-05-29 | 2015-09-16 | 北京奇艺世纪科技有限公司 | 一种界面生成方法和装置 |
CN105404512A (zh) * | 2015-11-25 | 2016-03-16 | 飞天诚信科技股份有限公司 | 一种应用程序窗口界面更改方法及装置 |
CN108228805A (zh) * | 2017-12-29 | 2018-06-29 | 北京安云世纪科技有限公司 | 一种用于对显示数据进行处理的方法、设备及移动终端 |
CN110659027A (zh) * | 2019-09-20 | 2020-01-07 | 京东方科技集团股份有限公司 | 一种代码生成方法、装置及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020085020A1 (en) * | 2000-09-14 | 2002-07-04 | Carroll Thomas J. | XML-based graphical user interface application development toolkit |
US6476828B1 (en) * | 1999-05-28 | 2002-11-05 | International Business Machines Corporation | Systems, methods and computer program products for building and displaying dynamic graphical user interfaces |
CN101334728A (zh) * | 2008-07-28 | 2008-12-31 | 北京航空航天大学 | 一种基于xml文档描述的界面生成方法和平台 |
CN101980155A (zh) * | 2010-11-04 | 2011-02-23 | 青岛海信电器股份有限公司 | 电视机用户界面的实现方法和系统、电视机 |
-
2011
- 2011-06-15 CN CN2011101601755A patent/CN102830957A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6476828B1 (en) * | 1999-05-28 | 2002-11-05 | International Business Machines Corporation | Systems, methods and computer program products for building and displaying dynamic graphical user interfaces |
US20020085020A1 (en) * | 2000-09-14 | 2002-07-04 | Carroll Thomas J. | XML-based graphical user interface application development toolkit |
CN101334728A (zh) * | 2008-07-28 | 2008-12-31 | 北京航空航天大学 | 一种基于xml文档描述的界面生成方法和平台 |
CN101980155A (zh) * | 2010-11-04 | 2011-02-23 | 青岛海信电器股份有限公司 | 电视机用户界面的实现方法和系统、电视机 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104331286A (zh) * | 2014-10-30 | 2015-02-04 | 北京思特奇信息技术股份有限公司 | 一种利用浏览器进行应用开发的方法及系统 |
CN104331286B (zh) * | 2014-10-30 | 2017-12-12 | 北京思特奇信息技术股份有限公司 | 一种利用浏览器进行应用开发的方法及系统 |
CN104915201A (zh) * | 2015-05-29 | 2015-09-16 | 北京奇艺世纪科技有限公司 | 一种界面生成方法和装置 |
CN105404512A (zh) * | 2015-11-25 | 2016-03-16 | 飞天诚信科技股份有限公司 | 一种应用程序窗口界面更改方法及装置 |
CN105404512B (zh) * | 2015-11-25 | 2019-05-10 | 飞天诚信科技股份有限公司 | 一种应用程序窗口界面更改方法及装置 |
CN108228805A (zh) * | 2017-12-29 | 2018-06-29 | 北京安云世纪科技有限公司 | 一种用于对显示数据进行处理的方法、设备及移动终端 |
CN108228805B (zh) * | 2017-12-29 | 2021-04-06 | 北京安云世纪科技有限公司 | 一种用于对显示数据进行处理的方法、设备及移动终端 |
CN110659027A (zh) * | 2019-09-20 | 2020-01-07 | 京东方科技集团股份有限公司 | 一种代码生成方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101098718B1 (ko) | 재사용 가능한 코드 세그먼트들을 생성 및 재사용하는 컴퓨터화된 방법 및 컴퓨터 구현 시스템, 및 컴퓨터 판독 가능 저장 매체 | |
Krahn et al. | Monticore: Modular development of textual domain specific languages | |
Jirapanthong et al. | Xtraque: traceability for product line systems | |
CA2641941C (en) | Legacy software modernization system | |
Boduch | React and react native | |
US20050283758A1 (en) | Bi-directional programming system/method for program development | |
Olsen et al. | Scenarios of traceability in model to text transformations | |
CN109408354B (zh) | 应用组件的数据处理方法和装置 | |
JP6479184B2 (ja) | コンピュータ実行可能なモデルリバースエンジニアリング方法及び装置 | |
CN102830957A (zh) | 一种生成界面代码和电视机应用软件的方法 | |
CN103620586A (zh) | 将源代码链接到运行元素 | |
CN102521008B (zh) | 程序编译装置和程序编译方法 | |
CN101727385A (zh) | 用于处理用户接口信息变化的方法和系统 | |
Nosál et al. | Language composition using source code annotations | |
Nwokeji et al. | Towards a comprehensive meta-model for kaos | |
CN110460461B (zh) | Yang模式语言到命令行的映射方法及系统 | |
Juričić | Detecting source code similarity using low-level languages | |
MXPA03004411A (es) | Sistema y metodo para definir y utilizar subclases declarativamente por marcas. | |
Chadwick | Programming Razor: Tools for Templates in ASP. NET MVC or WebMatrix | |
Franky et al. | Improving implementation of code generators: A regular-expression approach | |
Schauerhuber et al. | Bridging WebML to model-driven engineering: from document type definitions to meta object facility | |
CN101986303A (zh) | 应用dom解析引擎的数字电视hsml解析方法及系统 | |
Djukić et al. | Handling complex representations in visual modeling tools for MDSD/DSM by means of code generator languages | |
Vitzthum | SSIML/AR: A visual language for the abstract specification of augmented reality user interfaces | |
Beaudoux et al. | Using Model Driven Engineering technologies for building authoring applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20121219 |