本发明涉及物联网技术领域,尤其涉及一种可配置的ui界面生成方法。
背景技术:
物联网是现代信息技术发展到一定阶段后出现的一种聚合性应用技术。物联网通过约定的协议,把任何物品和互联网连接起来,进行信息交换和通信,以实现智能化识别、定位、跟踪、监控和管理的网络。随着计算机和网络技术的发展,物联网领域发生了深刻的技术变革。其功能不仅仅限制在温度、压力、湿度、光照强度等这些数据的测量上。现如今,随着网络发展和用户多样化的需求,产生了各种各样的消费产品,例如:智能手机、移动平板、数码相机和穿戴设备等。同样,在特定领域,物联网系统不仅能够灵活的接入和访问各种设备,而且能满足用户的特殊需求。
现有移动通讯终端通常都支持用户界面(ui)配置功能。常见的移动通讯终端ui配置的实现方法是,通过修改程序文件,如*.c(c语言源代码文件)或*.cpp(c++源代码文件)等其他代码文件,*.h(同名.c文件中定义的变量、数组、函数的声明)或其他文件,或者其他资源文件,然后通过编译成二进制文件,把二进制文件下载到移动通讯终端的内存空间(如flash),移动通讯终端在运行的时候对flash的代码区进行执行读取来实现。
现有的基于移动设备的物联网设备控制界面,用于操控基于智能模块联网的设备;每个设备的控制面板复用性低,且随着接入设备量的增多,开发周期长,开发人员也会跟着增加。
技术实现要素:
本发明使得非开发人员或用户可通过简单配置json文本生成可交互的ui界面。在reactnative上抽象出数据层和基于组件的dsl。dsl用于描述数据源和界面,屏蔽了界面的形成方式和数据获取方式这些底层细节。后续只需要通过编写dsl就可以获取数据并生成相应的设备控制界面。
本发明所述的可配置的ui界面生成方法,使用领域特定语言描述数据源和用户交互界面,所述领域特定语言采用json脚本格式,所述ui界面实现步骤,包括设定有ui界面参数信息的json初始配置文件,所述ui界面程序通过调用json初始配置文件中的参数信息对移动通讯终端的ui进行配置;还包括ui界面修改步骤,通过修改所述json初始配置文件中的参数信息,并重启ui界面程序,实现所述ui界面的重新配置。
较佳地,所述ui界面配置步骤具体包括以下步骤:
步骤11)编写ui界面的json脚本;
步骤12)设定有ui界面参数信息的json初始配置文件;
步骤13)编译ui界面json脚本;
步骤14)将步骤12)中的json初始配置文件和步骤13)的编译结果传输至移动通讯终端的文件系统中;
步骤15)移动通讯终端开机进入工作状态,运行经过编译的ui界面json脚本,通过对步骤12)中的json初始配置文件的解析,渲染出所述ui界面。
较佳地,所述ui界面重新配置步骤具体包括以下步骤:
步骤21)修改所述json初始配置文件中的参数信息;
步骤22)将修改后的所述json初始配置文件传输至移动通讯终端的文件系统中,替换原初始配置文件;
步骤23)重启经过编译的ui界面json脚本,实现ui界面的重新配置。
较佳地,所述json初始配置文件中的参数信息包括ui界面元素的位置、颜色、高度、宽度属性。
较佳地,所述json初始配置文件中的参数信息包括对用户操作的反应。
较佳地,所述根据所述用户操作反应的配置信息,在所述ui界面分别显示或隐藏界面元素的步骤包括:若控件的配置信息为第一配置信息,在所述ui界面显示所述配置信息为第一配置信息的控件;若控件的配置信息为第二配置信息,在所述ui界面隐藏所述配置信息为第二配置信息的控件。
较佳地,所述参数信息包括设备端的本地信息和管理服务器端的远程信息。
较佳地,所述ui界面的显示包括以下步骤:
通过读取json配置文件,得到所述待显示ui界面的元素节点;
根据所述ui界面的元素节点创建与所述待显示ui界面对应的树形控件;
配置所述ui界面的与所述树形控件对应的渲染列表;以及
根据所述渲染列表,采用双缓冲技术对所述树形控件进行渲染。
附图说明
图1为本发明实施提供的一种程序调用流程图。
具体实施方式
下面结合附图和具体实施方式对本发明做进一步描述。
如图1所示,本发明所述的一种可配置的ui界面生成方法,通过dsl领域特定语言构建javascriptbundle,然后由jsbundle调用数据层的各种数据资源,数据层的数据资源再调用reactnative,最后reactnative再分别render成android和ios平台上的具体ui界面。
在本发明的一个较佳实施例中,通过dsl加数据层生成ui设备控制界面,通过json格式这种简单的dsl为例:
其中data中jsbridge表示同过jsbridge方式向客户端获取数据,也可以填server向服务端获取数据。
最终渲染成一个宽高100px的,背景红色的按钮,当点击时,弹出文案。
在本发明的另一个较佳实施例中,渲染了两个按钮,当点击任意一个按钮,就会弹出用户所按按钮的颜色,具体json脚本如下:
本发明使得非开发人员或用户可通过简单配置json文本生成可交互的ui界面。在reactnative上抽象出数据层和基于组件的dsl。dsl用于描述数据源和界面,屏蔽了界面的形成方式和数据获取方式这些底层细节。后续只需要通过编写dsl就可以获取数据并生成相应的设备控制界面。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。