首页> 中国专利> 基于对象关联的Android嵌入式界面及程序框架的生成系统及生成方法

基于对象关联的Android嵌入式界面及程序框架的生成系统及生成方法

摘要

基于对象关联的Android嵌入式界面及程序框架的生成系统及生成方法,涉及一种Android嵌入式界面及程序框架的生成系统及生成方法。为了解决目前移动终端操作系统上的Android程序的开发不具有在开发界面的同时生成程序框架结构的功能且未提供基本的Android程序框架的问题。本发明通过选取适当的布局对象和控件对象,将其通过拖拽的方式,放置在界面中,生成Layout嵌入式界面文件,对界面中的控件对象进行关联,将关联关系和Layout嵌入式界面文件与程序框架进行映射,建立程序的基本代码框架结构。本发明用于移动终端操作系统上的Android程序的开发。

著录项

  • 公开/公告号CN102866890A

    专利类型发明专利

  • 公开/公告日2013-01-09

    原文格式PDF

  • 申请/专利权人 哈尔滨商业大学;

    申请/专利号CN201210334249.7

  • 发明设计人 胡文;孙文鹤;冯剑;李杨;赵艳丽;

    申请日2012-09-11

  • 分类号G06F9/44;

  • 代理机构哈尔滨市松花江专利商标事务所;

  • 代理人张果瑞

  • 地址 150076 黑龙江省哈尔滨市道里区通达街138号

  • 入库时间 2024-02-19 16:35:27

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-08-28

    未缴年费专利权终止 IPC(主分类):G06F9/44 授权公告日:20150311 终止日期:20170911 申请日:20120911

    专利权的终止

  • 2015-03-11

    授权

    授权

  • 2013-02-20

    实质审查的生效 IPC(主分类):G06F9/44 申请日:20120911

    实质审查的生效

  • 2013-01-09

    公开

    公开

说明书

技术领域

本发明涉及一种Android嵌入式界面及程序框架的生成系统及生成方法,特别涉及一 种基于对象关联的Android嵌入式界面及程序框架的生成系统及生成方法。

背景技术

随着移动互联网及物联网的兴起,尤其是智能手机和MID的普及,针对移动设备的开 发与研究成为热点。在移动终端程序的开发过程中,有很多界面的开发,对于界面的开发 具有许多移动终端程序的界面开发工具。如Microsoft Visual Studio 2005(VS2005)就 提供了可视化的WinCE程序的界面开发功能,开发者可以使用这种拖拽的方法生成来开发 自己的WinCE程序界面和程序框架结构,开发者还可以根据自己的需求对关键的业务代码 进行编写。而对于同为移动终端操作系统上的Android程序的开发,多数开发中使用的 Eclipse等开发工具中只提供了界面设计的功能,并不具有在开发界面的同时生成程序框 架结构的功能,另有某些开发工具只能提供Android界面的设计,对基本的Android程序 框架也并未提供,局限性大,功能过于单一,所以虽然开发者可以利用这些工具开发 Android程序,但对于程序中界面控件引用的依赖关系的维护难度比较大,研发过程中占 用了大量时间,并未实现主流所见即所得的开发方式。并且这种重复的查找引用依赖的过 程,会使得开发工作量增大,降低了开发效率。

发明内容

本发明的目的是为了解决目前移动终端操作系统上的Android程序的开发不具有在 开发界面的同时生成程序框架结构的功能且未提供基本的Android程序框架的问题,本发 明提供一种基于对象关联的Android嵌入式界面及程序框架的生成系统及生成方法。

基于对象关联的Android嵌入式界面及程序框架的生成系统,它包括,

用于拖拽布局对象及控件对象生成Android应用程序运行时的Layout嵌入式界面文 件的装置;

用于在界面窗口中显示Layout嵌入式界面文件中的布局对象及控件对象的信息的 装置;

用于修改布局对象及控件对象的属性的装置;

用于将程序框架代码与Layout嵌入式界面文件进行映射,并在程序框架代码中相应 位置生成事件处理代码的装置;

用于将程序框架代码和控件对象的关联关系进行映射,在程序框架代码的相应位置 生成事件处理代码的装置;

用于将程序框架代码和关联关系进行映射,在程序框架代码的相应位置生成事件处 理代码的装置;

用于在程序框架代码窗口中显示程序框架代码的装置;

用于通过设置对布局对象及控件对象的属性对控件对象的大小和显示内容进行预设 的装置;

