


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于模板的BREW应用可视化界面设计及代码生成
摘要:本文提出了一种基于模板技术的BREW应用程序可视化用户界面设计以及代码自动生成的方法,从而改变了手工编写BREW应用的现状。本系统为提供一个可视化的图形界面设计工具,开发人员可以进行所见即所得的界面设计,同时根据用户的设计生成XML文件,接下来利用该XML文件及BREW程序框架模板自动生成应用代码。可视化的界面设计及自动代码生成提高BREW应用的开发效率。
关键词:模板;自动代码生成;可视化
1引言
随着时代的发展,手机用户群体越来越大,人们对手机应用软件的需求也随之增大。2008年我国电信行业重组、以及3G牌照的发放,标志这3G时代的到来。手机应用程序的开发面临着更为巨大的市场。快速变化的市场要求开发人员能够快速开发出丰富多彩的应用程序。以往BREW应用程序的开发仍然处于手工编写的状态。当开发人员开发应用的界面部分时,需要在编辑环境中将代码写好,经过编译链接后在模拟器中执行以观察界面实际效果,如若不满意,需要再回来修改源代码,如此反复,效率非常低下。
可视化的开发环境在目前已经较为普遍,但在BREW应用开发中还属空白。本文提出一个可视化用户界面设计及基于模板的代码自动生成的方法。在可视化的图形用户界面设计环境中,开发人员可以为自己的应用程序设定一个图形手机屏幕进行界面设计。我们将BREW中主要界面接口进行封装,以界面元素控件的形式提供给用户。用户可以通过鼠标拖拽将各种图形界面元素控件添加到手机屏幕的相应位置,通过调整达到理想的效果,同时在该环境中对个控件的相关属性进行设置,完成“所见即所得”的界面设计。
在完成可视化的、所见即所得的界面设计后,系统根据用户设计的结果生成一个XML文件。该XML文件记录的用户所设计界面的各种参数。接下来根据XML文件及BREW应用程序模板文件自动生成BREW应用框架代码。用户即开发人员可以在生成的代码上进行进一步的完善,得到最优的代码。
2系统总体设计
本系统包括一个可视化的用户界面设计工具和一个代码自动生成引擎。如图1所示。
BREW应用的代码有其自身特点,其代码的自动生成是由代码自动生成引擎根据BREW应用程序框架模板文件和用于描述界面信息的XML文件进行的。其中BREW应用程序框架模板文件是事先根据BREW应用代码的特点设计而成的XML文件;用户通过使用一个可视化的用户界面设计工具对用户界面进行设计,该工具包括各种界面控件,用户通过鼠标拖拽对界面布局进行设计并对空间属性进行设置。该图形设计工具最终生成一个XML文件,该文件描述了用户界面的各种信息。
代码自动生成引擎根据XML文件的信息在BREW应用程序框架模板文件中搜索相应的标签,并根据界面控件的属性在模板文件中添加相应代码,从而生成BREW程序。
3BREW应用的可视化界面设计及代码自动生成
3.1图形界面控件的封装及可视化设计环境
目前BREW应用的用户界面设计仍然是手工编写代码的方式,编程人员需要多次运行修改才能达到满意的效果,效率十分低。
本文开发一个包含有界面设计环境及多种图形界面控件的可视化界面设计工具。利用该工具,开发人员可以为自己的应用程序创建一个图形手机屏幕,并可以通过鼠标拖拽将各种图形界面元素添加到手机屏幕的相应位置,进行“所见即所得”的界面设计。
该工具实现的关键是将BREW中相关接口进行抽象并封装为图形界面元素控件。例如将BREW中的IImage接口封装为图片控件,将ITextCtl控件封装为文本框控件等等。当用户将该控件拖拽到屏幕区域并进行调整时,需要记录下该控件对应接口的各种表象属性参数,如x、y坐标,宽、高等。此外,对于控件对应接口的其他属性需要用户进行设置。
本系统中的可视化界面设计工具可以使人们从从繁琐的界面设计编码工作中解脱出来,从而将主要精力放在应用程序业务逻辑的设计与实现上,从而提高了开发效率。
3.2用户界面XML文件
可视化界面设计工具根据用户的设计要生成一个XML文件,该文件记录了程序界面的各种设计信息,是自动代码生成中数据来源之一,代码自动生成引擎根据该文件及程序模板生成最终代码。在这里,用户界面信息是以XML文件的格式保存用户在向导中输入的信息。之所以采用XML文件的格式保存用户输入的信息,是由XML文件的特点决定的。XML是被设计用来存储数据、携带数据和交换数据,并且XML可以从多种类型的数据存储方式中分离数据。
XML数据定义文件中的标签名为待替换的参数,也是模板文件中的特殊的标签,标签值为用户输入的信息,用于代替模板中的待替换的参数。
在本文中,用户界面XML中定义了每一种界面元素的名称、类型、所属窗口、尺寸、坐标等等信息。例如:3.4BREW应用代码自动生成引擎
代码自动生成引擎用于解析XML定义文件和读取指定的模板文件,并将定义文件中解析得来的数据信息,在引擎中进行保存,然后对模板文档中的标记及变量进行匹配及替换,从而产生源代码输出。根据上面的流程将引擎的设计分成三个步骤:
●解析XML数据文件,读取其中相关的信息;
●解析模板文件,找到要添加代码的位置并添加代码;
●根据需要,对已替换的模板进行总体的调整。
例如引擎对用户界面XML文件分析得知在窗口上设计了一个图片,引擎将在程序模板的结构体初始化部分生成图片实例指针的定义:
IImage*pIImage_pic1;
在初始化函数中生成图片接口示例代码:
pMe->pIImage_pic1=ISHELL_LoadImage(pMe->pIshell,“/pic/test1.jpg”);
在事件处理函数的EVT_APP_START事件中生成加载图片的代码:
IIMAGE_Draw(pMe->pIImage_pic1,picX,picY);
在终了函数中生成释放图片实例的代码:
if(pMe->pIImage_pic1!=NULL)
{
IIMAGE_Release(pMe->pIImage_pic1);
pMe->pIImage_pic1=NULL;
}
4结束语
本文提出了一种基于XML模板的BREW代码自动生成技术。在本系统中,通过对BREW接口的封装,为BRE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 温州理工学院《居住建筑设计原理》2023-2024学年第二学期期末试卷
- 贵州城市职业学院《化工原理实验一》2023-2024学年第二学期期末试卷
- 南京工业职业技术大学《儿重发育保健护理》2023-2024学年第二学期期末试卷
- 河南质量工程职业学院《数字媒体后期制作》2023-2024学年第二学期期末试卷
- 山东现代学院《宝石合成与优化》2023-2024学年第二学期期末试卷
- 河南应用技术职业学院《建筑风格史》2023-2024学年第二学期期末试卷
- 四川音乐学院《ED器件与应用技术》2023-2024学年第二学期期末试卷
- 聊城大学《幼儿心理学》2023-2024学年第二学期期末试卷
- 黑龙江能源职业学院《有限元分析及应用》2023-2024学年第二学期期末试卷
- 2024-2025学年江西省“三新”协同教研体高三上学期12月份联考历史试卷
- 安徽省历年中考语文现代文阅读之非连续性文本阅读6篇(截至2024年)
- 《典型的光器件AWG》课件
- 出血热知识培训课件
- 广东省汕头市潮南区2024-2025学年高一上学期期末教学质量监测英语试卷(无答案)
- 2024年度工业自动化设备维护保养及上门维修合同3篇
- 2025年公司总经理年终总结工作报告
- 安徽省“江淮十校”2024届高考化学一模试卷含解析
- 图书外借服务计划
- 软考系统集成项目管理工程师教程完整版
- 统编版八年级语文上册第六单元作业设计
- 危险性较大的分部分项工程清单和安全管理措施范文
评论
0/150
提交评论