信息处理装置、信息处理方法以及存储介质与流程

文档序号:18409327发布日期:2019-08-10 00:48阅读:120来源:国知局
信息处理装置、信息处理方法以及存储介质与流程

本发明涉及信息处理装置、信息处理方法以及存储介质。具体地,涉及一种能够实现动态改变页面布局及功能的动态渲染方法。



背景技术:

传统上,存在如下一种动态渲染库(uibuilder),图2示出了该动态渲染库的框架图。其中,rn(react-native)框架让js开发者可以大部分使用js代码就可以构建一个跨平台app。facebook官方说法是learnonce,runeverywhere,即在android、ios、browser各个平台,程序画ui和写逻辑的方式都大致相同。因为js可以动态加载,从而理论上可以做到writeonce,runeverywhere,当然要做额外的适配处理。rn需要一个js的运行环境,在ios上直接使用内置的javascriptcore,在android则使用webkit.org官方开源的jsc.so。此外还集成了其他开源组件,如fresco图片组件、okhttp网络组件等。rn会把应用的js代码(包括依赖的framework)编译成一个js文件(一般命名为index.android.bundle),rn的整体框架目标就是为了解释运行这个js脚本文件,如果是js扩展的api,则直接通过bridge调用native方法;如果是ui界面,则映射到virtualdom这个虚拟的js数据结构中,通过bridge传递到native,然后根据数据属性设置各个对应的真实native的view。bridge是一种js和java代码通信的机制,用bridge函数传入对方module和method即可得到异步回调的结果。

对于js开发者来说,画ui只需要画到virtualdom中,不需要特别关心具体的平台,还是原来的单线程开发,还是原来html组装ui(jsx),还是原来的样式模型(部分兼容)。rn的界面处理除了实现view增、删、改、查的接口之外,还自定义一套样式表达csslayout,这套csslayout也是跨平台实现。rn拥有画ui的跨平台能力,主要是加入virtualdom编程模型,该方法一方面可以照顾到js开发者在htmldom的部分传承,让js开发者可以用类似dom编程模型就可以开发原生app,另一方面则可以让virtualdom适配实现到各个平台,实现跨平台的能力,并且为未来增加更多的想象空间,比如react-cavas、react-opengl。而实际上react-native也是从react-js演变而来。

对于android开发者来说,rn是一个普通的安卓程序加上一堆事件响应,事件来源主要是js的命令。主要有两个线程,uimainthread和jsthread。uithread创建一个app的事件循环后,挂在looper等待事件,事件驱动各自的对象执行命令。jsthread运行的脚本相当于底层数据采集器,不断上传数据,转化成ui事件,通过bridge转发到uithread,从而改变真实的view。后面再深一层发现,uimainthread跟jsthread更像是cs模型,jsthread更像服务端,uimainthread是客户端,uimainthread不断询问jsthread并且请求数据,如果数据有变,则更新ui界面。

然而,现有的动态渲染库存在如下缺陷:开发体验一般,文档很粗略,两个平台还没有完全统一,控件不完善,升级rn版本需要大动干戈,而且要做出优质app需要花费大量人力和时间去打磨。



技术实现要素:

鉴于现有技术中的上述问题研发了本发明。本发明旨在提供如下的动态渲染方法,根据该方法,能够实现如下技术效果:(1)ios和android只需要一套配置文件就可以完成一个应用程序,提高了开发效率。(2)根据模板视图和实际屏幕比值,解决了android大部分机型的适配问题。(3)通过更换模板文件和调整后台接口,可以轻松实现页面布局调整和事件点击切换,减少发布应用市场频次。

根据本发明的第一方面,提供了一种能够与外部装置进行通信的信息处理装置,所述信息处理装置具有用于显示信息的显示单元,所述信息处理装置包括:接收单元,其被构造为从外部装置接收配置文件;解析单元,其被构造为对接收单元接收到的配置文件进行解析,以获得用于显示的ui信息;以及渲染单元,其被构造为基于解析单元获得的ui信息,更新所述显示单元的显示配置。

根据本发明的第二方面,提供了一种信息处理装置的信息处理方法,所述信息处理装置能够与外部装置进行通信,所述信息处理装置具有用于显示信息的显示单元,所述信息处理方法包括:接收步骤,为从外部装置接收配置文件;解析步骤,对接收到的配置文件进行解析,以获得用于显示的ui信息;以及渲染步骤,基于在解析步骤中获得的ui信息,更新所述显示单元的显示配置。

根据本发明的第三方面,提供了一种计算机可读存储介质,其存储计算机程序,所述计算机程序在被处理器执行时,实现上述信息处理方法中包括的步骤。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域或普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是例示本发明中的信息处理装置的硬件构造的图。

图2是例示现有的动态渲染库的框图。