用于添加Layout嵌入式界面文件中的控件对象的关联关系的装置;

用于处理Layout嵌入式界面文件中的控件对象所承载的业务数据的赋值和变换的 装置;

用于维护Layout嵌入式界面文件中的控件对象关联对应表信息的装置。

基于对象关联的Android嵌入式界面及程序框架的生成方法,它包括如下步骤:

用于拖拽布局对象及控件对象生成Android应用程序运行时的Layout嵌入式界面文 件的步骤;

用于在界面窗口中显示Layout嵌入式界面文件中的布局对象及控件对象的信息的步 骤;

用于修改布局对象及控件对象的属性的步骤;

用于将程序框架代码与Layout嵌入式界面文件进行映射,并在程序框架代码中相应 位置生成事件处理代码的步骤;

用于将程序框架代码和控件对象的关联关系进行映射,在程序框架代码的相应位置生 成事件处理代码的步骤;

用于将程序框架代码和关联关系进行映射,在程序框架代码的相应位置生成事件处理 代码的步骤;

用于在程序框架代码窗口中显示程序框架代码的步骤;

用于通过设置对布局对象及控件对象的属性对控件对象的大小和显示内容进行预设 的步骤;

用于添加Layout嵌入式界面文件中的控件对象的关联关系的步骤;

用于处理Layout嵌入式界面文件中的控件对象所承载的业务数据的赋值和变换的步 骤;

用于维护Layout嵌入式界面文件中的控件对象关联对应表信息的步骤。

本发明的有益效果为:1、在界面设计与代码设计之间建立了连接关系,增强了界面 与代码的可读性;2、提供了Android应用程序的框架代码结构,对于一般开发者开发较 规范的Android应用程序提供了模板;3、将对象关联思想引入界面及代码生成领域,拓 宽了界面及代码生成的基础思想领域。本发明可以大大减少开发的工作量。本发明可以实 现底层、数据库等模块开发和Android应用程序编译。使用该系统设计和开发Android 程序,可以使这些界面从外观和操作上都保持风格统一。

附图说明

图1为本发明中控件对象关联关系COARTree的生成结构树的示意图。

具体实施方式

具体实施方式一:本实施方式所述的基于对象关联的Android嵌入式界面及程序框 架的生成系统,它包括,

用于拖拽布局对象及控件对象生成Android应用程序运行时的Layout嵌入式界面文 件的装置;

用于在界面窗口中显示Layout嵌入式界面文件中的布局对象及控件对象的信息的装 置;

用于修改布局对象及控件对象的属性的装置;

用于将程序框架代码与Layout嵌入式界面文件进行映射,并在程序框架代码中相应 位置生成事件处理代码的装置;

用于将程序框架代码和控件对象的关联关系进行映射,在程序框架代码的相应位置生 成事件处理代码的装置;

用于将程序框架代码和关联关系进行映射,在程序框架代码的相应位置生成事件处理 代码的装置;

用于在程序框架代码窗口中显示程序框架代码的装置;

用于通过设置对布局对象及控件对象的属性对控件对象的大小和显示内容进行预设 的装置;

用于添加Layout嵌入式界面文件中的控件对象的关联关系的装置;

用于处理Layout嵌入式界面文件中的控件对象所承载的业务数据的赋值和变换的装 置;

用于维护Layout嵌入式界面文件中的控件对象关联对应表信息的装置。

Layout嵌入式界面文件是用于界面显示所编写的界面文件,其格式为XML文件格式, 是本领域技术人员常用的技术手段。

Android应用程序为是指运行在Android操作系统上的应用程序。

具体实施方式二:本实施方式是对具体实施方式一所述的基于对象关联的Android 嵌入式界面及程序框架的生成系统的进一步说明,用于添加Layout嵌入式界面文件中的 控件对象的关联关系的装置,它包括,

从界面控件对象的信息中获取当前操作的控件对象InXZ的装置;

当控件对象关联组输入控件集中不存在InXZ时,在控件对象关联组输入控件集中添 加InXZ的装置;

当控件对象关联组输入控件集中存在InXZ时,从界面控件对象的信息中获取当前操 作的控件对象OutXZ的装置;

当控件对象关联组输出控件集中存在OutXZ,且在控件对象关联对应表中OutXZ存在 关联优先级REpriority时,在控件对象关联对应表中InXZ与OutXZ交汇处修改数值为 REpriority+1的装置;

