本发明专利技术提供一种安卓应用程序动态表单的实现方法,包括:步骤1.终端应用程序接收服务端发送的xml格式字符串;步骤2.终端应用程序根据与服务端约定的xml格式协议解析接收到的字符串;步骤3.终端应用程序依据解析结果,使用通过java代码动态创建界面的方式创建表单界面。通过本发明专利技术提供的一种安卓应用程序动态表单的实现方法,可以使用安卓界面常规开发方式在安卓应用程序中实现由服务端控制的动态表单效果。
【技术实现步骤摘要】
本专利技术涉及安卓(android)应用程序开发领域,尤其是涉及一种安卓应用程序界面的动态变化效果的实现技术。
技术介绍
安卓应用程序在一些场景下需要展示受服务端控制的动态表单。这种受服务端控制的动态表单在字段名、字段位置、字段值、字段数量上都是不确定的。因此,这种动态表单无法使用通常android应用程序用来编写界面的android xml标签方式来事先确定表单结构。同样也不能使用由java代码绘制界面的方式来在接收到服务端的描述信息之前确定表单结构。对于这种动态表单的实现,目前有一种做法是使用webView解析html页面的技术方案。即在手机终端android应用程序的界面中嵌入webView控件,以此来解析由服务端发送过来的符合html格式,并包含要显示表单的字符串。表单的内容及样式完全由服务端通过发送过来的html格式的字符串控制。这种html格式的字符串经webView解析后的的显示样式是经过对手机的适配的,符合手机的屏幕尺寸特点。但此种方案在界面交互性的实现上相当不便。如需要在表单页面打开一个新的android页面,需要在要显示的html文件中注册事件方法,然后在终端应用程序中实现这个方法。这样,每一个事件方法的添加就要牵扯到服务端和终端两方面。而在执行效率方面,这种方法的效率也要低于android中的事件方法。在需要传递的数据量方面,html中需要大量的数据用来描述表单的样式。这些基本雷同重复的样式却在每次更新表单时都需要从服务端传递过来,耗费较多的网络流量。另外,因为页面的内容显示使用的是html标签,从而在界面的展示风格上要和通常的android界面的样式保持一致会相对使用android常规技术较为困难。因此,需要提出一种可以较容易的实现界面的交互性,可以回归到android界面的常规开发技术路线上来从而避免后续开发中的不可预知的困难,同时需要通过网络传输的数据量又较小的方案。
技术实现思路
本专利技术的目的在于提供,通过该方法可以使用安卓界面常规开发方式在安卓应用程序中实现由服务端控制的动态表单效果。为解决以上技术问题,本专利技术提供,包括:步骤1、终端应用程序接收服务端发送的xml格式字符串;步骤2、终端应用程序根据与服务端约定的xml格式协议解析接收到的字符串;步骤3、终端应用程序依据解析结果,使用通过java代码动态创建界面的方式创建表单界面。进一步地,步骤I中,xml格式字符串由服务端遵照xml格式表单描述协议及需要产生的表单信息生成。进一步地,所述xml格式表单描述协议约定xml格式文档中用以描述表单结构的信息:表单结构、标签名、标签属性、嵌套关系。进一步地,步骤2中,终端应用程序依照约定的xml格式协议解析接收到的字符串,得到以下表格的信息:字段名、字段值、字段位置。进一步地,步骤3中,终端应用程序根据解析得到表格的信息,使用java代码生成表单界面以及为界面组件添加各类事件方法。进一步地,步骤3中,使用java代码动态生成表单界面的方式至少包括以下一种:方式1:纯java编码创建界面的方式;方式2:从android xml布局文件装载元素组件并由java代码装配成一个完整界面的方式。进一步地,步骤3中,生成界面的时机至少包括以下一种:a、和解析过程混合进行,解析完成时界面绘制工作也立即完成;b、在解析过程中生成界面描述对象,解析完成后再根据解析过程输出的界面描述对象来绘制界面。与现有技术相比,本专利技术提供一种可以使用android界面常规实现方式来实现动态表单的方法。经过解析xml格式的字符串,使技术实现回归到android应用程序通常的界面开发方式上来。如此,就可以使用所有android开发中使用的常规、成熟的技术来解决诸如交互性、界面风格不一致等问题以及开发中后续会遇到的需求,使技术路线走上宽阔的常规道路,继而带来降低开发风险,提高成功率等一系列好处。并且相对于前述方案,本方案具有网络传输数据量小、终端对于表单的样式具有最终控制权等优点。【附图说明】此处所说明的附图用来提供对本专利技术的进一步理解,构成本专利技术的一部分,本专利技术的示意性实施例及其说明用于解释本专利技术,并不构成对本专利技术的不当限定。在附图中:图1是本专利技术中服务端向终端发送xml格式字符串的示意图。图2是本专利技术提供的的流程图。【具体实施方式】为了使本专利技术所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。如图1所示,本专利技术提供一种可以使用android界面常规实现方式来实现动态表单的方法。服务端遵照xml格式表单描述协议产生具体的用以描述表格的xml格式的字符串,并发给终端;终端接收服务端发送过来的xml格式字符串,依照约定的xml格式表单描述协议解析此字符串,得到表格的字段名、字段值、字段位置等信息,然后依据这些得到的信息,使用android中通过java代码动态创建界面的方式来创建表单界面。如图2所示,本专利技术提供,包括:步骤1、终端应用程序接收服务端发送的xml格式字符串;其中,xml格式字符串由服务端遵照xml格式表单描述协议产生,用以描述表单结构。xml格式表单描述协议由开发者自己定义,具体规定了要发送的字符串的格式,该字符串符合xml文档的格式,其中,协议内容包括:有哪些标签、各个标签名、各标签有哪些属性以及各属性名、各属性值的类型、各标签之间的嵌套关系,以及规定前述诸项的含义。协议以文本形式或具体xml文档示例形式给出。最终,服务端依据该协议产生字符串,并传递给终端。根据xml格式表单描述协议,终端应用程序开发者知道根据该协议产生的xml字符串中的各标签及属性的含义,以及获知表单的嵌套结构,表单元素的位置信息,并根据这些信息确定对该协议所描述的xml格式字符串的解析程序的编写,以及组装出安卓表单界面。也就是说,对于每一个特别的xml格式表单描述协议,都需要编写一个特别的解析xml格式字符串及组装界面的程序。对于每一个特别的xml格式表单描述协议,对其含义约定只有一种。解析时也按照此唯一约定的含义进行解析。但是,最终装配出来的界面样式会有一定的自由度。因为xml格式的字符串对程序界面的描述一般是不充分的,还需要由终端添加一些信息才能构成显示一个界面的全部信息。所以,终端对程序界面的显示样式具有部分的控制权。服务端根据xml格式表单描述协议及需要产生的表单信息生成描述一个表单界面的xml格式字符串,并将该xml格式字符串发送给终端。步骤2、终端应用程序根据与服务端约定的xml格式协议解析接收到的字符串;终端应用程序依照约定的xml格式协议解析接收到的xml格式字符串,得到包括表格的字段名、字段值、字段位置等信息的解析结果。解析方式可以有多种,如sax/dom/pull解析器等。步骤3、终端应用程序依据解析结果,使用通过java代码动态创建界面的方式创建表单界面。终端应用程序根据解析得到表格的字段名、字段值、字段位置等信息,使用java代码动态生成表单界面以及为界面组件添加各类事件方法。其中,使用java代码动态生成表单界面的方式包括以下两种:I)纯java编码创建界面的方式;本文档来自技高网...
【技术保护点】
一种安卓应用程序动态表单的实现方法,其特征在于,包括:步骤1、终端应用程序接收服务端发送的xml格式字符串;步骤2、终端应用程序根据与服务端约定的xml格式协议解析接收到的字符串;步骤3、终端应用程序依据解析结果,使用通过java代码动态创建界面的方式创建表单界面。
【技术特征摘要】
1.一种安卓应用程序动态表单的实现方法,其特征在于,包括: 步骤1、终端应用程序接收服务端发送的xml格式字符串; 步骤2、终端应用程序根据与服务端约定的xml格式协议解析接收到的字符串; 步骤3、终端应用程序依据解析结果,使用通过java代码动态创建界面的方式创建表单界面。2.如权利要求1所述的方法,其特征在于,步骤I中,xml格式字符串由服务端遵照xml格式表单描述协议及需要产生的表单信息生成。3.如权利要求2所述的方法,其特征在于,所述xml格式表单描述协议约定xml格式文档中用以描述表单结构的信息:表单结构、标签名、标签属性、嵌套关系。4.如权利要求1所述的方法,其特征在于,步骤2中,终端应用程序依照约定的xml格式协议解析接收到的字符串,得...
【专利技术属性】
技术研发人员:段小亮,
申请(专利权)人:深圳市远行科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。