图3是例示根据本发明第一实施例的信息处理方法的流程图。

图4是例示根据本发明第一实施例的信息处理装置的模块结构的框图。

图5是例示根据本发明第二实施例的信息处理方法的流程图。

图6是例示根据本发明第二实施例的信息处理装置的模块结构的框图。

图7是例示根据本发明第三实施例的信息处理方法的流程图。

图8是例示根据本发明第三实施例的信息处理装置的模块结构的框图。

图9是例示本发明的信息处理装置的解析单元(resolver模块)的示例的框图。

图10是例示本发明的信息处理装置的渲染单元(component模块)的示例的框图。

图11是例示本发明的信息处理装置的执行单元(module模块)的示例的框图。

图12是例示本发明的信息处理装置的过滤单元(filter模块)的示例的处理流程。

图13a和图13c分别例示了从外部装置接收的配置文件以及根据该配置文件在信息处理装置上显示的ui画面。

图13b和图13d分别例示了修改后的配置文件以及根据该配置文件在信息处理装置上显示的ui画面。

具体实施方式

在下文中将参照附图详细地描述本发明的实施例。应当理解,下述实施例并不意图限制本发明,并且,关于根据本发明的解决问题的手段,并不一定需要根据下述实施例描述的各方面的全部组合。为简化起见,对相同的结构部分或者步骤,使用了相同的标记或标号,并且省略其说明。

[信息处理装置的硬件结构]

图1是示出本发明中的信息处理装置的硬件构造的图。在本实施例中,以智能电话作为信息处理装置的示例给出描述。但请注意,虽然在本实施例中例示了智能电话作为信息处理装置1000,但是显然不限于此,本发明的信息处理装置可以是移动终端(智能手机、智能手表、智能手环、音乐播放设备)、笔记本电脑、平板电脑、pda(个人数字助理)、传真装置、打印机、或者是具有信息处理功能的互联网设备(例如数字照相机、电冰箱、电视机等)等各种装置。

首先,参照图1的框图描述信息处理装置1000的硬件结构。此外,在本实施例中作为示例描述了以下构造,但是本发明的信息处理装置不限于图1所示的构造。

信息处理装置1000包括经由系统总线彼此连接的输入接口101、cpu102、rom103、ram105、存储装置106、输出接口104、通信单元107和短距离无线通信单元108和显示单元109。输入接口101是用于接收用户所输入的数据以及功能的执行指令的接口,并且是用于经由诸如麦克风、按键、按钮或触摸屏的操作单元(未示出)接收从用户输入的数据和操作指令的接口。请注意,稍后描述的显示单元109和操作单元可以至少部分地集成,并且,例如,可以是在同一画面中进行画面输出和接收用户操作的构造。

cpu102是系统控制单元,并且总体上全面地控制信息处理装置1000。此外,例如,cpu102进行信息处理装置1000的显示单元109的显示控制。rom103存储cpu102执行的诸如数据表和控制程序以及操作系统(os)程序等的固定数据。在本实施例中,rom103中存储的各个控制程序,例如,在rom103中存储的os的管理下,进行诸如调度、任务切换和中断处理等的软件执行控制。

ram105例如由需要备用电源的sram(静态随机存取存储器)、dram等构造。在这种情况下,ram105可以以非易失性方式存储诸如程序控制变量等的重要数据。此外,ram105用作cpu102的工作存储器和主存储器。

存储装置106存储预先训练的模型(例如,词纠错模式、实体模型、rank模型、语义模型等)、用于进行检索的信息处理图片数据库以及用于执行根据本发明的信息处理方法的应用程序等。请注意,这里的信息处理图片数据库也可以存储在诸如服务器的外部装置中。此外,存储装置106存储诸如用于经由通信单元107与通信装置(未示出)进行发送/接收的信息发送/接收控制程序等的各种程序,以及这些程序使用的各种信息。此外,存储装置106还存储信息处理装置1000的设置信息、信息处理装置1000的管理数据等。

输出接口104是用于对显示单元109进行控制以显示信息以及应用程序的显示画面的接口。显示单元109例如由lcd(液晶显示器)构造。通过在显示单元109上布置具有诸如数值输入键、模式设置键、决定键、取消键和电源键等的键的软键盘,可以接收经由显示单元109的来自用户的输入。

信息处理装置100经由通信单元107通过例如wi-fi(无线保真)或蓝牙等无线通信方法,与外部装置(未示出)执行数据通信。

此外,信息处理装置1000也可以经由短距离无线通信单元108,在短距离范围内与外部装置等进行无线连接并执行数据通信。并且短距离无线通信单元108通过与通信单元107不同的通信方法进行通信。例如,可以使用其通信范围比通信单元107的通信方法短的蓝牙低功耗(ble)作为短距离无线通信单元108的通信方法。此外,作为短距离无线通信单元108的通信方法,例如,还可以使用nfc(近场通信)或wi-fi感知(wi-fiaware)。