当控件对象关联组输出控件集中不存OutXZ时,在控件对象关联组输出控件集中添 加OutXZ的装置;

RelationEvent为控件对象关联组集合,RelationEvent={InXZ,OutXZ,REpriority},InXZ为控件对象关联组输入控件集,OutXZ为控件对象关联组输出控件集,InXZ∈Contro, OutXZ∈Contro,其中Contro为所述界面内所有控件对象的集合, REpriority为关联优先级,控件对象关联对应表中的行表示控件对象关联组输入控件,控 件对象关联对应表中的列表示控件对象关联组输出控件,所述行和列的交汇处表示关联优 先级REpriority,z为正整数,参见表1。

具体实施方式三:本实施方式是对具体实施方式一所述的基于对象关联的Android嵌 入式界面及程序框架的生成系统的进一步限定,它还包括,用于根据目标终端的屏幕设置 不同的界面画布面板的装置。

具体实施方式四:本实施方式是对具体实施方式一所述的基于对象关联的Android嵌 入式界面及程序框架的生成系统的进一步说明,所述控件对象包括外围控件、外围部件和 中心控件,所述外围控件包括TextView控件、EditText控件、CheckBox控件、RadioButon 控件和ListView控件,所述外围部件包括I/O控制和数据库,所述中心控件为Buttun发 起业务逻辑动作的控件。

具体实施方式五:本实施方式所述的基于对象关联的Android嵌入式界面及程序框架 的生成方法的进一步说明,它包括如下步骤:

用于拖拽布局对象及控件对象生成Android应用程序运行时的Layout嵌入式界面文 件的步骤;

用于在界面窗口中显示Layout嵌入式界面文件中的布局对象及控件对象的信息的步 骤;

用于修改布局对象及控件对象的属性的步骤;

用于将程序框架代码与Layout嵌入式界面文件进行映射,并在程序框架代码中相应 位置生成事件处理代码的步骤;

用于将程序框架代码和控件对象的关联关系进行映射,在程序框架代码的相应位置生 成事件处理代码的步骤;

用于将程序框架代码和关联关系进行映射,在程序框架代码的相应位置生成事件处理 代码的步骤;

用于在程序框架代码窗口中显示程序框架代码的步骤;

用于通过设置对布局对象及控件对象的属性对控件对象的大小和显示内容进行预设 的步骤;

用于添加Layout嵌入式界面文件中的控件对象的关联关系的步骤;

用于处理Layout嵌入式界面文件中的控件对象所承载的业务数据的赋值和变换的步 骤;

用于维护Layout嵌入式界面文件中的控件对象关联对应表信息的步骤。

具体实施方式六:本实施方式是对具体实施方式五所述的基于对象关联的Android 嵌入式界面及程序框架的生成方法的进一步说明,

用于添加Layout嵌入式界面文件中的控件对象的关联关系的步骤还包括如下步骤:

从界面控件对象的信息中获取当前操作的控件对象InXZ的步骤;

当控件对象关联组输入控件集中不存在InXZ时,在控件对象关联组输入控件集中添 加InXZ的步骤;

当控件对象关联组输入控件集中存在InXZ时,从界面控件对象的信息中获取当前操 作的控件对象OutXZ的步骤;

当控件对象关联组输出控件集中存在OutXZ,且在控件对象关联对应表中OutXZ存在 关联优先级REpriority时,在控件对象关联对应表中InXZ与OutXZ交汇处修改数值为 REpriority+1的步骤;

当控件对象关联组输出控件集中不存OutXZ时,在控件对象关联组输出控件集中添 加OutXZ的步骤;

RelationEvent为控件对象关联组集合,RelationEvent={InXZ,OutXZ,REpriority},InXZ为控件对象关联组输入控件集,OutXZ为控件对象关联组输出控件集,InXZ∈Control, OutXZ∈Control,其中Control为所述界面内所有控件对象的集合, REpriority为关联优先级,控件对象关联对应表中的行表示控件对象关联组的输入控件, 控件对象关联对应表中的列表示控件对象关联组的输出控件,所述行和列的交汇处表示关 联优先级REpriority,z为正整数,参见表1。

表1控件对象关联对应表

上表中行列交汇处为1,则表示该单元格所对应的InX与OutX存在关联关系。

