【发明内容】
有鉴于此,本发明提供了一种桌面的实现方法和装置,以便于解决桌面展示的布局受限于显示模板和安装于移动终端的APP的缺陷。
具体技术方案如下:
本发明提供了一种桌面的实现方法,该方法包括:
接收并解析包含桌面服务数据的数据包,得到界面布局信息;
利用所述界面布局信息在桌面上创建显示所述桌面服务数据的显示界面。
根据本发明一优选实施方式,所述界面布局信息包括:显示单元信息以及显示单元包含的UI组件信息,其中每个显示单元对应桌面上的一个显示界面。
根据本发明一优选实施方式,利用所述界面布局信息在桌面上创建显示所述桌面服务数据的显示界面包括:
利用所述显示单元包含的UI组件信息创建UI组件以构成显示单元对应的视图容器;
利用所述桌面服务数据填充所述视图容器,并将所述视图容器绘制在桌面上,形成显示单元对应的显示界面。
根据本发明一优选实施方式,所述显示单元信息包含显示单元的位置信息,所述位置信息用于确定所述显示界面在桌面上的位置。
根据本发明一优选实施方式,所述数据包中还包括桌面服务数据的显示ID;
该方法还包括:保存显示ID与显示界面的对应关系。
根据本发明一优选实施方式,利用所述界面布局信息在桌面上创建显示所述桌面服务数据的显示界面包括:
判断桌面上是否已经存在所述显示ID对应的显示界面,如果否,则利用所述界面布局信息在桌面上创建显示所述桌面服务数据的显示界面;如果是,则利用所述数据包对所述显示ID对应的显示界面进行更新。
根据本发明一优选实施方式,利用所述数据包对所述显示ID对应的显示界面进行更新包括:
如果所述数据包中携带进行数据更新的指示信息,则利用所述数据包中的桌面服务数据对所述显示界面进行更新;如果所述数据包中携带进行重构的指示信息,则利用所述数据包中的界面布局信息对所述显示界面进行重构。
根据本发明一优选实施方式,利用所述数据包中的界面布局信息对所述显示界面进行重构包括:
利用所述界面布局信息中显示单元包含的UI组件信息创建UI组件以构成显示单元对应的视图容器,利用所述数据包中的桌面服务数据填充所述视图容器并将所述视图容器绘制于所述显示ID对应的显示界面。
根据本发明一优选实施方式,该方法还包括:
如果接收到携带显示ID和删除显示界面的指示信息的数据包,则将所述显示ID对应的显示界面从桌面上删除。
根据本发明一优选实施方式,所述数据包中还包括桌面服务数据的时效信息;
该方法还包括:删除超过时效的桌面服务数据所在的显示界面。
根据本发明一优选实施方式,在所述解析包含桌面服务数据的数据包之前还包括:
发送包含所述显示ID的请求。
本发明还提供了一种桌面的实现方法,该方法包括:
向移动终端发送包含桌面服务数据的数据包,该数据包中携带界面布局信息,所述界面布局信息用于所述移动终端在桌面上创建显示所述桌面服务数据的显示界面。
根据本发明一优选实施方式,所述界面布局信息包括:显示单元信息以及显示单元包含的UI组件信息,其中每个显示单元对应桌面上的一个显示界面。
根据本发明一优选实施方式,所述数据包中还包括桌面服务数据的显示ID;
在所述向移动终端发送包含桌面服务数据的数据包之前,还包括:接收所述移动终端发送的包含所述显示ID的请求。
根据本发明一优选实施方式,该方法还包括:获取所述移动终端的桌面窗口信息;
在所述数据包中携带与所述桌面窗口信息相适应的界面布局信息。
本发明还提供了一种桌面的实现装置,该装置包括:
交互单元,用于接收数据包;
解析单元,用于解析所述数据包,得到界面布局信息和桌面服务数据;
创建单元,用于利用所述界面布局信息,在桌面上创建显示所述桌面服务数据的显示界面。
根据本发明一优选实施方式,所述界面布局信息包括:显示单元信息以及显示单元包含的UI组件信息,其中每个显示单元对应桌面上的一个显示界面。
根据本发明一优选实施方式,所述创建单元具体执行:利用所述显示单元包含的UI组件信息创建UI组件以构成显示单元对应的视图容器;利用所述桌面服务数据填充所述视图容器,并将所述视图容器绘制在桌面上,形成显示单元对应的显示界面。
根据本发明一优选实施方式,所述创建单元还用于依据所述显示单元信息包含的显示单元的位置信息确定所述显示界面在桌面上的位置。
根据本发明一优选实施方式,该装置还包括:记录单元,用于保存所述数据包中包含的显示ID与所述显示界面的对应关系。
根据本发明一优选实施方式,该装置还包括:判断单元和更新单元;
所述判断单元,用于判断桌面上是否已经存在所述数据包中包含的显示ID对应的显示界面,如果否,则触发所述创建单元;如果是,触发更新单元;
所述创建单元在受到所述判断单元的触发后,执行所述在桌面上创建显示所述桌面服务数据的显示界面的操作;
所述更新单元,用于受到所述判断单元的触发后,利用所述数据包对所述显示ID对应的显示界面进行更新。
根据本发明一优选实施方式,所述更新单元,具体执行:如果所述数据包中携带进行数据更新的指示信息,则利用所述数据包中的桌面服务数据对所述显示界面进行更新;如果所述数据包中携带进行重构的指示信息,则利用所述数据包中的界面布局信息对所述显示界面进行重构。
根据本发明一优选实施方式,所述更新单元在利用所述数据包中的界面布局信息对所述显示界面进行重构时,具体执行:利用所述界面布局信息中显示单元包含的UI组件信息创建UI组件以构成显示单元对应的视图容器,利用所述数据包中的桌面服务数据填充所述视图容器,并将所述视图容器绘制于所述显示ID对应的显示界面。
根据本发明一优选实施方式,该装置还包括:第一删除单元,用于如果所述解析单元从服务器端发送的数据包中解析出显示ID和删除显示界面的指示信息,则将所述显示ID对应的显示界面从桌面上删除。
根据本发明一优选实施方式,所述数据包中还包括桌面服务数据的时效信息;
该装置还包括:第二删除单元,用于删除超过时效的桌面服务数据所在的显示界面。
根据本发明一优选实施方式,所述交互单元,还用于发送包含所述显示ID的请求。
本发明还提供了一种桌面的实现装置,该装置包括:
信息携带单元,用于在包含桌面服务数据的数据包中携带界面布局信息;
交互单元,用于向移动终端发送所述数据包;
所述界面布局信息用于所述移动终端在桌面上创建显示所述桌面服务数据的显示界面。
根据本发明一优选实施方式,所述界面布局信息包括:显示单元信息以及显示单元包含的UI组件信息,其中每个显示单元对应桌面上的一个显示界面。
根据本发明一优选实施方式,所述信息携带单元,还用于在所述数据包中携带所述桌面服务数据的显示ID;
所述交互单元,还用于接收所述移动终端发送的包含所述显示ID的请求。
根据本发明一优选实施方式,所述交互单元,还用于获取所述移动终端的桌面窗口信息;
所述信息携带单元在所述数据包中携带与所述桌面窗口信息相适应的界面布局信息。
由以上技术方案可以看出,本发明在发送给移动终端的数据包中携带界面布局信息,移动终端利用解析数据包得到的界面布局信息创建显示界面来显示桌面服务数据。通过这种方式,桌面展示的布局并不受限于显示模板和安装于移动终端的APP,实现对桌面展示的灵活配置。
【具体实施方式】
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
本发明的核心思想在于,在发送给移动终端的桌面服务数据的数据包中携带界面布局信息,使得移动终端能够从数据包中解析得到界面布局信息,并按照该界面布局信息在桌面上创建显示界面,在创建的显示界面中显示桌面服务数据。
下面结合图1所示的实施例对本发明提供的方法流程进行详细描述,如图1中所示,该方法流程主要包括以下步骤:
在步骤101中,服务器端向移动终端发送包含桌面服务数据的数据包,该数据包中携带界面布局信息。
在本步骤中,服务器端可以向订制了桌面服务的移动终端发送包含桌面服务数据的数据包,例如新闻类服务的服务器端可以向订制了新闻类桌面服务的移动终端发送包含新闻类信息的数据包,该新闻类信息主要用于进行桌面展示;视频类服务的服务器端可以向订制了视频类桌面服务的移动终端发送包含视频类信息的数据包,该视频类信息主要用于进行桌面展示,等等。
服务器端可以主动向移动终端推送桌面服务数据的数据包,也可以应移动终端的请求向移动终端返回桌面服务数据的数据包,例如移动终端在启动后创建桌面时向服务器端请求数据。
在本发明实施例中,服务器端发送的数据包中主要携带三种内容:
其一是桌面服务数据,这部分是具体的内容数据,例如文本数据、图片数据、视频数据等等。
其二是桌面服务数据所对应的界面布局信息,该部分是本发明实施例相比较现有技术的重点区别所在。界面布局信息是桌面服务数据在桌面上显示时如何布局的信息,在移动终端创建用于显示该桌面服务数据的显示界面时使用。
具体地,界面布局信息可以包括显示单元信息以及显示单元包含的UI(用户界面)组件信息。通过界面布局信息可以自由定义一个或多个显示单元,每个显示单元可以对应桌面上的一个显示界面,该显示界面的实现可以采用画布的形式,优选地,可以采用网页画布即View(视图)的形式。
对于不同类型的数据可以布局在一个显示单元中,也可以分别布局在不同的显示单元中,实现比较灵活,只要在服务器端确定好布局即可。例如,如果服务器端下发的桌面服务数据中既包含图片又包含文本,则可以选择将图片和文本在一个显示单元中显示,那么在下发的数据包的界面布局信息中可以仅包含一个显示单元的信息,在该显示单元中即包含文本的UI组件信息,又包含图片的UI组件信息。也可以将图片和文本分别在不同的显示单元中显示,然后在图片的显示单元中包含图片的UI组件信息,在文本的显示单元中包含文本的UI组件信息。
上述的显示单元信息中可以包含显示单元的数量信息、显示单元的位置信息等。显示单元包含的UI组件信息主要包括:组件类型(例如图片组件、文本组件等)、组件位置、组件大小、组件颜色、组件形状等信息,还可以包括组件对用户操作事件的响应信息。其中的用户操作事件可以包括但不限于用户对组件的点击、拖拽、滑动等,对操作事件的响应信息用于描述对用户操作事件的响应描述。一种典型的用户操作事件为点击事件,当用户点击组件时,通常是对数据的请求事件,为了降低对处理事件的繁琐程度,可以指定该点击事件对应的URL请求,即当用户点击组件时,请求并获取该URL对应的数据。
上述界面布局信息的携带方式可以采用服务器端和移动终端约定的任意数据协议格式,优选地,在本发明实施例中可以采用JSON(JavaScriptObjectNotation)的格式。举一个实例:可以采用字段“ViewNum”表示显示单元的数量信息,例如该字段值为2,表示包含2个显示单元。
显示单元包含的组件信息中:可以采用字段“ViewType”表示组件类型,字段值“0”表示文本组件,“1”表示图片组件,假设该实例中包含一个文本组件,一个图片组件。
可以采用字段“position”表示组件位置,假设文本组件的位置为(0:0:320:460),图片组件的位置为(320:460:480:600)。
可以采用字段“txtSrc”表示文本组件的内容,其内容是桌面服务数据的内容。
可以采用字段“TextSize”表示文本组件的大小,假设该实例中文本组件的大小为13dp。
可以采用字段“TextColor”表示文本组件的颜色。
可以采用字段“TextMaxLines”表示文本显示的最大行数,假设本实例中最大行数为1行。
可以采用字段“Imgsrc”表示图片组件的内容,其内容是桌面服务数据的内容。在本实例中其内容可以是一个具体的URL所指向的图片。
可以采用字段“ImageScaleType”表示图片组件的大小,采用字段“ImageCornersType”表示图片边角的类型,采用字段“ImageCornerAngle”表示图片边角的角度。假设本实例中,图片的四个角都采用圆角类型。
采用字段“OnclickEnable”表示是否对点击事件进行响应,采用字段“ViewUrl”表示对点击事件进行响应时跳转到的URL,即该点击事件对应的URL请求。
其三是桌面服务数据的属性信息,例如数据的时效信息、数据的显示ID(标识)等等。
数据的时效表示桌面服务数据在桌面上显示的时间信息,超过该时间则桌面上不再进行该桌面服务数据的显示。数据的时效主要用于移动终端删除显示界面时使用,后续将会具体涉及和描述。
数据的显示ID是服务器端与移动终端关联数据的唯一标识,该数据的显示ID与桌面上的显示界面对应,主要用于移动终端进行数据请求或者数据更新时使用,后续将具体涉及和描述。对于服务器端,如果是对同一桌面服务下发数据,可以采用相同的显示ID,也可以采用不同的显示ID,在服务器端可以灵活配置。如果采用相同的显示ID,则移动终端利用数据包中的内容进行已有显示界面的数据更新;如果采用不同的显示ID,则移动终端新创建显示界面对数据包中的内容进行显示。
除了采用服务器端发送数据包给移动终端之外,还可以采用其他设备发送包含界面布局信息的数据包给移动终端的方式,原理相同,不再赘述。
在步骤102中,移动终端对数据包进行解析后得到界面布局信息,利用界面布局信息中显示单元包含的UI组件信息创建UI组件以构成各显示单元对应的视图容器。
移动终端对接收到的数据包进行解析后,得到界面布局信息。该界面布局信息中包含的显示单元数量对应移动终端针对该数据包创建的显示界面数量。
分别利用各显示单元包含的UI组件信息来逐一创建UI组件,即依据组件类型、位置、大小、颜色等信息创建UI组件,桌面程序首先在内存中进行UI组件的创建,各显示单元的UI组件构成了各显示单元对应的视图容器。
在步骤103中,移动终端利用数据包中的桌面服务数据填充视图容器,并将视图容器绘制在桌面上,形成各显示单元对应的显示界面。
步骤102在内存中创建的视图容器实际上是一个定义了各View参数的容器,这里的View参数是通过UI组件来体现的,本步骤103实际上就是在该视图容器中填入具体的数据内容,即桌面服务数据。在填充数据的同时或者填充数据之后,将视图容器绘制在桌面上,就形成了各显示单元对应的显示界面。
上面已经提到,在显示单元信息中还包括显示单元的位置信息,在本步骤中将视图容器绘制在桌面上时,就是按照显示单元的位置信息在桌面上绘制视图容器的。服务器端通过对显示单元的位置信息的设置,可以灵活地将显示界面在桌面上的各种位置,例如设置在桌面正中央等最显眼的位置。
对于显示界面的大小可以根据其中UI组件的布局状况进行适配,例如该显示界面的大小要保证容纳对应视图容器中的所有UI组件且符合预设的显示比例。
对于步骤101中所列举的实例,移动终端对该数据包进行解析和显示界面创建后,可以得到如图2中所示的桌面显示界面:存在两个显示界面,一个用于显示文本,其中文本组件的位置为(0:0:320:460),文本大小为13dp,文本颜色图中由于灰度问题未能体现,文本最大显示行数为1行,显示内容图2中用“*”进行表示,该“*”是具体的桌面服务数据,如果用户点击该文本,则跳转到字段“txtSrc”的值指向的内容。另一个显示界面用于显示图片,该图片的位置为(320:460:480:600),图片内容为字段“Imgsrc”的值指向的内容,在图2中用“X”进行表示,图片的四角均采用圆角。
在本发明实施例中,服务器端在向移动终端发送数据包之前,还可以获取移动终端的桌面窗口信息,例如窗口的分辨率、大小等等。因为有的移动终端的桌面是全屏显示,这时桌面窗口的分辨率和大小实际上就是移动终端屏幕的分辨率和大小。而有的移动终端的桌面并非全屏显示,而是有一个区域,那么该区域就称为桌面窗口。服务器端能够利用该桌面窗口信息确定合理的界面布局信息,例如对于较长的窗口可以布局多个显示单元,对于较小的窗口可以布局较少的显示单元且在显示单元中布局较紧凑的UI组件,等等。对应于这种情况,可以预先在服务器端设置与桌面窗口信息相适应界面布局信息,从而使得不同的窗口都能够生成合理美观的布局,达到最好的显示效果。
移动终端可以在向服务器端发送的任意消息中携带桌面窗口信息,诸如可以在移动终端向服务器端发送数据请求时携带窗口信息。
另外,在上述实施例中,移动终端创建的显示界面与数据包中携带的显示ID对应,移动终端会保存显示ID与显示界面的对应关系。移动终端在解析数据包后,可以利用数据包中携带的显示ID首先判断是否桌面上已经存在对应的显示界面,如果否,则按照上述实施例中步骤102和103所示的步骤创建显示界面以显示该数据包中的桌面服务数据;如果桌面上已经存在对应的显示界面,则无需在桌面上创建显示界面,直接利用数据包中的内容对该显示界面进行更新。
对已有显示界面进行的更新可以是仅仅对桌面服务数据的更新,也可以是对显示界面进行的重构,此时除了桌面服务数据的更新之外,还需要依据数据包中的界面布局信息对其中的UI组件重新进行创建。即利用界面布局信息中的显示单元包含的UI组件信息创建UI组件以构成显示单元对应的视图容器,利用数据包中的桌面服务数据填充视图容器并将该视图容器绘制于显示ID对应的显示界面。为了区分这两种更新,可以在数据包中携带一个重构指示信息。如果该重构指示信息指示需要进行重构,则移动终端依据数据包中的界面布局信息对显示ID对应的显示界面进行重构。如果该重构指示信息指示仅进行数据更新,则移动终端仅依据数据包中的桌面服务数据对显示界面进行更新。
另外,对于显示界面的删除可以通过但不限于以下两种方式实现:
第一种方式:如果服务器端想要删除某个显示界面,可以在数据包中携带该显示界面对应的显示ID,并在该数据包中携带删除显示界面的指示信息,例如在数据包中设置一个标志位,通过该标志位指示是否删除显示界面。移动终端接收到数据包后,如果该数据包中携带删除显示界面的指示信息,则将该数据包中所携带的显示ID对应的显示界面从桌面删除。
第二种方式:服务器端可以在桌面服务数据的属性信息中携带数据的时效信息,移动终端会自动删除超过时效的桌面服务数据所在的显示界面。
移动终端在启动后创建桌面时,如果之前创建过显示界面,则保存有显示界面对应的显示ID,那么可以在请求中携带显示ID,服务器端接收到该请求时,下发该显示ID对应的桌面服务数据的数据包。
图3为本发明实施例提供的一种装置结构图,该装置设置于移动终端中,如图3中所示,该装置可以包括:交互单元01、解析单元02和创建单元03,还可以进一步包括记录单元04、判断单元05、更新单元06、第一删除单元07和第二删除单元08。
交互单元01面向服务器端,主要负责接收服务器端发送的数据包,然后由解析单元02解析数据包,得到界面布局信息和桌面服务数据。创建单元03负责利用界面布局信息,在桌面上创建显示桌面服务数据的显示界面。其中的桌面服务数据根据服务类型的不同可以是文本数据、图片数据、视频数据、音频数据等。
数据包中携带的界面布局信息包括:显示单元信息以及显示单元包含的UI组件信息。通过界面布局信息可以自由定义一个或多个显示单元,每个显示单元对应桌面上的一个显示界面。该显示界面的实现可以采用画布的形式,优选地,可以采用网页画布即View的形式。
对于不同类型的数据可以布局在一个显示单元中,也可以分别布局在不同的显示单元中,实现比较灵活,只要在服务器端确定好布局即可。例如,如果服务器端下发的桌面服务数据中既包含图片又包含文本,则可以选择将图片和文本在一个显示单元中显示,那么在下发的数据包的界面布局信息中可以仅包含一个显示单元的信息,在该显示单元中即包含文本的UI组件信息,又包含图片的UI组件信息。也可以将图片和文本分别在不同的显示单元中显示,然后在图片的显示单元中包含图片的UI组件信息,在文本的显示单元中包含文本的UI组件信息。
上述的显示单元信息中可以包含显示单元的数量信息、显示单元的位置信息等。显示单元包含的UI组件信息主要包括:组件类型(例如图片组件、文本组件等)、组件位置、组件大小、组件颜色、组件形状等信息,还可以包括组件对用户操作事件的响应信息。其中的用户操作事件可以包括但不限于用户对组件的点击、拖拽、滑动等,对操作事件的响应信息用于描述对用户操作事件的响应描述。一种典型的用户操作事件为点击事件,当用户点击组件时,通常是对数据的请求事件,为了降低对处理事件的繁琐程度,可以指定该点击事件对应的URL请求,即当用户点击组件时,请求并获取该URL对应的数据。
具体地,创建单元03可以利用显示单元包含的UI组件信息创建UI组件以构成显示单元对应的视图容器;利用桌面服务数据填充视图容器并将视图容器绘制在桌面上,形成显示单元对应的显示界面。也就是说,首先创建单元03利用组件类型、位置、大小、颜色等UI组件信息在内存中创建UI组件构成各显示单元对应的视图容器,然后再进行数据填充并绘制于桌面上,形成各显示单元的显示界面。
上述的显示单元信息中可以包含显示单元的位置信息,在形成显示界面时,创建单元03可以依据显示单元信息包含的显示单元的位置信息确定显示界面在桌面上的位置。服务器端通过对显示单元的位置信息的设置,可以灵活地将显示界面在桌面上的各种位置,例如设置在桌面正中央等最显眼的位置。对于显示界面的大小可以根据其中UI组件的布局状况进行适配,例如该显示界面的大小要保证容纳对应视图容器中的所有UI组件且符合预设的显示比例。
包含桌面服务数据的数据包还包括显示ID,记录单元04保存数据包中包含的显示ID与显示界面的对应关系。数据的显示ID是服务器端与移动终端关联数据的唯一标识,该数据的显示ID与桌面上的显示界面对应,主要用于移动终端进行数据请求或者数据更新时使用。
交互单元01接收到数据包并由解析单元02进行解析后,可以由判断单元05先判断桌面上是否已经存在数据包中包含的显示ID对应的显示界面,如果否,则触发创建单元03;如果是,触发更新单元06。创建单元03在受到判断单元05的触发后,执行在桌面上创建显示桌面服务数据的显示界面的操作。更新单元06受到判断单元05的触发后,利用数据包对显示ID对应的显示界面进行更新。
具体地,如果数据包中携带的重构指示信息指示仅进行数据更新,则更新单元06利用数据包中的桌面服务数据对显示界面进行更新;如果数据包中携带的重构指示信息指示进行重构,则更新单元06利用数据包中的界面布局信息对显示界面进行重构。
更新单元06在利用数据包中的界面布局信息对显示界面进行重构时,可以利用界面布局信息中显示单元包含的UI组件信息创建UI组件以构成显示单元对应的视图容器,利用数据包中的桌面服务数据填充视图容器并将视图容器绘制于显示ID对应的显示界面。
对于显示界面的删除可以通过但不限于第一删除单元07和第二删除单元08这两种单元中的至少一种实现:
如果服务器端想要删除某个显示界面,可以在数据包中携带该显示界面对应的显示ID,并在该数据包中携带删除显示界面的指示信息,例如在数据包中设置一个标志位,通过该标志位指示是否删除显示界面。如果解析单元02从服务器端发送的数据包中解析出显示ID和删除显示界面的指示信息,则第一删除单元07将显示ID对应的显示界面从桌面上删除。
数据包中还包括桌面服务数据的时效信息,第二删除单元08删除超过时效的桌面服务数据所在的显示界面。
上述的包含桌面服务数据的数据包可以是服务器端主动推送的,也可以是应移动终端的请求发送的。对于后一种情况,交互单元01还负责向服务器端发送包含显示ID的请求。
图4为本发明实施例提供的另一装置结构图,该装置设置于服务器端,如图4中所示,该装置包括:信息携带单元11和交互单元12,
信息携带单元11负责在包含桌面服务数据的数据包中携带界面布局信息,交互单元12负责向移动终端发送数据包。界面布局信息用于移动终端在桌面上创建显示桌面服务数据的显示界面。
服务器端发送的数据包中主要携带三种内容:
其一是桌面服务数据,这部分是具体的内容数据,例如文本数据、图片数据、视频数据等等。
其二是桌面服务数据所对应的界面布局信息。界面布局信息是桌面服务数据在桌面上显示时如何布局的信息,在移动终端创建用于显示该桌面服务数据的显示界面时使用。
具体地,界面布局信息可以包括显示单元信息以及显示单元包含的UI(用户界面)组件信息。通过界面布局信息可以自由定义一个或多个显示单元,每个显示单元可以对应桌面上的一个显示界面,该显示界面的实现可以采用画布的形式,优选地,可以采用网页画布即View的形式。
上述的显示单元信息中可以包含显示单元的数量信息、显示单元的位置信息等。显示单元包含的UI组件信息主要包括:组件类型(例如图片组件、文本组件等)、组件位置、组件大小、组件颜色、组件形状等信息,还可以包括组件对用户操作事件的响应信息。其中的用户操作事件可以包括但不限于用户对组件的点击、拖拽、滑动等,对操作事件的响应信息用于描述对用户操作事件的响应描述。一种典型的用户操作事件为点击事件,当用户点击组件时,通常是对数据的请求事件,为了降低对处理事件的繁琐程度,可以指定该点击事件对应的URL请求,即当用户点击组件时,请求并获取该URL对应的数据。
其三是桌面服务数据的属性信息,例如数据的时效信息、数据的显示ID(标识)等等。
数据的时效表示桌面服务数据在桌面上显示的时间信息,超过该时间则桌面上不再进行该桌面服务数据的显示。数据的时效主要用于移动终端删除显示界面时使用。
数据的显示ID是服务器端与移动终端关联数据的唯一标识,该数据的显示ID与桌面上的显示界面对应,主要用于移动终端进行数据请求或者数据更新时使用。
因此,信息携带单元11可以在数据包中携带桌面服务数据的显示ID,交互单元12接收移动终端发送的包含显示ID的请求后,向移动终端发送包含该显示ID以及桌面服务数据的数据包。
另外,交互单元12还可以获取移动终端的桌面窗口信息,例如窗口的分辨率、大小等等。信息携带单元11可以在数据包中携带与桌面窗口信息相适应的界面布局信息,从而使得不同的窗口都能够生成合理美观的布局,达到最好的显示效果。
如果服务器端希望在移动终端的桌面上创建一个新的显示界面来显示桌面服务数据,则可以采用一个新的显示ID携带在包含桌面服务数据的数据包中。如果希望采用移动终端上已经创建的显示界面来显示桌面服务数据,则可以采用该显示界面对应的显示ID携带在包含桌面服务数据的数据包中。对于后一种情况,如果仅仅在该显示界面中进行桌面服务数据的更新,则可以通过在数据包中携带重构指示信息来指示仅进行数据更新;如果在该显示界面中进行重构,则可以通过在数据包中携带重构指示信息来指示需要进行重构。
另外,为了实现对移动终端桌面上的显示界面的删除,除了通过在数据包中携带桌面服务数据的时效信息之外,还可以采用在数据包中携带显示界面对应的显示ID以及删除显示界面的指示信息。
下面举一个本发明的具体应用场景,例如,应用于目前刚刚兴起的卡片式桌面。可以通过本发明实施例提供的上述方法和装置进行卡片式桌面的创建,其中创建一个显示界面就是创建桌面上的一个服务卡片。通过上述方法和装置能够在服务器端实现桌面上服务卡片的布局以及服务卡片中服务数据的布局(服务卡片中的服务数据就是本发明实施例中的桌面服务数据):本发明能够灵活的将服务数据布局在一张服务卡片中显示,也可以布局在多张服务卡片中分别显示,并且可以将服务数据以需要的形式在服务卡片中进行布局。
例如,如果要进行电影类数据的推送,该电影类数据中包含三个主角的剧照以及电影简介,可以将这三张剧照和电影简介布局在一张服务卡片中,那么就可以在界面布局信息中包含一个显示单元,三张剧照和电影简介分别作为该显示单元中的UI组件,然后将该界面布局信息下发给移动终端。也可以将这三张剧照分别布局到三张服务卡片上,每张服务卡片显示一张剧照以及电影简介,那么就可以在界面布局信息中包含三个显示单元,每个显示单元分别包含一个剧照的图片UI组件和电影简介的文本UI组件,然后将该界面布局信息下发给移动终端。
由以上描述可以看出,本发明提供的方法和装置具备以下优点:
1)桌面展示的布局并不受限于显示模板和安装于移动终端的APP,服务器端可以灵活地对桌面展示进行设置。
2)当需要改变桌面布局时,仅需要服务器端改变数据包中的界面布局信息,无需进行显示模板的重新抽象和安装,代价大大降低。
3)通过创建UI组件的方式构建显示界面,在UI组件中定义对用户操作事件的响应信息,方便地实现了基于桌面的界面展示互动。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(RandomAccessMemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。