[第一实施例]

[根据第一实施例的信息处理方法]

根据本发明的信息处理方法可以通过信息处理装置1000的cpu102读取存储在rom103或存储装置106上的控制程序、或者经由通信单元107从通过网络与信息处理装置1000连接的网络服务器(未示出)而下载的控制程序来实现。

首先,结合图3和图4对根据本发明第一实施例的信息处理方法进行说明。图3是例示根据本发明第一实施例的信息处理方法的流程图。如图3所示,首先,在接收步骤s101中,诸如客户端的信息处理装置1000从诸如服务器的外部装置(未示出)接收配置文件,这里的配置文件例如可以是xml文件。图13a和图13b示出了配置文件的示例。

然后,在解析步骤s102中,信息处理装置1000对接收到的配置文件进行解析,以获得用于显示的ui信息。如图13a所示,ui信息包括了显示页面的宽度比(示例中为100%)、高度(示例中为500)、在页面中显示的元素(例如标签)的内容(示例中为“这是一个可点击的标签”)、标签的宽度(示例中为400)和高度(示例中为100)等。这里,可根据配置文件中的节点名称,来对配置文件进行解析,以获得ui信息。例如,如图13a所示,在配置文件中,节点<component>下的信息表示ui信息。当然,根据需要,也可以自定义其他节点名称来表示ui信息。

最后,在渲染步骤s103中,信息处理装置1000基于在解析步骤s102中获得的ui信息,更新其显示单元的显示配置。在下次启动信息处理装置1000时,显示单元以更新后的显示配置来显示画面(如图13c所示)。

另外,信息处理装置1000还可以获取其显示单元的分辨率,并根据该分辨率和ui信息,来更新显示配置。例如,可以根据ui信息中的页面及显示元素的宽高比,进行等比例缩放,使得显示画面能够适合于不同尺寸的显示单元。

[根据第一实施例的信息处理装置的模块结构]

图4是例示根据本发明第一实施例的信息处理装置的模块结构的框图。信息处理装置1000包括显示单元1100、接收单元1101、解析单元1102和渲染单元1103。显示单元1100用于显示信息。接收单元1101从外部装置接收配置文件。解析单元1102对接收到的配置文件进行解析,以获得用于显示的ui信息。渲染单元1103基于解析单元获得的ui信息,更新所述显示单元的显示配置。这里的接收单元1101也可通过图1中的通信单元107实现。

[第二实施例]

[根据第二实施例的信息处理方法]

下面结合图5和图6对根据本发明第二实施例的信息处理方法进行说明。图5是例示根据本发明第二实施例的信息处理方法的信息处理步骤的流程图。

如图5所示,根据第二实施例的信息处理方法与根据第一实施例的信息处理方法的区别在于,在解析步骤之后,增加了执行步骤s204。

具体地说,在第二实施例中,在解析步骤s102中获得的ui信息包括事件信息,事件信息表示响应于用户对显示画面的用户操作而要执行的动作,例如,图13a中的onclick=“action://app/ui/toast?message=我是执行事件1”这部分表示事件信息。

在执行步骤s204中,响应于用户操作(例如点击),执行事件信息表示的动作(例如显示message)。然后,在渲染步骤s203中,基于在解析步骤s102中获得的ui信息,更新显示单元的显示配置,同时将步骤s204中执行的动作的结果反映在该显示配置上。在下次启动信息处理装置2000时,显示单元以更新后的显示配置来显示画面(如图13c所示)。

[根据第二实施例的信息处理装置的模块结构]

图6是例示根据本发明第二实施例的信息处理装置的模块结构的框图。如图6所示,根据第二实施例的信息处理装置2000与根据第一实施例的信息处理装置1000的区别在于,增加了执行单元1204,并用渲染单元1203替代了第一实施例中的渲染单元1103。

具体地说,执行单元1204响应于用户操作,执行由ui信息中包括的事件信息表示的动作。渲染单元1203基于获得的ui信息,更新显示单元的显示配置,并将动作的结果反映在该显示配置上。

[第三实施例]

[根据第三实施例的信息处理方法]

下面结合图7和图8对根据本发明第三实施例的信息处理方法进行说明。图7是例示根据本发明第三实施例的信息处理方法的信息处理步骤的流程图。

如图7所示,根据第三实施例的信息处理方法与根据第二实施例的信息处理方法的区别在于,在解析步骤之后,增加了过滤步骤s305。