具体实施方式七:本实施方式是对具体实施方式五所述的基于对象关联的Android 嵌入式界面及程序框架的生成方法的进一步说明,它还包括,用于根据目标终端的屏幕设 置不同的界面画布面板的步骤。

具体实施方式八:本实施方式是对具体实施方式五所述的基于对象关联的Android 嵌入式界面及程序框架的生成方法的进一步说明,所述控件对象包括外围控件、外围部件 和中心控件,所述外围控件包括TextView控件、EditText控件、CheckBox控件、RadioButon 控件和ListView控件,所述外围部件包括I/O控制和数据库,所述中心控件为Buttun 发起业务逻辑动作的控件。

布局对象和控件对象的抽象表述:将Android系统的布局对象及控件对象转换成 Windows系统下的布局对象和控件对象,其具备原有属性及方法。

拖拽方法:在Windows系统下,通过拖拽的方法,实现布局对象及控件对象在界面画 板中布局排列,构建用于界面显示的Layout嵌入式界面文件。

所生成事件处理代码可重塑,即如Layout嵌入式界面文件发生改写,则程序框架中 生成的事件处理代码可随之自修改并与之对应。

代码框架可供开发者修改,开发者所进行的修改可以包括增加、删除代码,这些代码 完成的主要是业务功能。事件处理代码,是Android应用程序运行阶段时业务流程处理过 程中方式和顺序的控制单元。

布局对象是界面显示各种控件对象显示位置等的参照对象,可以通过设置各种属性信 息对控件对象的大小、显示内容等进行预设,也可以对其属性信息进行修改,适应程序运 行过程中业务流程的需求,系统可以根据需求定制布局对象及空间对象的对象类型。

控件对象关联对应表是控件间关联关系的存储结构,是关联关系向代码映射的参照 单元。

本发明中事件代码生成是通过借鉴对象关联关系OAR(Object Association  Relationship)思想,提出控件对象关联关系COAR(Control Object Association  Relationship),构建控件对象关联关系树COARTree,其结构如图1,并以COARTree为基 础,生成Android事件处理代码。其定义如下:

控件对象关联关系树COARTree为二元组结构树,其节点结构为 {CenterControl,Relation},其中CenterControl为中心控件集合, CenterControl={cc1,cc2,cc3,…},ccz代表中心控件元素,Relation为关联关系信息 集合,Relation={r1,r2,r3,…},rz代表关联组信息,z取任意正整数。

COARTree虽然做为根节点并不具有与其它子节点的相同结构,只是标识作用。其为树 型结构,遍历其结构可生成基于COAR的事件处理程序。

Relation为关联组信息集合,Relation可以表示为Relation={Event,RelationEvent} 的二元组,其中Event为关联事件集合,Event={e1,e2,e3,…},RelationEvent为关联 控件对集合,ex为关联事件集合中的关联事件,RelationEvent的生成基于关联生成算法, RelationEvent有两种表示方式,这两种表示方式既各自独立又相互关联,可以交叉引用, 分别后面定义中给出。

Control为外围控件集合,Control中元素具有原子特性,不可在分;B为外围部件 集合,B中元素不具有原子特性,可再分;Control∪CenterControl=UIC,

为防止在关联过程中产生不可控的关联对应关系引入关联优先级REpriority。

关联优先级REpriority,优先级系数越小表示优先级越高。

将外围控件分为两类,分别为InControl和OutControl,外围控件包括TextView、 EditText、CheckBox、RadioButon和ListView;再将外围部件分为两类,分别为InB和 OutB,外围部件包括I/O控制和数据库。

RelationEvent为控件对象关联组集合,RelationEvent={InXx,OutXX,REpriority}, InXz为控件对象关联组输入控件集,OutXz为控件对象关联组输出控件集,InXz∈Contro, OutXz∈Contro,其中Contro为所述界面内所有控件对象的集合, REpriority为关联优先级;

在COAR的关联过程中,不只是控件可以作为关联对象,这里将I/O和数据库相关结 构成为部件,作为类控件提出,由此控件和部件对象之间的关联分为三类:①控件与控件 关联;②部件与部件关联;③控件与部件关联。具体的关联类型与关联事件共同作用,生 成COAR中的关联对应关系。

控件对象对应关系是指从控件关联的某一方出发,与其关联的控件对象的对应集合。 通过REpriority可直接反映当前控件上的关联数量,REpriority只作用于Out端,并不 对In端起作用。

