
1.本公开涉及显示技术领域,尤其涉及一种显示设备和页面更新方法。
背景技术:2.随着科技的发展和进步,显示设备的功能越来越多样化,为人们的工作和生活带来了极大的便利。
3.用户可通过在显示设备的第一页面中进行学习,并在第二页面中进行数据学习成果的查看,便于用户了解学习进度,其中,第二页面中用户的数据学习成果会根据第一页面中用户的学习进行调整,相关技术中,主要是在用户退出第一页面打开第二页面时,对第二页面中的数据学习成果进行调整,会使得用户在打开第二页面时,浏览到第二页面的画面出现闪烁,从而,影响用户体验。
技术实现要素:4.为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种显示设备和页面更新方法,能够在用户使用的第一页面中的数据发生变化时,对第二页面中的数据进行及时调整更新,在用户打开第二页面时能够直接浏览到更新后的第一页面中的学习进度,避免第二页面中画面闪烁的问题,提升用户体验感。
5.第一方面,本公开提供了一种显示设备,该显示设备包括:
6.显示器;
7.控制器,包括:监听模块和堆栈模块;
8.所述堆栈模块,被配置为:
9.响应于第一页面栈在所述堆栈模块中开启,在所述监听模块中注册监听进程,其中,所述第一页面栈是对应预设的第一页面的页面栈,所述监听进程用于监听第二页面中预设事件的数据变化,所述第二页面为所述第一页面的次级页面;
10.根据进栈指令,在所述第一页面栈上创建第二页面栈,其中,所述进栈指令是根据显示设备接收到的第一操作生成的,所述第一操作用于选中所述第一页面中的第二控件以在显示器上显示所述第二控件对应的第二页面;
11.接收所述监听进程发送的数据更新消息,所述数据更新消息基于所述第二页面中所述预设事件的数据变化产生;
12.基于所述数据更新消息,从服务器中获取第一目标数据,并基于所述第一目标数据更新所述第一页面栈对应的初始缓存数据,所述初始缓存数据是显示所述第二页面前的所述第一页面对应的缓存数据,所述第一目标数据表征所述预设事件变化后的数据。
13.第二方面,本公开提供了一种页面更新方法,包括:
14.响应于第一页面栈在堆栈模块中开启,在监听模块中注册监听进程,其中,所述第一页面栈是对应预设的第一页面的页面栈,所述监听进程用于监听第二页面中预设事件的数据变化,所述第二页面为所述第一页面的次级页面;
15.根据进栈指令,在所述第一页面栈上创建第二页面栈,其中,所述进栈指令是根据显示设备接收到的第一操作生成的,所述第一操作用于选中所述第一页面中的第二控件以在显示器上显示所述第二控件对应的第二页面;
16.接收所述监听进程发送的数据更新消息,所述数据更新消息基于所述第二页面中所述预设事件的数据变化产生;
17.基于所述数据更新消息,从服务器中获取第一目标数据,并基于所述第一目标数据更新所述第一页面栈对应的初始缓存数据,所述初始缓存数据是显示所述第二页面前的所述第一页面对应的缓存数据,所述第一目标数据表征所述预设事件变化后的数据。
18.第三方面,本公开提供了一种计算机可读存储介质,包括:计算机可读存储介质上存储计算机程序,计算机程序被处理器执行时实现如第二方面所示的页面更新方法。
19.第四方面,本公开提供了一种计算机程序产品,其特征在于,包括:当计算机程序产品在计算机上运行时,使得计算机实现如第二方面所示的页面更新方法。
20.本公开实施例提供的技术方案与现有技术相比具有如下优点:显示设备的控制器中的堆栈模块响应于用户触发的第一页面栈的开启,从监听模块中注册监听进程,便于对第二页面中预设事件的数据变化进行实时监听,其中,第二页面为第一页面的次级页面,并根据用户发起的进栈指令,在第一页面栈上创建第二页面栈,以基于接收到的监听进程发送的第二页面的数据更新消息,从服务器中获取第一目标数据来对第一页面栈对应的初始缓存数据进行更新,从而,便于第一页面栈能够基于用户的开启向用户展示第一页面的更新结果,通过上述方法能够在用户使用的二页面中的数据发生变化时,对第一页面中的数据进行及时调整更新,在用户打开第一页面时能够直接浏览到更新后的第二页面中的数据变化,避免从第二页面跳转至第一页面时出现画面闪烁的问题,提升用户体验感。
附图说明
21.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
22.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
23.图1为根据本公开一个或多个实施例的显示设备与控制装置之间操作场景的示意图;
24.图2为根据本公开一个或多个实施例的控制设备100的硬件配置框图;
25.图3为根据本公开一个或多个实施例的显示设备200的硬件配置框图;
26.图4为根据本公开一个或多个实施例的显示设备200中软件配置示意图;
27.图5为根据本公开一个或多个实施例的显示设备200中应用程序的图标控件界面显示示意图;
28.图6a为根据本公开一个或多个实施例进行页面更新的系统框架图;
29.图6b为根据本公开一个或多个实施例进行页面更新的架构图;
30.图7a为本公开实施例提供的一种页面更新方法的流程示意图;
31.图7b-图7i为本公开实施例提供的一种页面显示示意图;
32.图8a-图8c为本公开实施例提供的一种页面显示示意图;
33.图9为本公开实施例提供的一种页面更新的交互示意图。
具体实施方式
34.为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
35.在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
36.显示设备上能够搭载一些应用于如学习的应用程序/客户端,便于用户在上面进行任务学习以及记录任务学习状态,其中,用户可在显示设备中显示的一个页面中进行任务学习,在学习完成后,可在另一个页面中进行学习进度的查看,便于用户了解学习情况。
37.举例而言,用户在第一页面中进行任务学习,第一页面中的学习数据会发生变化,在第一页面中学习完成/暂停之后,可打开第二页面进行任务进度的查看。
38.其中,第二页面的任务进度是根据第一页面中的学习数据而变化的,在用户打开第一页面进行任务学习时,学习数据发生变化,如从数据a变化至数据b,用户在退出第一页面打开第二页面时,用户看到的是数据由a变为b的一个过程,使得第二页面的显示画面出现闪烁,影响用户观感。
39.为了解决上述问题,本公开实施例中显示设备的控制器中的堆栈模块响应于用户触发的第一页面栈的开启,从监听模块中注册监听进程,便于对第二页面中预设事件的数据变化进行实时监听,其中,第二页面为第一页面的次级页面,并根据用户发起的进栈指令,在第一页面栈上创建第二页面栈,以基于接收到的监听进程发送的第二页面的数据更新消息,从服务器中获取第一目标数据来对第一页面栈对应的初始缓存数据进行更新,从而,便于第一页面栈能够基于用户的开启向用户展示第一页面的更新结果,通过上述方法能够在用户使用的二页面中的数据发生变化时,对第一页面中的数据进行及时调整更新,在用户打开第一页面时能够直接浏览到更新后的第二页面中的数据变化,避免从第二页面跳转至第一页面时出现画面闪烁的问题,提升用户体验感。
40.图1为本公开一个或多个实施例的显示设备与控制装置之间操作场景的示意图。如图1所示,用户可向显示设备200说出语音控制信息,或者,用户可向显示设备200的控制装置100(或者与显示设备200关联的智能设备300)发出语音控制信息,开启显示设备200或者显示设备200中搭载的应用程序/客户端,并在显示设备200中搭载的应用程序/客户端的显示页面中进行任务学习。
41.在一些实施例中,用户可用过遥控器或手机打开显示设备,并通向显示设备发送语音控制信息,显示设备能够对这些语音控制信息进行语义匹配,识别用户需求。
42.其中,显示设备可根据用户的触发操作显示用户的任务学习界面,便于用户在任务学习界面中进行任务学习,并在用户的任务学习结束之后,在进度查看界面中向用户展示任务学习结果,便于用户了解任务学习进度。
43.示例性的,用户可在显示设备的内置应用程序中进行任务学习界面的打开,以使
得用户可在任务学习界面中进行任务学习,使得任务学习界面中的数据发生变化,如由数据a变化为数据b,从而,使得进度查看界面基于变化后的数据刷新进度查看界面,便于用户在打开任务查看界面时能够直接查看到当前的任务进度至数据b,能够直观浏览到学习进度,避免画面闪烁影响用户体验的问题。
44.需要说明的是,显示设备中内置的应用程序的实现方式可以客户端、小程序、网页等形式进行开启使用,本公开对此不做具体限定。
45.在一些实施例中,控制装置100可以是遥控器,遥控器和显示设备的通信包括红外协议通信、蓝牙协议通信、无线或其他有线方式来控制显示设备200。用户可以通过遥控器上按键、语音输入以及控制面板输入等输入用户指令,来控制显示设备200。在一些实施例中,也可以使用移动终端、平板电脑、计算机、笔记本电脑和其他智能设备来控制显示设备200。
46.在一些实施例中,显示设备200可以是个人计算机(personal computer,pc)、平板电脑、智能手机、智能手表等具有显示屏电子设备,本公开对此不做具体限定。
47.在一些实施例中,显示设备200可以不使用上述的智能设备或控制设备接收指令,而是通过触摸或者手势或者语音输入等方式接收用户的控制。
48.在一些实施例中,显示设备200还可以采用除了控制装置100和智能设备300之外的方式进行控制,例如,可以通过显示设备200设备内部配置的获取语音指令的模块直接接收用户的语音指令控制,也可以通过显示设备200设备外部设置的语音控制设备来接收用户的语音指令控制。
49.在一些实施例中,智能设备300可与显示设备200中安装的软件应用,通过网络通信协议实现连接通信,实现一对一控制操作的和数据通信的目的。也可以将智能设备300上显示的音视频内容传输到显示设备200上,实现同步显示功能。显示设备200还与服务器400通过多种通信方式进行数据通信,可允许显示设备200通过局域网(lan)、无线局域网(wlan)和其他网络进行通信连接。服务器400可以是一个集群,也可以是多个集群,可以包括一类或多类服务器。服务器400可以向显示设备200提供各种内容和互动。显示设备200,可以为液晶显示器、oled显示器或者投影显示设备等。显示设备200除了提供广播接收电视功能之外,还可以附加提供计算机支持功能的智能网络电视功能。
50.图2示例性示出了根据示例性实施例中控制装置100的配置框图。如图2所示,控制装置100包括控制器110、通信接口130、用户输入/输出接口140、存储器、供电电源。控制装置100可接收用户的输入操作指令,且将操作指令转换为显示设备200可识别和响应的指令,起用用户与显示设备200之间交互中介作用。通信接口130用于和外部通信,包含wifi芯片,蓝牙模块,nfc或可替代模块中的至少一种。用户输入/输出接口140包含麦克风,触摸板,传感器,按键或可替代模块中的至少一种。
51.图3示出了根据示例性实施例中显示设备200的硬件配置框图。如图3所示显示设备200包括调谐解调器210、通信器220、检测器230、外部装置接口240、控制器250、显示器260、音频输出接口270、存储器、供电电源、用户接口(即用户输入接口)280中的至少一种。控制器250包括中央处理器,视频处理器,音频处理器,图形处理器,ram,rom,用于输入/输出的第一接口至第n接口。显示器260可为液晶显示器、oled显示器、触控显示器以及投影显示器中的至少一种,还可以为一种投影装置和投影屏幕。调谐解调器210通过有线或无线接
收方式接收广播电视信号,以及从多个无线或有线广播电视信号中解调出音视频信号,如以及epg数据信号。通信器220是用于根据各种通信协议类型与外部设备或服务器进行通信的组件。例如:通信器可以包括wifi模块,蓝牙模块,有线以太网模块等其他网络通信协议芯片或近场通信协议芯片,以及红外接收器中的至少一种。显示设备200可以通过通信器220与外部控制设备100或服务器400建立控制信号和数据信号的发送和接收。检测器230用于采集外部环境或与外部交互的信号。控制器250和调谐解调器210可以位于不同的分体设备中,即调谐解调器210也可在控制器250所在的主体设备的外置设备中,如外置机顶盒等。用户接口280可用于接收控制装置100(如:红外遥控器等)的控制信号。
52.在一些实施例中,控制器250,通过存储在存储器上中各种软件控制程序,来控制显示设备的工作和响应用户的操作。控制器250控制显示设备200的整体操作。用户可在显示器260上显示的图形用户界面(gui)输入用户命令,则用户输入接口通过图形用户界面(gui)接收用户输入命令。或者,用户可通过输入特定的声音或手势进行输入用户命令,则用户输入接口通过传感器识别出声音或手势,来接收用户输入命令。
53.在一些实施例中,“用户界面”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面常用的表现形式是图形用户界面(graphic user interface,简称gui),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的一个图标、窗口和控件等界面元素,其中控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、widget等可视的界面元素中的至少一种。
54.图4为根据本公开一个或多个实施例的显示设备200中软件配置示意图,如图4所示,将系统分为四层,从上至下分别为应用程序(applications)层(简称“应用层”),应用程序框架(application framework)层(简称“框架层”),安卓运行时(android runtime)和系统库层(简称“系统运行库层”),以及内核层。
55.在一些实施例中,应用程序层中运行有至少一个应用程序,这些应用程序可以是操作系统自带的窗口(window)程序、系统设置程序或时钟程序等;也可以是第三方开发者所开发的应用程序。在具体实施时,应用程序层中的应用程序包括但不限于以上举例。
56.在一些实施例中,系统运行库层为上层即框架层提供支撑,当框架层被使用时,安卓操作系统会运行系统运行库层中包含的c/c++库以实现框架层要实现的功能。
57.在一些实施例中,内核层是硬件和软件之间的层,至少包含以下驱动中的至少一种:音频驱动、显示驱动、蓝牙驱动、摄像头驱动、wifi驱动、usb驱动、hdmi驱动、传感器驱动(如指纹传感器,温度传感器,压力传感器等)、以及电源驱动等。
58.图5为根据本公开一个或多个实施例的显示设备200中应用程序的图标控件界面显示示意图,如图5中所示,应用程序层包含至少一个应用程序可以在显示器中显示对应的图标控件,如:直播电视应用程序图标控件、视频点播应用程序图标控件、媒体中心应用程序图标控件、应用程序中心图标控件、游戏应用图标控件等。直播电视应用程序,可以通过不同的信号源提供直播电视。视频点播应用程序,可以提供来自不同存储源的视频。不同于直播电视应用程序,视频点播提供来自某些存储源的视频显示。媒体中心应用程序,可以提供各种多媒体内容播放的应用程序。应用程序中心,可以提供储存各种应用程序。
59.在一些实施例中,上述显示设是具有显示功能的终端设备,例如电视机或者平板
电视等。该显示设备中:
60.在一些实施例中,控制器250,通过存储在存储器上中各种软件控制程序,来控制显示设备的工作和响应用户的操作。控制器250控制显示设备200的整体操作。用户可在显示器260上显示的图形用户界面(gui)输入用户命令,则用户输入接口通过图形用户界面(gui)接收用户输入命令。或者,用户可通过输入特定的声音或手势进行输入用户命令,则用户输入接口通过传感器识别出声音或手势,来接收用户输入命令。
61.输出接口(显示器260,和/或,音频输出接口270),被配置为输出用户交互信息;
62.通信器220,用于与服务器400进行通信;
63.显示器260;
64.控制器250,包括:监听模块和堆栈模块;
65.所述堆栈模块,被配置为:
66.响应于第一页面栈在所述堆栈模块中开启,在所述监听模块中注册监听进程,其中,所述第一页面栈是对应预设的第一页面的页面栈,所述监听进程用于监听第二页面中预设事件的数据变化,所述第二页面为所述第一页面的次级页面;
67.根据进栈指令,在所述第一页面栈上创建第二页面栈,其中,所述进栈指令是根据显示设备接收到的第一操作生成的,所述第一操作用于选中所述第一页面中的第二控件以在显示器上显示所述第二控件对应的第二页面;
68.接收所述监听进程发送的数据更新消息,所述数据更新消息基于所述第二页面中所述预设事件的数据变化产生;
69.基于所述数据更新消息,从服务器中获取第一目标数据,并基于所述第一目标数据更新所述第一页面栈对应的初始缓存数据,所述初始缓存数据是显示所述第二页面前的所述第一页面对应的缓存数据,所述第一目标数据表征所述预设事件变化后的数据。
70.在一些实施例中,所述堆栈模块,所述数据更新消息包括:数据标识;所述堆栈模块基于所述数据更新消息,从服务器中获取第一目标数据包括:所述堆栈模块:
71.基于所述数据标识,向服务器发送数据获取请求;
72.接收所述服务器发送的所述数据获取请求的响应信息,得到第一目标数据。
73.在一些实施例中,所述第一目标数据包括:第一类型数据,所述第一类型数据用于描述学习数据;
74.所述堆栈模块基于所述第一目标数据更新所述第一页面栈对应的初始缓存数据包括:所述堆栈模块:
75.基于所述第一类型数据,替换所述第一页面栈中与所述第一类型数据对应的缓存数据。
76.在一些实施例中,所述第一目标数据包括:第一类型数据和第二类型数据,所述第二类型数据基于所述学习数据产生;
77.所述堆栈模块基于所述第一目标数据更新所述第一页面栈对应的初始缓存数据包括:所述堆栈模块:
78.基于所述第一类型数据,替换所述第一页面栈中与所述第一类型数据对应的缓存数据;
79.将所述第二类型数据添加至替换得到的所述缓存数据中。
80.在一些实施例中,所述堆栈模块,还被配置为:
81.响应于所述第一页面栈的初始缓存数据的更新,在所述第二页面中显示提示消息,所述提示消息用于描述所述第一页面中已产生第二类型数据。
82.在一些实施例中,所述堆栈模块,还被配置为:
83.响应于出栈指令,撤销第二页面栈,并根据更新后的所述第一页面栈对应的初始缓存数据加载对应第一页面栈的第一页面,其中,所述出栈指令是在接收到的用户输入的第二操作后生成的,所述第二操作用于控制所述显示器退出所述第二页面以显示所述第一页面。
84.在一些实施例中,所述数据标识用于描述所述第一类型数据对应的标识;所述堆栈模块基于所述数据标识,向服务器发送数据获取请求包括:所述堆栈模块:
85.基于所述数据标识,向服务器发送第一获取请求,所述第一获取请求用于向所述服务器请求所述第一类型数据。
86.在一些实施例中,所述数据标识用于描述所述第一类型数据对应的标识和所述第二类型数据对应的标识;所述堆栈模块基于所述数据标识,向服务器发送数据获取请求包括:所述堆栈模块:
87.基于所述数据标识,向服务器发送第二获取请求,所述第二获取请求用于向所述服务器请求所述第一类型数据以及所述第二类型数据。
88.在一些实施例中,所述堆栈模块,还被配置为:
89.从服务器中获取第二目标数据;
90.在所述显示器中显示所述第二目标数据。
91.综上所述,本公开实施例中显示设备的控制器中的堆栈模块响应于用户触发的第一页面栈的开启,从监听模块中注册监听进程,便于对第二页面中预设事件的数据变化进行实时监听,其中,第二页面为第一页面的次级页面,并根据用户发起的进栈指令,在第一页面栈上创建第二页面栈,以基于接收到的监听进程发送的第二页面的数据更新消息,从服务器中获取第一目标数据来对第一页面栈对应的初始缓存数据进行更新,从而,便于第一页面栈能够基于用户的开启向用户展示第一页面的更新结果,通过上述方法能够在用户使用的二页面中的数据发生变化时,对第一页面中的数据进行及时调整更新,在用户打开第一页面时能够直接浏览到更新后的第二页面中的数据变化,避免从第二页面跳转至第一页面时出现画面闪烁的问题,提升用户体验感。
92.图6a为根据本公开一个或多个实施例进行页面更新的系统框架图,如图6a所示,该系统中可以包括进程注册模块601、页面栈创建模块602、消息接收模块603以及数据更新模块604。该系统通过进程注册模块601响应于第一页面栈在所述堆栈模块中开启,在所述监听模块中注册监听进程,其中,所述第一页面栈是对应预设的第一页面的页面栈,所述监听进程用于监听第二页面中预设事件的数据变化,所述第二页面为所述第一页面的次级页面,由页面栈创建模块602根据进栈指令,在所述第一页面栈上创建第二页面栈,其中,所述进栈指令是根据显示设备接收到的第一操作生成的,所述第一操作用于选中所述第一页面中的第二控件以在显示器上显示所述第二控件对应的第二页面,由消息接收模块603接收所述监听进程发送的数据更新消息,所述数据更新消息基于所述第二页面中所述预设事件的数据变化产生,并通过数据更新模块604基于所述数据更新消息,从服务器中获取第一目
标数据,并基于所述第一目标数据更新所述第一页面栈对应的初始缓存数据,所述初始缓存数据是显示所述第二页面前的所述第一页面对应的缓存数据,所述第一目标数据表征所述预设事件变化后的数据,从而,能够在用户使用的二页面中的数据发生变化时,对第一页面中的数据进行及时调整更新,在用户打开第一页面时能够直接浏览到更新后的第二页面中的数据变化,避免从第二页面跳转至第一页面时出现画面闪烁的问题,提升用户体验感。
93.图6b为根据本公开一个或多个实施例进行页面更新的架构图,基于上述系统框架,本公开在安卓系统中的实现如图6b所示,安卓系统中主要包括应用层、框架层、系统运行库层以及内核层,实现逻辑主要在应用层体现,其中,包括:进程注册模块、页面栈创建模块、消息接收模块以及数据更新模块。
94.本公开实施例中提供的页面更新方法,通过响应于用户触发的第一页面栈的开启,从监听模块中注册监听进程,便于对第二页面中预设事件的数据变化进行实时监听,其中,第二页面为第一页面的次级页面,并根据用户发起的进栈指令,在第一页面栈上创建第二页面栈,以基于接收到的监听进程发送的第二页面的数据更新消息,从服务器中获取第一目标数据来对第一页面栈对应的初始缓存数据进行更新,从而,便于第一页面栈能够基于用户的开启向用户展示第一页面的更新结果,通过上述方法能够在用户使用的二页面中的数据发生变化时,对第一页面中的数据进行及时调整更新,在用户打开第一页面时能够直接浏览到更新后的第二页面中的数据变化,避免从第二页面跳转至第一页面时出现画面闪烁的问题,提升用户体验感。
95.为了更加详细的说明本方案,以下将以示例性的方式结合图7a进行说明,可以理解的是,图7a中所涉及的步骤在实际实现时可以包括更多的步骤,或者更少的步骤,并且这些步骤之间的顺序也可以不同,以能够实现本公开实施例中提供的页面更新方法为准,本公开实施例不做限定。
96.其中,显示设备中可装载有供用户进行如任务学习的应用程序,用户可通过开启应用程序,在应用程序内的不同显示页面进行任务学习以及任务学习进度的查看,如打开应用程序进入学习空间页面,选择需要学习的任务,触发该任务进入课程学习页面,进行相应课程的学习。
97.其中,堆栈都是一种数据项按序排列的数据结构,可在一端(栈顶)对数据项进行插入和删除,本公开中,堆栈模块中可包括多个页面栈,每个页面栈中可向用户展示对应页面的数据内容,如第一页面栈可向用户展示第一页面的数据内容,第二页面栈可向用户展示第二页面的数据内容。
98.需要说明的是,第二页面栈可为从第一页面栈中通过预设操作触发进入的一个页面栈,也就是,第二页面为第一页面的次级页面。
99.如下以用户在应用程序的相关页面中进行任务学习为例进行说明。
100.如图7a所示,图7a为本公开实施例提供的一种页面更新方法的流程示意图,页面更新方法具体包括如下步骤:
101.s710、响应于第一页面栈在堆栈模块中开启,在监听模块中注册监听进程。
102.其中,用户可通过触发第一页面的打开操作,实现第一页面栈在堆栈模块中的开启,第一页面可为用户进行任务学习进度/学习数据查看的学习空间页面,具体的,用户在打开应用程序学习时,可通过对首页中展示的相关控件/区域进行触发操作来进入学习空
间页面。
103.其中,第一页面栈是对应预设的第一页面的页面栈,监听进程用于监听第二页面中预设事件的数据变化,第二页面为第一页面的次级页面,具体的,第二页面可为用户进行任务学习的课程学习页面。
104.其中,监听进程可用来接收课程学习页面的变化消息,课程学习页面在确定出页面内的数据发生变化后,可发出广播消息,监听进程在接收到广播消息之后,向学习空间页面发送一个监听消息,使得学习空间页面及时获知到课程学习页面内的数据变化情况。
105.监听进程,可通过事件发布/订阅轻量级框架(如eventbus)实现,可应用于设备前台和设备后台中两个活动(如学习空间页面和课程学习页面)之间的通信,接收方需保证和发送方的消息类型一致才可以接收到消息,其中,监听消息可为字符串类型的消息,消息内容示例可为”refresh_learning_space”。
106.s720、根据进栈指令,在第一页面栈上创建第二页面栈。
107.其中,进栈指令是根据显示设备接收到的第一操作生成的,第一操作用于选中第一页面中的第二控件以在显示器上显示第二控件对应的第二页面,第二页面栈是对应预设的第二页面的页面栈。
108.举例而言,用户可在第一页面的显示数据中,选择需要进行课程学习的课程任务,并对与课程任务对应的显示控件/触发区域进行触发操作,以在显示器上显示第二页面。
109.s730、接收监听进程发送的数据更新消息。
110.其中,数据更新消息可用来描述显示器中显示的第二页面的数据发生变化,数据更新消息可基于第二页面中预设事件的数据变化产生,第二页面可如上述提及的课程学习页面。
111.用户可在学习空间页面定制需要学习的任务、每个阶段需要完成的任务、或者,完成任务的制定计划,用户可在应用程序中进行相关信息的设置,本公开对此不做具体限定。
112.其中,学习空间页面中可包括如下多种类型的数据,具体的,本公开对数据类型不做具体限定。
113.在一些实施例中,学习空间页面中可包括任务学习数据,任务学习数据可支持用户进行触发来进入到相应的课程学习页面进行相关学习,任务学习数据的显示位置可排布在学习空间页面中的任一显示位置,如图7b示例性所示,可将任务学习数据的显示位置排布在图7b示例性所示界面中区域1的显示位置。
114.其中,区域1中可包括多种学习任务,如任务a、任务b以及任务c等,任务a、任务b以及任务c可为一个任务下的不同子任务,或者,任务a、任务b以及任务c可为分别独立的多个任务,可以理解的是,任务a为一个独立任务、任务b为一个独立任务、任务c为一个独立任务。
115.对于任务a、任务b以及任务c,可根据承接关系或者发生时间来在区域1中排布任务a、任务b以及任务c显示位置的显示顺序。
116.举例而言,若任务a、任务b以及任务c为一个任务下的多个子任务,且任务a、任务b以及任务c的承接关系为,任务b承接于任务a、任务c承接于任务b,则可确定出任务a、任务b以及任务c显示位置的显示顺序如图7b中区域1示例性所示的显示。
117.若任务a、任务b以及任务c分别为三个独立的任务,且任务c的发生时间晚于任务b
的发生时间,任务b的发生时间晚于任务a的发生时间,则可基于任务的发生时间由远至近的顺序进行位置排列,确定出任务a、任务b以及任务c显示位置的显示顺序如图7c中区域1示例性所示的显示。
118.需要说明的是,在基于发生时间来排布任务a、任务b以及任务c显示位置的显示顺序时,还可基于任务的发生时间由近至远的顺序进行位置排列。
119.在另一些实施例中,学习空间页面中可包括任务进度数据,任务进度数据可支持用户查看任务学习的完成情况,便于及时制定后续学习计划,任务进度数据的显示位置可排布在学习空间页面中的任一显示位置,如图7d示例性所示,可将任务进度数据的显示位置排布在图7d示例性所示界面中区域2的显示位置。
120.区域2中,任务进度数据的显示形式可包括:数字、图案、或者数字与图案的组合。
121.如图7d示例性所示,区域2中可以数字与图案的组合方式来显示任务进度数据,区域2中显示的任务进度数据为75%,便于用户直观清楚的浏览到学习进度。
122.在又一些实施例中,学习空间页面中可包括与任务进度数据关联的激励资源,用户可通过获取激励资源得到较多的学习数据,或者体验应用程序中的其他学习使用功能,激励资源的显示位置可排布在学习空间页面中的任一显示位置,如图7e示例性所示,可将激励资源的显示位置排布在图7e示例性所示界面中区域3的显示位置。
123.区域3中,激励资源的显示形式可包括:数字、图像、或者数字与图像的组合,如图7e示例性所示,区域3中可以数字的显示方式来显示激励资源。
124.其中,数据更新消息中可包括数据标识,不同类型数据可具有不同的数据标识,用来有效区分多种类型数据,具体的,数据标识可以数字、字母、或者数字与字母的组合来标识不同类型的数据。
125.以数据标识为数字为例,对于任务学习数据,数据标识可为1、或者11,对于任务进度数据,数据标识可为2、或者12,对于激励资源,数据标识可为3、或者13。
126.以数据标识为字母为例,对于任务学习数据,数据标识可为a、或者a,对于任务进度数据,数据标识可为b、或者b,对于激励资源,数据标识可为c、或者c。
127.以数据标识为数字与字母的组合为例,对于任务学习数据,数据标识可为a1、或者a1,对于任务进度数据,数据标识可为b1、或者b1,对于激励资源,数据标识可为c1、或者c1。
128.s740、基于数据更新消息,从服务器中获取第一目标数据,并基于第一目标数据更新第一页面栈对应的初始缓存数据。
129.其中,第一目标数据是第二页面栈基于第二页面上发生的数据变化事件上传至服务器的,数据变化事件可通过第二页面中学习数据的变化产生,第一目标数据可用来表征第二页面中发生的预设事件变化后的数据,初始缓存数据是显示第二页面前的第一页面对应的缓存数据。
130.其中,在课程学习页面在确定出页面内的数据发生变化后,可将变化后的数据发送至服务器,使得服务器记录变化数据,或者,在课程学习页面在确定出页面内的数据发生变化后,可将变化数据发送至服务器,使得服务器记录变化数据。
131.举例而言,课程学习页面的当前数据为第一数据,在确定出页面内的数据发生变化后,当前数据变为第二数据,则可将变化后的第二数据发送至服务器,使得服务器记录变化数据。
132.课程学习页面的当前数据为第一数据,在确定出页面内的数据发生变化后,当前数据变为第二数据,则可将第二数据与第一数据的差数据发送至服务器,使得服务器记录变化数据。
133.其中,第一目标数据为基于课程学习页面得到的当前任务学习页面应该显示的数据,用于在学习空间页面向用户展示课程学习页面的学习情况。
134.结合上述举例,在服务器接收到的是第二数据时,则可将第二数据作为第一目标数据,返回至学习空间页面,或者,在服务器接收到的是一个差数据时,可根据存储的课程学习页面中的数据,与差数据,确定出第二数据,并返回至学习空间页面。
135.需要说明的是,第一目标数据可包括:第一类型数据,或者,第一类型数据和第二类型数据。
136.其中,在对第一页面栈进行缓存数据更新时,可基于第一目标数据更新第一页面栈对应的初始缓存数据时。
137.在基于第一目标数据更新第一页面栈对应的初始缓存数据时,可通过第一目标数据替换第一页面中相应的缓存数据,或者,在第一页面中不存在第一目标数据对应的缓存数据时,可将第一目标数据作为新数据添加显示至第一页面中。
138.结合上述举例,在第一目标数据为任务进度数据对应的显示数据时,第一目标数据为30%,第一页面中对应的初始缓存的任务进度数据为23%,则更新第一页面中的显示数据,可为将第一页面中对应的初始缓存的任务进度数据由23%替换为30%。
139.在第一目标数据为激励资源对应的显示数据时,第一目标数据为1个资源,第一页面中若无激励资源对应的缓存数据,则更新第一页面中的初始缓存数据时,可为将1个资源对应添加至第二页面中,或者,第一页面中若存在激励资源对应的缓存数据为2个资源,则更新第一页面中的初始缓存数据,可为将1个资源对应添加至第一页面中激励资源对应的缓存数据,将2个资源替换为3个资源。
140.其中,第一页面可对应上述提及的学习空间页面,相应的,第二页面可对应上述提及的课程学习页面。
141.第一页面中更新后的显示数据,为根据第二页面的变化数据得到的显示数据,第一页面中进行更新的显示数据,是在用户浏览第二页面或者还未打开第一页面时进行的数据更新,即是在用户无感知的情况下进行的,从而,不会影响用户体验感。
142.结合上述举例,学习空间页面在更新显示数据之前的如图7f示例性所示的显示,其中,区域2中显示的任务进度数据为23%,区域3中显示的激励资源为1个资源,则在用户打开学习空间页面时,学习空间页面中的显示数据如图7g示例性所示,其中,区域2中显示的任务进度数据为30%,区域3中显示的激励资源为3个资源。
143.学习空间页面在更新显示数据之前的如图7h示例性所示的显示,其中,区域2中显示的任务进度数据为23%,图7h中无激励资源的显示,则在用户打开学习空间页面时,学习空间页面中的显示数据如图7i示例性所示,其中,区域2中显示的任务进度数据为30%,区域3中显示的激励资源为1个资源。
144.基于上述实施例的描述,在本实施例中,数据更新消息中包括数据标识,基于数据更新消息,从服务器中获取第一目标数据,可包括:
145.基于数据标识,向服务器发送数据获取请求;
146.接收服务器发送的数据获取请求的响应信息,得到第一目标数据。
147.其中,学习空间页面在接收到数据标识之后,可基于数据标识向服务器发送数据获取请求,以从服务器中获取相应数据。
148.结合上述举例,若数据标识对应于任务进度数据,则服务器可向空间学习页面返回任务进度数据更新后的数据,如上述举例中的30%,或者,若数据标识对应于任务进度数据以及激励资源,则服务器可向空间学习页面返回任务进度数据以及激励资源更新后的数据,如上述举例中的30%以及1个资源。
149.从而,服务器能够通过数据标识,查找到需要返回的响应信息,进而避免相同数据重复发送的问题。
150.其中,在向服务器发送数据获取请求时,可针对不同的数据标识,发送响应的数据获取请求,数据标识可用于描述第一类型数据,或者,第一类型数据和第二类型数据。
151.在一些实施例中,在数据标识用户描述第一类型数据对应的标识时,基于数据标识,向服务器发送数据获取请求,包括:
152.基于数据标识,向服务器发送第一获取请求,第一获取请求用于向服务器请求第一类型数据。
153.其中,学习空间页面可根据不同的数据标识,向服务器发送不同的数据获取请求,以向服务器指示需获取的数据,便于服务器快速查找相应数据并返回。
154.结合上述举例,第一类型数据可为任务进度数据,服务器在接收到基于任务进度数据发送的第一获取请求时,可根据课程学习页面中的学习数据的变化情况,从已记录的数据库中查找出与第一类型数据对应的变化数据。
155.在另一些实施例中,在数据标识用户描述第一类型数据对应的标识和第二类型数据对应的标识时,基于数据标识,向服务器发送数据获取请求,包括:
156.基于数据标识,向服务器发送第二获取请求,第二获取请求用于向服务器请求第一类型数据以及第二类型数据。
157.其中,学习空间页面可根据不同的数据标识,向服务器发送不同的数据获取请求,以向服务器指示需获取的数据,便于服务器快速查找相应数据并返回。
158.结合上述举例,第二类型数据可为任务进度数据和激励资源,服务器在接收到基于任务进度数据和激励资源发送的第二获取请求时,可根据课程学习页面中的学习数据的变化情况,从已记录的数据库中查找出与第一类型数据对应的变化数据以及激励资源。
159.其中,显示设备从服务器中获取得到的第一目标数据可包括第一类型数据,或者,第一类型数据和第二类型数据,第一类型数据和第二类型数据为不同数据,第一类型数据可用于描述用户在第一页面中产生的学习数据,第二类型数据可用于描述基于第一页面中的学习数据而变化/产生的一些数据,用于激励用户继续进行第一页面的数据学习。
160.相应的,基于第一目标数据更新第一页面栈对应的初始缓存数据,可包括如下两种实现方式,即,基于第一类型数据更新第一页面栈对应的初始缓存数据,以及,基于第一类型数据和第二类型数据,更新第一页面栈对应的初始缓存数据。
161.在一些实施例中,基于第一类型数据更新第一页面栈对应的初始缓存数据,包括:
162.基于第一类型数据,替换第一页面栈中与第一类型数据对应的缓存数据。
163.其中,第一类型数据可为用于描述任务进度数据对应的显示数据,在基于第一类
型数据,替换第一页面栈中与第一类型数据对应的缓存数据时,可将第一页面中缓存的原始任务进度数据对应的显示数据替换为第一类型数据。
164.举例而言,假设确定出的第一类型数据为98%,第一页面中原始任务进度数据对应的显示数据为80%,则基于第一类型数据,替换第一页面栈中与第一类型数据对应的缓存数据,得到的第一页面中与第一类型数据对应的当前显示数据为98%。
165.在另一些实施例中,基于第一目标数据,更新第一页面栈对应的初始缓存数据,包括:
166.基于第一类型数据,替换第一页面栈中与第一类型数据对应的缓存数据;
167.将第二类型数据添加至替换得到的缓存数据中。
168.其中,第一类型数据可为用于描述任务进度数据以及激励资源对应的显示数据,在基于第一类型数据,替换第一页面栈中与第一类型数据对应的缓存数据,将第二类型数据添加至替换得到的缓存数据时,可将第一页面中缓存的原始任务进度数据对应的显示数据替换为第一类型数据,并在第一页面中添加第二类型数据作为新数据进行显示。
169.举例而言,假设确定出的第一类型数据为98%,第一页面中缓存的原始任务进度数据对应的显示数据为80%,则基于第一类型数据,替换第一页面栈中与第一类型数据对应的缓存数据,得到的第一页面中与第一类型数据对应的当前显示数据为98%,第二类型数据为2个资源时,将第二类型数据添加至替换得到的缓存数据中,得到的第二页面中还显示2个资源。
170.需要说明的是,显示设备对第一页面栈对应的初始缓存数据进行更新之后,可在第二页面中向用户进行提示,便于用户及时查看。
171.其中,可通过响应于第一页面栈的初始缓存数据的更新,在第二页面中显示提示消息,提示消息用于描述第一页面中已产生第二类型数据。
172.结合上述举例,若用户正在第二页面中进行任务学习时,第一页面中的显示数据更新完成,则可在第二页面中进行消息提示,第二页面的页面显示如图8a示例性所示,图8a中显示用户正在进行任务a的学习,显示设备在确定出第一页面中的显示数据已更新之后,可在第二页面中显示提示消息(如已生成2个资源),提示消息的显示如图8b示例性所示。
173.其中,提示消息可包括文字、激励资源的图像、或者文字和激励资源的图像的结合展示。
174.从而,能够使得用户在第二页面中进行任务学习时,能够及时了解到第一页面中激励资源的变化。
175.用户可对提示消息进行触发操作,来从当前显示的第二页面中跳转至第二类型消息所在的第一页面进行查看。
176.其中,可通过响应于出栈指令,撤销第二页面栈,并根据更新后的第一页面栈对应的初始缓存数据加载对应第一页面栈的第一页面,其中,出栈指令是在接收到的用户输入的第二操作后生成的,第二操作用于控制显示器退出第二页面以显示第一页面。
177.其中,用户可通过在第二页面中对提示消息进行触发操作,实现出栈指令。
178.结合上述举例,用户在第二页面中看到的提示消息可参见图8b示例性所示,图8b中,提示消息所在的区域可支持用户进行触发操作,便于显示设备切换当前显示页面。
179.在用户对提示消息所在的区域进行如点击等触发操作时,显示设备可将当前显示
页面由第二页面切换至第一页面供用户浏览,假设提示消息为“已生成2个资源”,则显示设备切换后的第一页面的显示如图8c示例性所示,激励资源可对应显示在图8c中的预设显示区域,图8c中,切换前第一页面对应的显示数据如图7i示例性所示,对应的激励资源变更为3个资源,任务进度数据变更为50%。
180.需要说明的是,预设显示区域可设置在第一页面中的一个固定位置,如第一页面的左上方、或者第一页面的左下方、或者第一页面的右下方、或者第一页面的右上方,本公开对此不做具体限定。
181.或者,预设显示区域还可设置在第一页面中的一个活动区域,在由第二页面切换至第一页面时,可基于第一页面的当前显示空间显示激励资源。
182.其中,用户在显示设备中打开第二页面之前,需要从第一页面中进行进入,则需要先打开第一页面,向服务器请求第一页面的初始显示数据,便于用户有效进入第二页面。
183.其中,显示设备可通过响应于第一页面的开启请求,从服务器中获取第二目标数据,并在显示器中显示第二目标数据。
184.其中,用户在首次开启学习空间页面时,学习空间页面需要从服务器请求数据向用户进行展示,便于用户浏览,用户可通过在学习空间页面中点击需要学习的任务进入课程学习页面中进行学习。
185.如图9示例性所示,用户可从应用程序的首页进行学习空间页面,学习空间页面向服务器请求学习空间数据,同时学习空间页面会在监听模块中注册一个监听进程,用来监听学习课程页面中的数据变化,此时,首页在页面栈底,学习空间页面在页面栈顶,用户可从学习空间页面上的课程入口处进入已经定制的课程进行学习,此时,课程学习页面(课程页)进入页面栈顶,学习空间页面切换至后台(页面栈中/栈底),用户在课程学习页面的学习过程中触发了激励资源或课程的学习进度发生了变化,学习课程页面会广播该消息,监听进程在接收到广播消息时发送该广播消息给在后台的学习空间页面,学习空间页面在收到对应的广播消息之后从服务器请求最新数据来刷新学习空间数据,在用户退出详情页,学习空间页面重新返回至前台页面(页面栈顶),此时学习空间页面中的数据已经刷新完成,向用户显示的是刷新后的数据,从而,避免了用户数据无变化时的无效请求,同时,由于页面刷新时机是在学习空间页面还不可见时,绝大多数场景下用户回到学习空间时已经是数据刷新完成的状态,用户不会感知到页面刷新导致的画面闪烁,提升了用户的体验。
186.综上所述,本公开中显示设备的控制器中的堆栈模块响应于用户触发的第一页面栈的开启,从监听模块中注册监听进程,便于对第二页面中预设事件的数据变化进行实时监听,其中,第二页面为第一页面的次级页面,并根据用户发起的进栈指令,在第一页面栈上创建第二页面栈,以基于接收到的监听进程发送的第二页面的数据更新消息,从服务器中获取第一目标数据来对第一页面栈对应的初始缓存数据进行更新,从而,便于第一页面栈能够基于用户的开启向用户展示第一页面的更新结果,通过上述方法能够在用户使用的二页面中的数据发生变化时,对第一页面中的数据进行及时调整更新,在用户打开第一页面时能够直接浏览到更新后的第二页面中的数据变化,避免从第二页面跳转至第一页面时出现画面闪烁的问题,提升用户体验感。
187.本公开实施例提供一种计算机可读存储介质,该计算机可读存储介质上存储计算机程序,该计算机程序被处理器执行时实现上述页面更新方法执行的各个过程,且能达到
相同的技术效果,为避免重复,这里不再赘述。
188.其中,该计算机可读存储介质可以为只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等。
189.本公开提供一种计算机程序产品,其特征在于,包括:当所述计算机程序产品在计算机上运行时,使得所述计算机实现上述的页面更新方法。
190.为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述在一些实施例中讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释原理以及实际的应用,从而使得本领域技术人员更好的使用实施方式以及适于具体使用考虑的各种不同的变形的实施方式。