[发明专利]一种移动端应用界面表单动态生成方法及装置有效
申请号: | 201610708008.2 | 申请日: | 2016-08-23 |
公开(公告)号: | CN106371825B | 公开(公告)日: | 2019-08-13 |
发明(设计)人: | 吴杰;刘奕夫;贺路远;官磊;麦家杰;黄俊韬;朱伟奇;王恩钊 | 申请(专利权)人: | 武大吉奥信息技术有限公司 |
主分类号: | G06F8/38 | 分类号: | G06F8/38 |
代理公司: | 北京天奇智新知识产权代理有限公司 11340 | 代理人: | 李振文 |
地址: | 430223 湖北省武汉*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明涉及一种表单生成方法及装置,属于信息处理领域,尤其是涉及一种移动端应用界面表单动态生成方法及装置。包括:表单结构配置步骤,用于建立并维护一个表单结构配置文件,所述表单结构配置文件用于描述表单的行列关系;表单控件配置步骤,用于建立并维护一个表单控件配置文件,所述表单控件配置文件用于描述表单控件的类型和属性;控件结构关联步骤,用于根据控件标识将表单结构配置文件定义的表单的单元格和表单控件配置文件中定义的控件相关联。该方法及装置能够降低开发和维护强度,不仅能提供丰富的扩展能力,还能提供丰富的数据初始化和获取方法。 | ||
搜索关键词: | 一种 移动 应用 界面 表单 动态 生成 方法 装置 | ||
【主权项】:
1.一种移动端应用界面表单动态生成方法,其特征在于,包括:表单结构配置步骤,用于建立并维护一个表单结构配置文件,所述表单结构配置文件用于描述表单的行列关系;表单控件配置步骤,用于建立并维护一个表单控件配置文件,所述表单控件配置文件用于描述表单控件的类型和属性;控件结构关联步骤,用于根据控件标识将表单结构配置文件定义的表单的单元格和表单控件配置文件中定义的控件相关联,包括:向动态表单生成器传入配置文件链接;调用生成表单方法,从接口中获取表单View;按照实际需求将表单View放在合适的地方;调用具体的方法获取表单各控件的值;其中,开发人员在开发一个表单的时候,要完成两个配置文件的编辑,一个是表单结构配置文件,另外一个是表单控件配置文件;表单结构配置文件中,可以描述表单的行列关系,以实现不同的表单布局需求,表单控件配置文件中,可以描述表单控件的类型和属性,其中,结构和控件之间以控件的Key值相关联,即结构配置文件描述了表单的行列关系,用户在结构配置文件中描述表单每一行的内容,指明每一个表单格子里面的控件的Key值是什么,而控件配置文件就是描述Key值所对应的控件是什么,各属性值是多少;表单的生成依赖很多接口方法,有内容获取器接口、内容解析器接口、控件绑定器接口,在动态表单生成器中,提供默认实现的一套接口方法,用户通过Buidler模式自由传入自定义的接口实例,以扩展动态表单生成器的功能;动态表单生成器会解析这些配置文件,然后生成一个表单,在接口获得这个表单以后,将它放到屏幕界面上,修改好的配置文件是存放在服务器文件夹中的,APP运行的时候下载这些配置文件,按照配置文件的内容生成表单,当表单放生改变时,下载最新的配置文件即可;除了生成表单以外,动态表单生成器还提供数据初始化和数据获取方法,通过一个方法的调用就能获得表单里面所有控件的值,在后续的表单的开发工作,只要利用两个配置文件就可以完成表单的开发,关于控件绑定,控件数据获取和控件初始化工作都由动态表单生成器完成;其中,动态表单生成器由以下几个部分组成:(1)DynamicList类:通过Builder模式设置属性和实例化,提供各种表单操作方法;(2)结构配置文件内容获取器接口IStructureContentGetter和解析器接口IStructureContentAnalyzer;(3)控件项配置文件内容获取器接口IListItemContentGetter和解析器接口IListItemContentAnalyzer;(4)控件项关联绑定器接口IItemObserverConnecter:通过观察者模式绑定控件项间的关联关系,并暴露关联响应接口方法;(5)控件项与表单结构绑定器接口IItemBonder:通过Key字段将控件项绑定到表单结构中;(6)控件项接口IListItem与控件项抽象类AbstractListItem:所有控件项都继承自这个抽象类;其中,DynamicList类需要通过Builder创建实例,用户通过Builder设置DynamicList对象中的各个接口实例,如果不设置任何接口实例,那么DynamicList对象就会使用默认的接口实例,在UML类图中,所有Common前缀的接口实例都是默认的接口实例;getDynamicListView():调用后返回表单View对象,至于表单View要放在界面上的什么地方,用户自行决定,在这个方法中,程序会利用接口方法完成配置文件解析、控件项绑定、关联绑定、组背景渲染工作;setAllValue(MapallData):设置表单中的控件值,通过Key值关联用户通过表单生成器生成了一个案件信息表单,表单里面的所有控件的值都为空,如果用户想将某个案件的详细属性显示在这个表单中,那么只要把allData哈希表填充好,通过setAllValue方法传入表单,生成器就会根据allData的Key值绑定对应控件项的值;getAllXML():获取表单中所有控件项的值的XML结构表,调用这个方法就可以格式化表单中所有控件项的数据,得到XML表字符串,然后用户保存这份表单数据;StructureObject对象:structureObject对象保存了表单结构对象集和控件项对象集,用户利用这些对象集访问某个表单结构项或控件项;其中,IStructureContentGetter接口包括以下方法:getStructureContent(StringstructureFileLink):根据配置文件的链接返回文件内容字符串;getLinkStringType(StringstructureFileLink):根据配置文件的链接判断链接的类型,返回四个枚举值之一:LinkStringType_PATH本地路径、LinkStringType_URL网络路径、LinkStringType_XML结构数据、LinkStringType_ERROR辨识错误;程序根据链接的类型执行不同的内容获取操作,本地路径类型则打开本地文件并读取数据、网络路径类型则访问网络文件并下载其内容;用户自行实现这个接口,自定义配置文件内容获取或类型判断的逻辑;其中,IListItemContentGetter接口包括以下方法:IStructureContentGetter是获取结构配置文件内容,IListItemContentGetter是获取控件项配置文件内容,拥有的方法相同,执行逻辑也相同;其中,IStructureContentAnalyzer接口包括以下方法:getStructureObject(StructureObjectstructureObject,LinearLayoutdynamicListView,StringstructureFileContent):将结构配置文件内容解析成结构对象集,并保存到StructureObject对象中,StructureObject是DynamicList类的属性,用户利用StructureObject对象访问某个表单结构项或控件项;用户自行实现这个接口,自行定义配置内容解析和对象集生成的逻辑;其中,IListItemContentAnalyzer接口包括以下方法:getListItemObject(DynamicListdynamicList,StructureObjectstructureObject,StringlistItemFileContent,MapallValueMap):将控件项配置文件内容解析成控件项对象集,并保存到StructureObject对象中,同时,传入allValueMap哈希表,根据Key值绑定控件项的值;用户自行实现这个接口,自行定义配置内容解析和对象集生成以及数值绑定的逻辑;其中,IItemObserverConnenter接口包括以下方法:setItemObserverConnect(DynamicListdynamicList,StructureObjectstructureObject):从structureObject对象中访问控件项对象集,通过观察者模式绑定具备关联逻辑的控件项;用户自行实现这个接口,自行定义控件项关联绑定逻辑;其中,IItemBonder接口包括:各种get方法:在控制项配置文件中,每个控制项都具备一个“<Type>”标签,这个标签决定这个控件项又哪种自定义控件实现,”<Tpye>Text</Type>”则为一个文本控件项,”<Tpye>CheckBox</Type>”则为一个多选框控件项,所有类型的控件项都实现IListItem接口,并且每一种类型的控件项都有一个默认的实现,文本控件项的默认实现为CommonTextItem,多选框控件项的默认实现为CommonCheckBoxItem,IItemBonder接口中的各个Get方法,就是返回对应类型的默认控件项实例,getTextItem方法将返回CommonTextItem实例,getCheckBoxItem方法返回CommonCheckBoxItem实例;当默认的控件项样式或功能不能满足用户需求时,用户自行实现IListItem接口实现自定义控件项,并重写IItemBonder接口中自定义控件项对应类型的Get方法。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武大吉奥信息技术有限公司,未经武大吉奥信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610708008.2/,转载请声明来源钻瓜专利网。