如果RelationEvent中,如果存在In==Out,则Out组优先于In;

关联事件函数FRA:RelationEvent×AttributeCollection—>Relation;

定核心关联函数FCR:Control:Control×Relation—>COARTree。

上述函数为本领域技术人员常用函数。

使用外围控件及部件关联生成算法建立外围输入输出控件及部件的对应表。

外围控件组和中心控件组是控件的两个组成部分,中心控件组是指Buttun等可以发 起业务逻辑动作的控件,这种组件是代码执行的核心控制部分,影响具体业务逻辑的执行 顺序和方法的具体调用。通过的外围控件对象关联对应表和中心控件组,可以得到控件对 象关联关系树COARTree,在程序框架映射阶段使用COARTree,完成界面布局Layout和代 码框架映射的任务。对于I\O控制的对象关联部分与其它控件对象的处理方式大致相同, 但I\O控制对象是以挂载的方式嵌入到程序中。至此,基于对象关联的程序框架代码生成 完毕。开发者可以利用已生成的代码框架结构继续编程,这里的变成是指两个方面,第一 方面是开发者自定义的类或方法的编程,另一方面是开发者在现有框架内编写基于事件处 理的业务流程代码,完成数据的处理。

本发明采用的实现技术是在Windows操作系统下,使用javaSwing技术,对Android 应用程序界面元素进行模仿,实现拖拽过程中对Android应用程序界面的开发。利用JNI 调用Android底层驱动程序的过程,及其具体的调用顺序和方式,确定调用链结构中关键 组成,提出Windows下AndroidJNI直接开发方式,实现Windows操作系统下Android驱 动程序调用开发,达到了Windows下开发Android应用程序调用I\O控制的目的,其I\O 控制对象是以挂在的方式在程序中存在,开发者可在程序中直接调用以提供的标准方法实 现对I\O控制对象的输入输出控制。实现了只依赖JDK以及AndroidSDK对于Android应 用程序的编译,对其进行具有安全性的数字签名,生成.apk文件的Android应用程序安 装程序。

上文所提及的程序框架及对映射后的可编译程序指的是Android应用程序的编写拼 装过程中,不同阶段的程序组成,在未进行界面设计及控件事件注入时,目标程序的内容 就是基本程序框架结构,反之,则是可以进行编译的Android应用程序代码结构。这其中 最重要的界面设计后的程序代码拼装部分,Android程序是使用java语言作为其开发语 言,那么每一个.java文件要按照java编程的结构进行,将对代码结构进行分解,主要 是package、import和class的分解,而在其中又包括变量的声明,方法的定义等。将 Android分为的内特性空间和外特性空间,其提供的外特性API将作为程序设计阶段的核 心调用,而内特性空间将为基于本发明开发的Android应用程序提供运行环境。

基于对象关联的Android嵌入式界面及程序框架的生成系统及生成方法,其中开发者 选取适当的布局和控件,将其通过拖拽的方式,放置在界面画布中,这是一种所见即所得 的开发方式;控件关联是指对界面画布中的已有控件进行关联,这种操作可将不同控件对 象之间建立起关联关系,系统将利用这些关联关系结合界面设计阶段的Layout嵌入式界 面文件与程序框架进行映射,建立程序的基本代码框架结构;事件响应注入是指开发者利 用该系统进行Android程序设计时,事件响应代码可随关联过程进行注入,注入的结构是 程序代码框架的一部分,而注入后的代码框架符合程序设计语言的编译要求。业务代码编 写是开发者在已生成的代码框架中加入业务代码,这些业务代码是程序运行时所具备的功 能,如本地存储、控制I\O等操作,业务代码编写的目标是在程序运行阶段使其能够实现 Android程序设计初衷,不同的业务代码在编写完成后将使程序完成应用目的;编译生成 安装文件是开发者的一个操作,在使用该系统进行开发时,开发者可以选择根据修改编译 或编写后统一编译,根据修改编译是指在开发者进行代码修改后,系统自动编译并对无法 通过编译的语句等代码段进行高亮,而编写后统一编译则是指开发者对所有代码修改完成 后的一种编译程序的行为,第一种编译方式比较符合编译器的设计初衷,提供了辅助代码 设计的功能,开发者可以根据高亮提示及时进行错误修正,第二种编译方式是为熟练语言 或熟练该系统的开发者提供的可选方式,使用时开发者可以根据自身情况进行选择。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号