CN106155641A - 一种移动终端应用界面动态生成的方法和系统 - Google Patents
一种移动终端应用界面动态生成的方法和系统 Download PDFInfo
- Publication number
- CN106155641A CN106155641A CN201510131443.9A CN201510131443A CN106155641A CN 106155641 A CN106155641 A CN 106155641A CN 201510131443 A CN201510131443 A CN 201510131443A CN 106155641 A CN106155641 A CN 106155641A
- Authority
- CN
- China
- Prior art keywords
- mobile terminal
- control
- application
- definition
- screen size
- 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.)
- Granted
Links
Landscapes
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种移动终端应用界面动态生成的方法和系统,所述方法包括移动终端启动应用时,所述应用向服务端发起配对请求,若配对成功,则所述应用获取服务端推送的中间语言文件;移动终端的应用将中间语言文件翻译成移动终端可处理的元素,根据翻译后的布局定义和控件定义动态生成应用界面。本发明的技术方案通过进行一次界面设计和逻辑设计,即可实现多平台移动终端动态生成自适应的应用界面,且生成的应用具有性能好、体验流畅的优点,相比于现有技术无需发布安装应用,在应用界面或逻辑有更新时,移动终端无需重新安装。
Description
技术领域
本发明涉及互联网技术领域,特别涉及一种移动终端应用界面动态生成的方法和系统。
背景技术
近年来,在苹果公司的移动操作系统iOS、Google公司开发的操作系统Android、微软公司发布的手机操作系统Windows Phone等移动终端操作系统的推动下,移动智能设备飞速发展。信息移动化的需求越来越大,而信息移动化需要进行不同平台的移动终端应用的开发、发布、安装等过程。传统的开发模式(即原生native开发模式)因为学习成本高,以及由于跨平台等问题,导致移动化成本过高,并且如果新增或修改功能,还面临对移动终端应用进行重新安装的问题。
例如,采用混合Hybrid方式进行开发,主要通过如下步骤实现一次开发跨平台使用:使用不同平台的原生语言开发加载网页WEB页面的移动终端应用;对需要移动化的内容使用超文本标记语言HTML5(跨平台)进行开发实现;不同平台的移动终端应用通过不同的HTML5的访问地址,加载呈现HTML5页面。
采用Hybrid方式进行开发实现一次开发跨平台使用的开发方式至少存在以下缺陷:
其一,HTML5无法直接调用移动终端设备的基础功能,例如照相机等功能;
其二,HTML5需要从服务端加载很多内容,同时由于访问服务端同一个HTML5页面,当用户量多的时候,性能会下降,用户使用体验比较差;
其三,不同平台的操作系统,不同浏览器对HTML5支持不同,可能会出现兼容性问题;
其四,对于企业用户,移动终端直接和后台业务系统进行交互(类似于浏览器Browser/服务器Server模式,B/S模式),当有多个业务系统时,需要有多个应用分别与每个业务系统对接。
还如,采用C/C++方式进行开发,由于C/C++的标准语法在每一个平台上都是一样的,所以使用C/C++语言开发实现移动终端应用在不同平台的移动终端都可编译运行,从而实现跨平台。
但采用C/C++方式进行开发实现一次开发跨平台使用的开发方式至少存在以下缺陷:
其一,新增或变更功能的时候,需要进行C/C++开发,并进行重新编译、发布、安装;
其二,对于企业用户,移动终端直接和后台业务系统进行交互(类似于B/S方式),当有多个业务系统的时候,需要有多个应用分别与每个业务系统对接。
发明内容
本发明提供了一种移动终端应用界面动态生成的方法和系统,以解决或者至少部分地解决现有技术方案上述问题。
为达到上述目的,本发明的技术方案是这样实现的:
一方面,本发明提供了一种移动终端应用界面动态生成的方法,所述方法包括:
移动终端启动应用时,所述应用向服务端发起配对请求,所述配对请求携带所述移动终端的操作系统、系统版本、型号以及配对标识;
若配对成功,则所述应用获取所述服务端推送的中间语言文件,所述中间语言文件为所述服务端预先对不同平台移动终端的应用进行界面设计和逻辑设计生成的,包括配对标识、文件版本、布局定义、控件定义、逻辑定义和上下文定义;
所述应用将所述中间语言文件翻译成所述移动终端可处理的元素,并根据翻译后的布局定义和控件定义动态生成所述移动终端的应用界面。
优选地,当所述应用的某一业务被触发时,所述方法进一步包括:
所述应用根据翻译后的逻辑定义和上下文定义生成业务处理请求提交到配对的服务端,所述业务处理请求携带配对标识、请求标识和业务数据,由所述服务端将所述业务处理请求路由到相应的业务系统进行业务处理;
所述应用获取所述服务端返回的业务处理回复,所述业务处理回复携带业务处理结果;
所述应用将所述业务处理结果翻译成所述移动终端可识别的数据,并将翻译后的数据动态加载到所述应用界面中实现所述应用的业务动态处理。
其中,所述根据翻译后的布局定义和控件定义动态生成所述移动终端的应用界面包括:
根据所述布局定义获得每个控件对应于规范屏幕尺寸的位置和大小;
获取所述移动终端的屏幕尺寸,根据所述移动终端的屏幕尺寸与规范屏幕尺寸的百分比,计算所述每个控件对应于所述移动终端屏幕尺寸的位置和大小;
若某个控件纵向超出所述移动终端屏幕,则通过滚动条对所述控件进行显示;若某个控件横向超出所述移动终端屏幕,则通过缩小控件宽度或横向调整控件位置或纵向调整控件位置使所述控件满足所述移动终端屏幕尺寸;
根据所述每个控件对应于所述移动终端屏幕尺寸的位置和大小,动态生成自适应所述移动终端屏幕尺寸的应用界面。
其中,所述若某个控件横向超出所述移动终端屏幕,则通过缩小控件宽度或横向调整控件位置或纵向调整控件位置使所述控件满足所述移动终端屏幕尺寸包括:
获取所述移动终端屏幕尺寸的宽度,根据所述移动终端屏幕首行放置的控件个数和每个控件所占移动终端屏幕宽度的百分比计算每个控件的宽度;
同步缩小所述每个控件的宽度并判断缩小后的控件的宽度是否满足所述移动终端屏幕尺寸,若满足则完成计算;若某个控件的宽度缩小到预设的最大缩小百分比后仍超出所述移动终端屏幕,则横向调整所述每个控件的位置;
根据所述移动终端屏幕尺寸的宽度、所述移动终端屏幕首行放置控件的个数和控件的预设的最大缩小百分比计算所述每个控件的位置并调整每个控件的横向坐标数值来减少相邻控件的间距,若调整后每个控件都满足所述移动终端屏幕尺寸则完成计算;若相邻控件的间距减少到预定数值后,某个控件仍超出所述移动终端屏幕尺寸,则进一步进行纵向调整;
对超出屏幕的所述控件进行纵向坐标数值调整,将超出屏幕的控件换到下一行,并对下一行的每个控件进行自适应屏幕处理,使每个控件都满足所述移动终端屏幕尺寸。
另一方面,本发明提供了一种移动终端应用界面动态生成的方法,所述方法包括:
服务端预先对移动终端的应用进行界面设计和逻辑设计生成适用不同平台移动终端的中间语言文件,所述中间语言文件包括配对标识、文件版本、布局定义、控件定义、逻辑定义和上下文定义;
所述服务端对移动终端的应用发起的配对请求进行处理,若配对成功,则将携带所述中间语言文件的配对请求回复发送给所述应用,由所述应用将所述中间语言文件翻译成所述移动终端可处理的元素,并根据翻译后的布局定义和控件定义动态生成所述移动终端的应用界面。
优选地,所述方法进一步包括:
所述服务端接收配对的所述移动终端的应用根据翻译后的逻辑定义和上下文定义生成的业务处理请求,所述业务处理请求携带配对标识、请求标识和业务数据;
所述服务端根据所述业务处理请求获取寻址信息和业务数据,所述寻址信息携带服务地址、服务端口、服务方式和服务对象;
所述服务端根据所述寻址信息将所述业务数据路由到相应的业务系统进行业务处理,并获取所述业务系统返回的业务处理结果;
所述服务端将携带有业务处理结果的业务处理回复发送给所述移动终端的应用,由所述应用将所述业务处理结果翻译成所述移动终端可识别的数据,并将翻译后的数据动态加载到所述应用界面中实现所述应用的业务动态处理。
又一方面,本发明提供了一种移动终端应用界面动态生成的系统,所述系统包括:
服务端,用于预先对移动终端的应用进行界面设计和逻辑设计生成适用不同平台移动终端的中间语言文件,所述中间语言文件包括配对标识、文件版本、布局定义、控件定义、逻辑定义和上下文定义;以及对移动终端的应用发起的配对请求进行处理,若配对成功,则将携带所述中间语言文件的配对请求回复发送给所述移动终端的应用;
移动终端的应用,用于在启动时,向所述服务端发起配对请求,所述配对请求携带所述移动终端的操作系统、系统版本、型号以及配对标识;以及在配对成功时,获取所述服务端推送的中间语言文件,将获取的中间语言文件翻译成所述移动终端可处理的元素,根据翻译后的布局定义和控件定义动态生成所述移动终端的应用界面。
优选地,所述服务端,还用于接收配对的移动终端的应用发送的所述业务处理请求,根据所述业务处理请求获取寻址信息和业务数据,所述寻址信息携带服务地址、服务端口、服务方式和服务对象;根据所述寻址信息将所述业务数据路由到相应的业务系统进行业务处理,并获取所述业务系统返回的业务处理结果;以及将携带有业务处理结果的业务处理回复发送给所述移动终端的应用;
所述移动终端的应用,还用于当所述应用的某一业务被触发时,根据翻译后的逻辑定义和上下文定义生成业务处理请求提交到配对的服务端,所述业务处理请求携带配对标识、请求标识和业务数据;以及将接收到业务处理回复中的业务处理结果翻译成所述移动终端可识别的数据,并将翻译后的数据加载到所述应用界面中实现所述应用的业务动态处理。
其中,所述根据翻译后的布局定义和控件定义动态生成所述移动终端的应用界面包括:
根据所述布局定义获得每个控件对应于规范屏幕尺寸的位置和大小;
获取所述移动终端的屏幕尺寸,根据所述移动终端的屏幕尺寸与规范屏幕尺寸的百分比,计算所述每个控件对应于所述移动终端屏幕尺寸的位置和大小;
若某个控件纵向超出所述移动终端屏幕,则通过滚动条对所述控件进行显示;若某个控件横向超出所述移动终端屏幕,则通过缩小控件宽度或横向调整控件位置或纵向调整控件位置使所述控件满足所述移动终端屏幕尺寸;
根据所述每个控件对应于所述移动终端屏幕尺寸的位置和大小,动态生成自适应所述移动终端屏幕尺寸的应用界面。
其中,所述若某个控件横向超出所述移动终端屏幕,则通过缩小控件宽度或横向调整控件位置或纵向调整控件位置使所述控件满足所述移动终端屏幕尺寸包括:
获取所述移动终端屏幕尺寸的宽度,根据所述移动终端屏幕首行放置的控件个数和每个控件所占移动终端屏幕宽度的百分比计算每个控件的宽度;
同步缩小所述每个控件的宽度并判断缩小后的控件的宽度是否满足所述移动终端屏幕尺寸,若满足则完成计算;若某个控件的宽度缩小到预设的最大缩小百分比后仍超出所述移动终端屏幕,则横向调整所述每个控件的位置;
根据所述移动终端屏幕尺寸的宽度、所述移动终端屏幕首行放置控件的个数和控件的预设的最大缩小百分比计算所述每个控件的位置并调整每个控件的横向坐标数值来减少相邻控件的间距,若调整后每个控件都满足所述移动终端屏幕尺寸则完成计算;若相邻控件的间距减少到预定数值后,某个控件仍超出所述移动终端屏幕尺寸,则进一步进行纵向调整;
对超出屏幕的所述控件进行纵向坐标数值调整,将超出屏幕的控件换到下一行,并对下一行的每个控件进行自适应屏幕处理,使每个控件都满足所述移动终端屏幕尺寸。
本发明实施例的有益效果是:本发明公开了一种移动终端应用界面动态生成的方法和系统,所述方法通过服务端进行一次界面设计和逻辑设计,将设计的界面和逻辑生成中间语言文件,多平台移动终端的应用通过和服务端的配对交互,获取该中间语言文件并根据中间语言文件动态生成自适应的应用界面,生成的应用界面具有性能好、体验流畅的特点;具有仅对应用进行一次界面设计和逻辑设计即可在多个平台移动终端上自动动态生成应用界面,无需发布安装应用的优点;并且本发明在移动终端的应用界面或逻辑有更新时,无需使移动终端重新安装应用。
在优选方案中,移动终端的应用与服务端进行交互,通过服务端将应用的业务数据路由到相应的业务系统进行处理,降低移动终端和业务系统的耦合,从而更好地实现信息的移动化。
附图说明
图1为本发明实施例提供的一种移动终端应用界面动态生成的方法的流程图;
图2为本发明实施例提供的另一种移动终端应用界面动态生成的方法的流程图;
图3为本发明实施例提供的一种移动终端应用界面动态生成的系统结构示意图;
图4为本发明实施例提供的移动终端应用动态生成的方法的流程图;
图5为本发明实施例提供的横向调整控件的方法流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明的整体设计思路是:预先在服务端对移动终端的应用进行界面设计和逻辑设计生成适用于不同平台移动终端的中间语言文件;在移动终端启动应用时,该应用自动和服务端进行配对;在配对成功时,该应用获取该中间语言文件并进行翻译,并根据翻译后的中间语言文件动态生成自适应该移动终端的应用界面,完成移动终端应用界面的动态生成;在移动终端使用该应用时,该应用采用与服务端进行交互的方式,通过服务端将该应用的业务数据路由到后端的各业务系统进行相应处理,从而实现移动终端应用的业务动态处理。
图1为本发明实施例提供的一种移动终端应用界面动态生成的方法的流程图,该方法包括:
S100,移动终端启动应用时,该应用向服务端发起配对请求,所述配对请求携带该移动终端的操作系统、系统版本、型号以及配对标识。
S101,若配对成功,则该应用获取服务端推送的中间语言文件,所述中间语言文件为服务端预先对不同平台移动终端的应用进行界面设计和逻辑设计生成的,包括配对标识、文件版本、布局定义、控件定义、逻辑定义和上下文定义。
在实际应用中,应用与服务端可以通过配对请求和配对请求回复进行交互,应用根据服务端发送的配对请求回复进行相应操作。例如,当应用与服务端配对成功时,则该应用获取服务端返回的配对请求回复,所述配对请求回复携带服务端预先对移动终端的应用进行界面设计和逻辑设计生成适用不同平台移动终端的中间语言文件,所述中间语言文件包括配对标识、文件版本、布局定义、控件定义、逻辑定义和上下文定义。
在实际应用中,服务端接收到应用发送的配对请求后,首先对该应用的配对标识进行验证,验证通过后,根据配对请求中的移动终端的操作系统、系统版本、型号对中间语言文件进行预处理,使预处理后的中间语言文件中的所有元素均能得到该移动终端的支持。例如,若该移动终端为iPhone 4,由于该型号的苹果手机不支持指纹识别功能,服务端则可以相应的去除中间语言文件中相应的指纹识别功能。
S102,该应用将中间语言文件翻译成该移动终端可处理的元素,并根据翻译后的布局定义和控件定义动态生成移动终端的应用界面。
根据布局定义获得每个控件对应于规范屏幕尺寸的位置和大小;
获取上述移动终端的屏幕尺寸,根据移动终端的屏幕尺寸与规范屏幕尺寸的百分比,计算每个控件对应于该移动终端屏幕尺寸的位置和大小;
若某个控件纵向超出所述移动终端屏幕,则通过滚动条对所述控件进行显示;若某个控件横向超出所述移动终端屏幕,则通过缩小控件宽度或横向调整控件位置或纵向调整控件位置使所述控件满足所述移动终端屏幕尺寸;
根据所述每个控件对应于所述移动终端屏幕尺寸的位置和大小,动态生成自适应所述移动终端屏幕尺寸的应用界面。
具体的,获取该移动终端屏幕尺寸的宽度,根据移动终端屏幕首行放置的控件个数和每个控件所占移动终端屏幕宽度的百分比计算每个控件的宽度;
同步缩小每个控件的宽度并判断缩小后的控件的宽度是否满足所述移动终端屏幕尺寸,若满足则完成计算;若某个控件的宽度缩小到预设的最大缩小百分比后仍超出移动终端屏幕,则横向调整每个控件的位置;
根据移动终端屏幕尺寸的宽度、移动终端屏幕首行放置控件的个数和控件的预设的最大缩小百分比计算每个控件的位置并调整每个控件的横向坐标数值来减少相邻控件的间距,若调整后每个控件都满足移动终端屏幕尺寸则完成计算;若相邻控件的间距减少到预定数值后,某个控件仍超出所述移动终端屏幕尺寸,则进一步进行纵向调整;
对超出屏幕的控件进行纵向坐标数值调整,将超出屏幕的控件换到下一行,并对下一行的每个控件进行自适应屏幕处理,使每个控件都满足所述移动终端屏幕尺寸。
当上述应用的某一业务被触发时,上述方法进一步包括:
上述应用根据翻译后的逻辑定义和上下文定义生成业务处理请求提交到配对的服务端,所述业务处理请求携带配对标识、请求标识和业务数据,由服务端将业务处理请求路由到相应的业务系统进行业务处理;
该应用获取服务端返回的业务处理回复,所述业务处理回复携带业务处理结果;
该应用将业务处理结果翻译成该移动终端可识别的数据,并将翻译后的数据动态加载到该应用界面中实现移动终端的应用的业务动态处理。
需要说明的是,本技术方案中的服务端也可以为云端。
云端是基于应用虚拟化的技术的软件,能够为软件提供虚拟化的运行环境,在保证软件完整性、无改动的情况下,囊括绿色软件所有优点,并为软件运行虚拟注册表、文件读写等等,让软件运行全程无污染,全面绿色化,具有轻便、干净、稳定的特点。
需要说明的是,本技术方案尤其适用于原生应用的动态生成,且生成的原生应用具有性能好、体验流畅的优点。
本实施例通过服务端预先生成适用于不同平台移动终端的中间语言文件,在移动终端启动应用时,根据翻译后中间语言文件动态生成该移动终端的应用界面,在移动终端使用应用时,借助服务端将应用的业务数据路由到相应的业务系统进行处理,从而实现移动终端的应用动态生成。
本实施例通过在服务端对移动终端的应用进行一次界面设计和逻辑设计,即可在多个平台移动终端上自动动态生成应用界面,无需发布安装应用;在应用界面或逻辑有新增或修改的时候,无需移动终端重进安装该应用;并且在实际使用时,将应用的业务处理自匹配路由到各业务处理系统,能够降低终端和业务系统的耦合,更方便信息的移动化。
图2为本发明实施例提供的另一种移动终端应用界面动态生成的方法的流程图,该方法包括:
S200,服务端预先对移动终端的应用进行界面设计和逻辑设计生成使用不同平台移动终端的中间语言文件,所述中间语言文件包括配对标识、文件版本、布局定义、控件定义、逻辑定义和上下文定义。
S201,服务端对移动终端的应用发起的配对请求进行处理,若配对成功,则将携带中间语言文件的配对请求回复发送给移动终端的应用,由该应用将中间语言文件翻译成该移动终端可处理的元素,并根据翻译后的布局定义和控件定义动态生成移动终端的应用界面。
在实际应用中,上述方法进一步包括:
服务端接收配对的移动终端的应用根据翻译后的逻辑定义和上下文定义生成的业务处理请求,所述业务处理请求携带配对标识、请求标识和业务数据;
服务端根据业务处理请求获取寻址信息和所述业务数据,所述寻址信息携带服务地址、服务端口、服务方式和服务对象;
服务端根据寻址信息将业务数据路由到相应的业务系统进行业务处理,并获取业务系统返回的业务处理结果;
服务端将携带有业务处理结果的业务处理回复发送给移动终端的应用,由应用将业务处理结果翻译成移动终端可识别的数据,并将翻译后的数据动态加载到应用界面中实现所述应用的业务动态处理。
图3为本发明实施例提供的一种移动终端应用界面动态生成的系统结构示意图,该系统包括服务端31和移动终端的应用32。
服务端31,用于预先对移动终端的应用进行界面设计和逻辑设计生成使用不同平台移动终端的中间语言文件,所述中间语言文件包括配对标识、文件版本、布局定义、控件定义、逻辑定义和上下文定义;以及对移动终端的应用32发起的配对请求进行处理,若配对成功,则将携带中间语言文件的配对请求回复发送给移动终端的应用32。
移动终端的应用32,用于在启动时,向服务端31发起配对请求,配对请求携带该移动终端的操作系统、系统版本、型号以及配对标识;以及在配对成功时,获取服务端31推送的中间语言文件,将中间语言文件翻译成该移动终端可处理的元素,根据翻译后的布局定义和控件定义动态生成移动终端的应用界面。
在实际应用中,服务端31还用于,接收配对的移动终端的应用32发送的业务处理请求,根据业务处理请求获取寻址信息和业务数据,所述寻址信息携带服务地址、服务端口、服务方式和服务对象;根据寻址信息将业务数据路由到相应的业务系统进行业务处理,并获取业务处理系统返回的业务处理结果;以及将携带有业务处理结果的业务处理回复发送给移动终端的应用32;
移动终端的应用32还用于,当应用32的某一业务被触发时,根据翻译后的逻辑定义和上下文定义生成业务处理请求提交到配对的服务端31,所述业务处理请求携带配对标识、请求标识和业务数据;以及将接收到业务处理回复中的业务处理结果翻译成该移动终端可识别的数据,并将翻译后的数据加载到应用界面中实现所述应用的业务动态处理。
其中,根据翻译后的布局定义和控件定义动态生成移动终端的应用界面包括:
根据布局定义获得每个控件对应于规范屏幕尺寸的位置和大小;
获取移动终端的屏幕尺寸,根据移动终端的屏幕尺寸与规范屏幕尺寸的百分比,计算每个控件对应于移动终端屏幕尺寸的位置和大小;
若某个控件纵向超出移动终端屏幕,则通过滚动条对所述控件进行显示;若某个控件横向超出移动终端屏幕,则通过缩小控件宽度或横向调整控件位置或纵向调整控件位置使控件满足移动终端屏幕尺寸;
根据每个控件对应于移动终端屏幕尺寸的位置和大小,动态生成自适应移动终端屏幕尺寸的应用界面。
具体的,获取移动终端屏幕尺寸的宽度,根据移动终端屏幕首行放置的控件个数和每个控件所占移动终端屏幕宽度的百分比计算每个控件的宽度;
同步缩小每个控件的宽度并判断缩小后的控件的宽度是否满足移动终端屏幕尺寸,若满足则完成计算;若某个控件的宽度缩小到预设的最大缩小百分比后仍超出移动终端屏幕,则横向调整每个控件的位置;
根据移动终端屏幕尺寸的宽度、移动终端屏幕首行放置控件的个数和控件的预设的最大缩小百分比计算每个控件的位置并调整每个控件的横向坐标数值来减少相邻控件的间距,若调整后每个控件都满足移动终端屏幕尺寸则完成计算;若相邻控件的间距减少到预定数值后,某个控件仍超出所述移动终端屏幕尺寸,则进一步进行纵向调整;
对超出屏幕的控件进行纵向坐标数值调整,将超出屏幕的控件换到下一行,并对下一行的每个控件进行自适应屏幕处理,使每个控件都满足移动终端屏幕尺寸。
本实施例的服务端预先生成适用于不同移动终端的中间语言文件,在移动终端启动应用时,根据翻译后中间语言文件动态生成该移动终端的应用界面,在移动终端使用应用时,借助服务端将应用的业务数据路由到相应的业务系统进行处理,从而实现移动终端的应用动态生成。
本实施例的服务端对移动终端的应用进行一次界面设计和逻辑设计,即可在多个平台移动终端上自动动态生成应用界面,无需发布安装应用;在应用界面或逻辑有新增或修改的时候,无需移动终端重进安装该应用;并且在实际使用时,将应用的业务处理自匹配路由到各业务处理系统,能够降低终端和业务系统的耦合,更方便信息的移动化。
图4为本发明实施例提供的移动终端应用动态生成的方法的流程图,该移动终端应用动态生成的方法具体包括如下步骤:
步骤一,服务端采用超文本标记语言HTML5进行界面设计和逻辑设计。
步骤二,服务端将设计的界面和逻辑生成一种适用于不同平台移动终端的中间语言文件,该中间语言文件包括配对标识、文件版本、布局定义、控件定义、逻辑定义和上下文定义。
在步骤二中,由于在服务端生成中间语言文件,因此在该应用的界面或逻辑有新增或修改时,只需在服务端对中间语言文件进行相应修改即可。
步骤三,移动终端在启动应用时,该应用向服务端发起配对请求,配对请求携带移动终端的操作系统、系统版本、型号以及配对标识。
步骤四,服务端对配对的移动终端的应用发送的配对请求进行处理,若配对成功,则将配对请求回复发送给移动终端的应用,该配对请求回复携带配对标识、配对成功标识和中间语言文件。
步骤五,该应用将中间语言文件翻译成该移动终端可处理的元素,并根据翻译后的布局定义和控件定义动态生成移动终端的应用界面,从而完成移动终端应用界面的自动生成。
在实际应用中,可以通过建立中间语言文件的控件定义与该应用的不同平台移动终端的控件的映射关系,根据映射关系把中间语言文件的控件定义转换为相应移动终端原生语言的控件定义。
在本实施例的一优选方案中,通过下述方法实现移动终端应用界面的自适应动态生成:
根据布局定义获得每个控件对应于规范屏幕尺寸的位置和大小,该规范尺寸可以预先定义;
获取移动终端的屏幕尺寸,根据移动终端的屏幕尺寸与规范屏幕尺寸的百分比,计算每个控件对应于该移动终端屏幕尺寸的位置和大小;
若某个控件纵向超出移动终端屏幕,则通过滚动条对该控件进行显示;若某个控件横向超出所述移动终端屏幕,则可以采用如图5所示的方法对控件进行调节,具体的:
S500,获取移动终端屏幕尺寸的宽度,根据移动终端屏幕首行放置的控件个数和每个控件所占移动终端屏幕宽度的百分比计算每个控件的宽度。
S501,同步缩小每个控件的宽度,即对每个控件都按照相同的缩放百分比进行缩放。
S502,判断缩小后的控件的宽度是否满足移动终端屏幕尺寸,若满足则跳转到S508;
S503,若不满足则判断控件的宽度是否缩小到预设的最大缩小百分比,如果缩小到预设的最大缩小百分比后某个空间仍超出移动终端屏幕,则横向调整每个控件的位置。
在步骤S503中,为了保证控件缩小后不影响查看或编辑,本实施例将最大缩小的百分比设置为40%。显然,该最大缩小的百分比也可以设置为其他值,并发明不对其做具体限定。
S504,根据移动终端屏幕尺寸的宽度、移动终端屏幕首行放置控件的个数和控件的预设的最大缩小百分比计算每个控件的位置并调整每个控件的横向坐标数值来减少相邻控件的间距。
S505,判断调整后的每个控件是否都满足移动终端屏幕尺寸,若都满足则跳转到步骤S508;
S506,若不满足则判断相邻控件的间距是否减少到预定数值,如果减小到预定的数值后,某个控件仍超出移动终端屏幕尺寸,则进一步进行纵向调整。
在步骤S506中,在相邻控件的间距是减少到预定数值时,该相邻控件间不会产生重叠。
S507,对超出屏幕的控件进行纵向坐标数值调整,将超出屏幕的控件换到下一行。
S508,对下一行的每个控件进行自适应屏幕处理,使每个控件都满足所述移动终端屏幕尺寸。
根据每个控件对应于所述移动终端屏幕尺寸的位置和大小,动态生成自适应所述移动终端屏幕尺寸的应用界面。
步骤六,当该应用的某一业务被触发时,该应用根据翻译后的逻辑定义和上下文定义生成业务处理请求提交到配对的服务端,该业务处理请求携带配对标识、请求标识和业务数据。
步骤七,服务端接收配对的移动终端的应用发送的业务处理请求,根据业务处理请求获取寻址信息和业务数据,所述寻址信息携带服务地址、服务端口、服务方式和服务对象,所述业务数据包括业务编码和业务内容。
步骤八,服务端根据寻址信息将业务数据路由到相应的业务系统进行业务处理。
步骤九,业务系统进行业务处理,获得业务处理结果,并将该业务处理结果发送给服务端。
步骤十,服务端生成业务处理回复,该业务处理回复携带配对标识、处理成功标识和业务处理结果。
步骤十一,该应用获取业务处理回复,将业务处理回复中的业务处理结果翻译成该移动终端可识别的数据,并将翻译后的数据加载到该应用界面中从而实现该应用的业务的动态处理。
本实施例中通过使服务端和移动终端的应用用于交换的请求或回复携带配对标识,在服务端接收到应用发送的请求或应用接收到服务端发送的回复时,都需要在配对标识验证通过的情况下,进行相应的操作,以保证服务端和移动终端的应用的操作的安全性。
综上所述,本发明公开了一种移动终端应用界面动态生成的方法和系统,所述方法通过服务端进行一次界面设计和逻辑设计,将设计的界面和逻辑生成中间语言文件,多平台移动终端的应用通过和服务端的配对交互,获取该中间语言文件并根据中间语言文件动态生成自适应的应用界面,生成的应用界面具有性能好、体验流畅的特点,具有仅对应用进行一次界面设计和逻辑设计即可在多个平台移动终端上自动动态生成应用界面的优点,无需发布安装应用;并且本发明在移动终端的应用界面或逻辑有更新时,无需使移动终端重新安装应用。在优选方案中,移动终端的应用与服务端进行交互,通过服务端将应用的业务数据路由到相应的业务系统进行处理,降低移动终端和业务系统的耦合,从而更好地实现信息的移动化。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种移动终端应用界面动态生成的方法,其特征在于,所述方法包括:
移动终端启动应用时,所述应用向服务端发起配对请求,所述配对请求携带所述移动终端的操作系统、系统版本、型号以及配对标识;
若配对成功,则所述应用获取所述服务端推送的中间语言文件,所述中间语言文件为所述服务端预先对不同平台移动终端的应用进行界面设计和逻辑设计生成的,包括配对标识、文件版本、布局定义、控件定义、逻辑定义和上下文定义;
所述应用将所述中间语言文件翻译成所述移动终端可处理的元素,并根据翻译后的布局定义和控件定义动态生成所述移动终端的应用界面。
2.根据权利要求1所述的方法,其特征在于,当所述应用的某一业务被触发时,所述方法进一步包括:
所述应用根据翻译后的逻辑定义和上下文定义生成业务处理请求提交到配对的服务端,所述业务处理请求携带配对标识、请求标识和业务数据,由所述服务端将所述业务处理请求路由到相应的业务系统进行业务处理;
所述应用获取所述服务端返回的业务处理回复,所述业务处理回复携带业务处理结果;
所述应用将所述业务处理结果翻译成所述移动终端可识别的数据,并将翻译后的数据动态加载到所述应用界面中实现所述应用的业务动态处理。
3.根据权利要求1所述的方法,其特征在于,所述根据翻译后的布局定义和控件定义动态生成所述移动终端的应用界面包括:
根据所述布局定义获得每个控件对应于规范屏幕尺寸的位置和大小;
获取所述移动终端的屏幕尺寸,根据所述移动终端的屏幕尺寸与规范屏幕尺寸的百分比,计算所述每个控件对应于所述移动终端屏幕尺寸的位置和大小;
若某个控件纵向超出所述移动终端屏幕,则通过滚动条对所述控件进行显示;若某个控件横向超出所述移动终端屏幕,则通过缩小控件宽度或横向调整控件位置或纵向调整控件位置使所述控件满足所述移动终端屏幕尺寸;
根据所述每个控件对应于所述移动终端屏幕尺寸的位置和大小,动态生成自适应所述移动终端屏幕尺寸的应用界面。
4.根据权利要求3所述的方法,其特征在于,所述若某个控件横向超出所述移动终端屏幕,则通过缩小控件宽度或横向调整控件位置或纵向调整控件位置使所述控件满足所述移动终端屏幕尺寸包括:
获取所述移动终端屏幕尺寸的宽度,根据所述移动终端屏幕首行放置的控件个数和每个控件所占移动终端屏幕宽度的百分比计算每个控件的宽度;
同步缩小所述每个控件的宽度并判断缩小后的控件的宽度是否满足所述移动终端屏幕尺寸,若满足则完成计算;若某个控件的宽度缩小到预设的最大缩小百分比后仍超出所述移动终端屏幕,则横向调整所述每个控件的位置;
根据所述移动终端屏幕尺寸的宽度、所述移动终端屏幕首行放置控件的个数和控件的预设的最大缩小百分比计算所述每个控件的位置并调整每个控件的横向坐标数值来减少相邻控件的间距,若调整后每个控件都满足所述移动终端屏幕尺寸则完成计算;若相邻控件的间距减少到预定数值后,某个控件仍超出所述移动终端屏幕尺寸,则进一步进行纵向调整;
对超出屏幕的所述控件进行纵向坐标数值调整,将超出屏幕的控件换到下一行,并对下一行的每个控件进行自适应屏幕处理,使每个控件都满足所述移动终端屏幕尺寸。
5.一种移动终端应用界面动态生成的方法,其特征在于,所述方法包括:
服务端预先对移动终端的应用进行界面设计和逻辑设计生成适用不同平台移动终端的中间语言文件,所述中间语言文件包括配对标识、文件版本、布局定义、控件定义、逻辑定义和上下文定义;
所述服务端对移动终端的应用发起的配对请求进行处理,若配对成功,则将携带所述中间语言文件的配对请求回复发送给所述应用,由所述应用将所述中间语言文件翻译成所述移动终端可处理的元素,并根据翻译后的布局定义和控件定义动态生成所述移动终端的应用界面。
6.根据权利要求5所述的方法,其特征在于,所述方法进一步包括:
所述服务端接收配对的所述移动终端的应用根据翻译后的逻辑定义和上下文定义生成的业务处理请求,所述业务处理请求携带配对标识、请求标识和业务数据;
所述服务端根据所述业务处理请求获取寻址信息和业务数据,所述寻址信息携带服务地址、服务端口、服务方式和服务对象;
所述服务端根据所述寻址信息将所述业务数据路由到相应的业务系统进行业务处理,并获取所述业务系统返回的业务处理结果;
所述服务端将携带有业务处理结果的业务处理回复发送给所述移动终端的应用,由所述应用将所述业务处理结果翻译成所述移动终端可识别的数据,并将翻译后的数据动态加载到所述应用界面中实现所述应用的业务动态处理。
7.一种移动终端应用动态生成的系统,其特征在于,所述系统包括:
服务端,用于预先对移动终端的应用进行界面设计和逻辑设计生成适用不同平台移动终端的中间语言文件,所述中间语言文件包括配对标识、文件版本、布局定义、控件定义、逻辑定义和上下文定义;以及对移动终端的应用发起的配对请求进行处理,若配对成功,则将携带所述中间语言文件的配对请求回复发送给所述移动终端的应用;
移动终端的应用,用于在启动时,向所述服务端发起配对请求,所述配对请求携带所述移动终端的操作系统、系统版本、型号以及配对标识;以及在配对成功时,获取所述服务端推送的中间语言文件,将获取的中间语言文件翻译成所述移动终端可处理的元素,根据翻译后的布局定义和控件定义动态生成所述移动终端的应用界面。
8.根据权利要求7所述的系统,其特征在于,
所述服务端,还用于接收配对的移动终端的应用发送的所述业务处理请求,根据所述业务处理请求获取寻址信息和业务数据,所述寻址信息携带服务地址、服务端口、服务方式和服务对象;根据所述寻址信息将所述业务数据路由到相应的业务系统进行业务处理,并获取所述业务系统返回的业务处理结果;以及将携带有业务处理结果的业务处理回复发送给所述移动终端的应用;
所述移动终端的应用,还用于当所述应用的某一业务被触发时,根据翻译后的逻辑定义和上下文定义生成业务处理请求提交到配对的服务端,所述业务处理请求携带配对标识、请求标识和业务数据;以及将接收到业务处理回复中的业务处理结果翻译成所述移动终端可识别的数据,并将翻译后的数据加载到所述应用界面中实现所述应用的业务动态处理。
9.根据权利要求7所述的系统,其特征在于,所述根据翻译后的布局定义和控件定义动态生成所述移动终端的应用界面包括:
根据所述布局定义获得每个控件对应于规范屏幕尺寸的位置和大小;
获取所述移动终端的屏幕尺寸,根据所述移动终端的屏幕尺寸与规范屏幕尺寸的百分比,计算所述每个控件对应于所述移动终端屏幕尺寸的位置和大小;
若某个控件纵向超出所述移动终端屏幕,则通过滚动条对所述控件进行显示;若某个控件横向超出所述移动终端屏幕,则通过缩小控件宽度或横向调整控件位置或纵向调整控件位置使所述控件满足所述移动终端屏幕尺寸;
根据所述每个控件对应于所述移动终端屏幕尺寸的位置和大小,动态生成自适应所述移动终端屏幕尺寸的应用界面。
10.根据权利要求9所述的系统,其特征在于,所述若某个控件横向超出所述移动终端屏幕,则通过缩小控件宽度或横向调整控件位置或纵向调整控件位置使所述控件满足所述移动终端屏幕尺寸包括:
获取所述移动终端屏幕尺寸的宽度,根据所述移动终端屏幕首行放置的控件个数和每个控件所占移动终端屏幕宽度的百分比计算每个控件的宽度;
同步缩小所述每个控件的宽度并判断缩小后的控件的宽度是否满足所述移动终端屏幕尺寸,若满足则完成计算;若某个控件的宽度缩小到预设的最大缩小百分比后仍超出所述移动终端屏幕,则横向调整所述每个控件的位置;
根据所述移动终端屏幕尺寸的宽度、所述移动终端屏幕首行放置控件的个数和控件的预设的最大缩小百分比计算所述每个控件的位置并调整每个控件的横向坐标数值来减少相邻控件的间距,若调整后每个控件都满足所述移动终端屏幕尺寸则完成计算;若相邻控件的间距减少到预定数值后,某个控件仍超出所述移动终端屏幕尺寸,则进一步进行纵向调整;
对超出屏幕的所述控件进行纵向坐标数值调整,将超出屏幕的控件换到下一行,并对下一行的每个控件进行自适应屏幕处理,使每个控件都满足所述移动终端屏幕尺寸。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510131443.9A CN106155641B (zh) | 2015-03-24 | 2015-03-24 | 一种移动终端应用界面动态生成的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510131443.9A CN106155641B (zh) | 2015-03-24 | 2015-03-24 | 一种移动终端应用界面动态生成的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106155641A true CN106155641A (zh) | 2016-11-23 |
CN106155641B CN106155641B (zh) | 2019-09-13 |
Family
ID=57339510
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510131443.9A Active CN106155641B (zh) | 2015-03-24 | 2015-03-24 | 一种移动终端应用界面动态生成的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106155641B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106951267A (zh) * | 2017-03-31 | 2017-07-14 | 武汉斗鱼网络科技有限公司 | 屏幕尺寸自适应方法及装置 |
CN107168724A (zh) * | 2017-03-29 | 2017-09-15 | 联想(北京)有限公司 | 一种数据处理方法、电子设备及服务器 |
CN107273548A (zh) * | 2017-07-20 | 2017-10-20 | 阿里巴巴集团控股有限公司 | 动态页面的实现方法和装置 |
CN107632857A (zh) * | 2017-09-19 | 2018-01-26 | 商客通尚景科技江苏有限公司 | 一种移动互联网应用配置前端ui布局的方法 |
CN108845810A (zh) * | 2018-05-23 | 2018-11-20 | 北京五八信息技术有限公司 | 一种应用动态更新的方法、装置、电子设备及存储介质 |
CN108874412A (zh) * | 2017-05-16 | 2018-11-23 | 北京海鲸科技有限公司 | 用于更新界面布局的方法、装置、设备及系统 |
CN109213515A (zh) * | 2018-07-12 | 2019-01-15 | 阿里巴巴集团控股有限公司 | 多平台下埋点归一方法及装置和电子设备 |
CN111708569A (zh) * | 2020-05-20 | 2020-09-25 | 深圳市致宇天承科技有限公司 | 一种基于安卓和ios系统的功能动态配置还原算法 |
CN112380819A (zh) * | 2020-11-17 | 2021-02-19 | 北京字跳网络技术有限公司 | 文档编辑方法、装置和电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567026A (zh) * | 2011-12-28 | 2012-07-11 | 用友软件股份有限公司 | 移动应用构建系统和移动应用构建方法 |
CN103605525A (zh) * | 2013-11-29 | 2014-02-26 | 深圳市中兴移动通信有限公司 | 桌面应用程序的实现方法和装置 |
CN103713830A (zh) * | 2012-10-04 | 2014-04-09 | 索尼公司 | 用于提供用户界面的方法和装置 |
CN104050947A (zh) * | 2013-03-15 | 2014-09-17 | 联想(北京)有限公司 | 显示控制方法和电子设备 |
-
2015
- 2015-03-24 CN CN201510131443.9A patent/CN106155641B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102567026A (zh) * | 2011-12-28 | 2012-07-11 | 用友软件股份有限公司 | 移动应用构建系统和移动应用构建方法 |
CN103713830A (zh) * | 2012-10-04 | 2014-04-09 | 索尼公司 | 用于提供用户界面的方法和装置 |
CN104050947A (zh) * | 2013-03-15 | 2014-09-17 | 联想(北京)有限公司 | 显示控制方法和电子设备 |
CN103605525A (zh) * | 2013-11-29 | 2014-02-26 | 深圳市中兴移动通信有限公司 | 桌面应用程序的实现方法和装置 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107168724A (zh) * | 2017-03-29 | 2017-09-15 | 联想(北京)有限公司 | 一种数据处理方法、电子设备及服务器 |
CN106951267A (zh) * | 2017-03-31 | 2017-07-14 | 武汉斗鱼网络科技有限公司 | 屏幕尺寸自适应方法及装置 |
CN108874412A (zh) * | 2017-05-16 | 2018-11-23 | 北京海鲸科技有限公司 | 用于更新界面布局的方法、装置、设备及系统 |
CN107273548A (zh) * | 2017-07-20 | 2017-10-20 | 阿里巴巴集团控股有限公司 | 动态页面的实现方法和装置 |
CN107273548B (zh) * | 2017-07-20 | 2020-10-27 | 创新先进技术有限公司 | 动态页面的实现方法和装置 |
CN107632857A (zh) * | 2017-09-19 | 2018-01-26 | 商客通尚景科技江苏有限公司 | 一种移动互联网应用配置前端ui布局的方法 |
CN107632857B (zh) * | 2017-09-19 | 2020-10-16 | 商客通尚景科技江苏有限公司 | 一种移动互联网应用配置前端ui布局的方法 |
CN108845810A (zh) * | 2018-05-23 | 2018-11-20 | 北京五八信息技术有限公司 | 一种应用动态更新的方法、装置、电子设备及存储介质 |
CN109213515A (zh) * | 2018-07-12 | 2019-01-15 | 阿里巴巴集团控股有限公司 | 多平台下埋点归一方法及装置和电子设备 |
CN109213515B (zh) * | 2018-07-12 | 2021-10-29 | 创新先进技术有限公司 | 多平台下埋点归一方法及装置和电子设备 |
CN111708569A (zh) * | 2020-05-20 | 2020-09-25 | 深圳市致宇天承科技有限公司 | 一种基于安卓和ios系统的功能动态配置还原算法 |
CN112380819A (zh) * | 2020-11-17 | 2021-02-19 | 北京字跳网络技术有限公司 | 文档编辑方法、装置和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN106155641B (zh) | 2019-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106155641A (zh) | 一种移动终端应用界面动态生成的方法和系统 | |
EP3132345B1 (en) | Application managing application | |
CN104808983B (zh) | 一种应用程序的推送方法及服务器 | |
CN104199723B (zh) | 基于虚拟设备的摄像头映射方法 | |
US20150378599A1 (en) | Method and electronic device for displaying virtual keyboard | |
EP2901260A1 (en) | Intelligent window placement | |
CN108469979A (zh) | 一种页面跳转方法、装置、服务器和存储介质 | |
CN104883384B (zh) | 一种为轻应用提供客户端的端能力的方法与装置 | |
CN102646055B (zh) | 一种系统间数据交互的方法 | |
CN113360116A (zh) | 控制终端的方法、装置、设备以及存储介质 | |
WO2015158304A1 (en) | Data processing method and apparatus | |
CN106293412A (zh) | 图标调整方法、图标调整系统与电子装置 | |
CN107844352A (zh) | 一种应用界面配置方法和装置 | |
CN107463322A (zh) | 显示控制方法及装置、终端装置及计算机可读存储介质 | |
CN105975637A (zh) | 一种页面加载的显示方法及装置 | |
CN105653133B (zh) | 应用程序的扩展方法及装置 | |
CN102932791A (zh) | 智能手机与电脑之间通过wifi无线网络协同处理信息的方法 | |
CN109621404B (zh) | 跨平台交互系统、方法、装置、计算机设备及存储介质 | |
CN110321122A (zh) | 浏览器应用的开发方法及相关设备 | |
CN105511787B (zh) | 输入方法、电子设备和输入系统 | |
CN103561417A (zh) | 提高移动客户端产品对用户请求的响应质量的方法 | |
CN104881233A (zh) | 触控界面中的滑动控制方法和装置 | |
CN110413421A (zh) | 业务数据处理方法和装置、交易数据处理方法和装置 | |
KR102401345B1 (ko) | 사용자 계정 정보에 기반한 복수 작성자의 컨텐츠 작성 방법 및 그 장치 | |
CN107948395A (zh) | 移动终端数据备份方法、系统及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder | ||
CP02 | Change in the address of a patent holder |
Address after: Room 818, 8 / F, 34 Haidian Street, Haidian District, Beijing 100080 Patentee after: BEIJING ULTRAPOWER SOFTWARE Co.,Ltd. Address before: 100089 Beijing city Haidian District wanquanzhuang Road No. 28 Wanliu new building 6 storey block A Room 601 Patentee before: BEIJING ULTRAPOWER SOFTWARE Co.,Ltd. |