具体地说,在第三实施例中,在解析步骤s302中,在对配置文件的解析处理中,还获得过滤信息,过滤信息表示用户操作的异常性,即,通过判断过滤信息中的属性,响应于不同的用户操作而执行不同的动作(稍后描述)。过滤信息可以捕获指定的事件发生,并执行逻辑处理,例如网络变化、地理位置变化、或者ui上的某个点击事件的特定处理逻辑。这里,与获得ui信息的方式类似,可根据配置文件中的节点名称,来对配置文件进行解析,以获得过滤信息。例如,在配置文件中,节点<filters>(未例示)下的信息表示ui信息。当然,根据需要,也可以自定义其他节点名称来表示过滤信息。

在过滤步骤s305中,根据上述过滤信息,确定响应于用户操作而要执行的动作(稍后将参照图12详细描述过滤步骤)。接下来,在执行步骤s304中,根据步骤s305的确定结果来执行动作。

最后,在渲染步骤s203中,基于在解析步骤s302中获得的ui信息,更新显示单元的显示配置,同时将步骤s304中执行的动作的结果反映在该显示配置上。在下次启动信息处理装置3000时,显示单元以更新后的显示配置来显示画面。

[根据第三实施例的信息处理装置的模块结构]

图8是例示根据本发明第三实施例的信息处理装置的模块结构的框图。如图8所示,根据第三实施例的信息处理装置3000与根据第二实施例的信息处理装置2000的区别在于,增加了过滤单元1305,用解析单元1302替代了第二实施例中的解析单元1102,并用执行单元1304替代了第二实施例中的执行单元1204。

具体地说,解析单元1302通过对接收到的配置文件进行解析,以获得ui信息和过滤信息。过滤单元1305根据过滤信息,确定响应于用户操作而要执行的动作。执行单元1304根据过滤单元1305的确定结果来执行动作。

下面参照图9至图12分别对本发明的信息处理装置的各模块进行说明。

图9是例示本发明的信息处理装置的解析单元(resolver模块)的框图。resolver负责解析各个文件;appresolver解析app.xml(总配置文件);componentresolver解析component.xml(总component控件文件);dataresolver解析本地或者服务器请求回来的json数据;windowresolver解析单个页面的xml文件;styleresolver解析style.xml(总体视图样式)。

图10是例示本发明的信息处理装置的渲染单元(component模块)的示例的框图。component模块的一些基础控件,负责视图的渲染,并且可以根据项目的具体需求进行定制。

图11是例示本发明的信息处理装置的执行单元(module模块)的示例的框图。

module的各个模块分别实现了不同的功能。ui:刷新页面、加载更多、更新数据源数据、更改视图、弹蒙层和提示语等;utility:定时器、打电话、post请求、get请求、批处理、本地通知和函数计算等;device:震动、手电筒、定位、相机、响铃、录音;media:音频播放、视频播放;collect和db:数据库增、删、改、查等功能;picker:选择相片功能;pns:友盟别名和标签绑定;route:应用内页面跳转、跳转应用市场、跳转设置页面;social:三方登录和分享;updater:自动检测更新。

图12是例示本发明的信息处理装置的过滤单元(filter模块)的处理流程,其中有如下几个主要属性。event:负责筛选出相关的filter;filter:有多个匹配条件当条件全部满足或有属性不满足时会执行对应的action事件;属性ant-action:当特定属性不满足条件时要执行的action;ant-action:当属性不满足时要执行的action;action:当属性全部满足时要执行的action;break:在执行属性ant-action、ant-action、action任意一个action之后,会判断break属性值,为countinue则继续循环过滤,为on-true如果执行的是action则中止过滤,为on-false执行的是属性ant-action则中止过滤。

图13a和图13c分别例示了从外部装置接收的配置文件以及根据该配置文件在信息处理装置上显示的ui画面。图13b和图13d分别例示了修改后的配置文件以及根据该配置文件在信息处理装置上显示的ui画面。当从外部装置(例如服务器)接收的配置文件发生变化(有更新)时,信息处理装置(例如客户端)的显示画面也会发生相应变化。如图13a-图13c所示,在服务器端,配置文件中的表示标签的高度、宽度以及内容的信息,以及表示点击标签之后显示的消息的信息发生了变化,相应地,在客户端,显示画面中的内容也发生了变化。这里,客户端在每次启动时会检查服务器是否有配置文件的更新,如果有更新开始下载配置文件,并在下次启动客户端时应用。

根据本发明的信息处理装置,能够实现如下技术效果:(1)ios和android只需要一套配置文件(xml,json,lua)就可以完成一个应用程序,提高了开发效率。(2)根据模板视图和实际屏幕比值,解决了android大部分机型的适配问题。(3)通过更换模板文件和调整后台接口,可以轻松实现页面布局调整和事件点击切换,减少发布应用市场频次。

以上虽然参照示例性实施例对本发明进行了描述,但是上述实施例只为说明本发明的技术构思及特点,并不能以此限制本发明的保护范围。凡根据本发明精神实质所做的任何等效变型或修改,都应涵盖在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1