一种数据获取方法、装置、电子设备及存储介质与流程

文档序号:31699924发布日期:2022-10-01 07:36阅读:29来源:国知局
一种数据获取方法、装置、电子设备及存储介质与流程

1.本技术属于移动应用领域,具体涉及一种数据获取方法、装置、电子设备及存储介质。


背景技术:

2.列表视图是移动端应用最常用的容器组件之一,随着一个应用功能的扩展,用于展示业务的列表视图的样式也逐渐丰富。比如一个社交软件的首页,包含广告区,图片内容,视频内容,搜索框等不同的功能内容,这些不同的功能内容穿插在一个滑动的列表视图之中。目前常用的列表视图中,往往不同类型的视图所对应的数据源类型不一致,这使得这种多类型列表视图的适配器代码量庞大。另一方面,在产品设计上,往往对容器有着更高的要求,例如对容器的某些特殊类型的视图做展示限制、两种视图类型互斥显示或者几种类型视图之间有显示的优先级等,当需要动态屏蔽或展示列表中某一类型视图内容时,需要其他类型视图的可见状态同步变更。
3.因此,常用的列表视图中,当视图类型增多,视图类型间关系复杂时,列表视图调用子视图数据的逻辑也会产生复杂混乱的问题。


技术实现要素:

4.本技术实施例提供一种数据获取方法、装置、电子设备及存储介质,能够解决当视图类型增多时,列表视图调用子视图数据的逻辑复杂混乱的问题,能够提升视图数据获取、管理和维护的效率。
5.第一方面,本技术实施例提供了一种数据获取方法,该方法包括:获取目标子视图在列表视图中的第一位置信息,其中所述第一位置信息为所述目标子视图在所述列表视图中的排列位置;根据所述第一位置信息和预先设置的第一链表中每个第一节点所对应的子视图的个数,确定所述目标子视图在所述第一链表中所对应的第一目标节点,其中每个所述第一节点预先存储有该第一节点所对应的子视图个数,任意子视图在所述列表视图中的排列位置与该子视图在所有所述第一节点中的排列位置相同,该子视图在所述第一链表中的排列位置为该子视图在所处节点中的排列个数与该子视图所处节点之前所有第一节点所对应子视图个数的和值,所述第一节点为可见节点,与所述第一节点对应的视图类型为可见视图类型,与所述第一节点对应的子视图为可见子视图,所述可见子视图能够在所述列表视图中进行显示;根据所述第一目标节点,从预先设置的第二链表中获取与所述第一目标节点相对应的第二目标节点,并从所述第二目标节点中获取所述目标子视图所对应的内容数据,其中所述第二链表中设置有与每个第一节点所对应的第二节点,且用于存储子视图所对应的内容数据。
6.第二方面,本技术实施例提供了一种数据获取装置,该装置包括:第一获取模块,用于获取目标子视图在列表视图中的第一位置信息,其中所述第一位置信息为所述目标子视图在所述列表视图中的排列位置;确定模块,用于根据所述第一位置信息和预先设置的
第一链表中每个第一节点所对应的子视图的个数,确定所述目标子视图在所述第一链表中所对应的第一目标节点,其中每个所述第一节点预先存储有该第一节点所对应的子视图个数,任意子视图在所有所述第一节点中的排列位置与该子视图在所述第一链表中的排列位置相同,该子视图在所述第一链表中的排列位置为该子视图在所处节点中的排列个数与该子视图所处节点之前所有第一节点所对应子视图个数的和值,所述第一节点为可见节点,与所述第一节点对应的视图类型为可见视图类型,与所述第一节点对应的子视图为可见子视图,所述可见子视图能够在所述列表视图中进行显示;第二获取模块,用于根据所述第一目标节点,从预先设置的第二链表中获取与所述第一目标节点相对应的第二目标节点,并从所述第二目标节点中获取所述目标子视图所对应的内容数据,其中所述第二链表中设置有与每个第一节点所对应的第二节点,且用于存储子视图所对应的内容数据。
7.第三方面,本技术实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。
8.第四方面,本技术实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。
9.在本技术实施例中,通过获取目标子视图在列表视图中的第一位置信息,其中第一位置信息为目标子视图在列表视图中的排列位置;根据第一位置信息和预先设置的第一链表中每个第一节点所对应的子视图的个数,确定目标子视图在第一链表中所对应的第一目标节点,其中每个第一节点预先存储有该第一节点所对应的子视图个数,任意子视图在列表视图中的排列位置与该子视图在第一链表中的排列位置相同,该子视图在第一链表中的排列位置为该子视图在所处节点中的排列个数与该子视图所处节点之前所有第一节点所对应子视图个数的和值,第一节点为可见节点,与第一节点对应的视图类型为可见视图类型,与第一节点对应的子视图为可见子视图,可见子视图能够在列表视图中进行显示;根据第一目标节点,从预先设置的第二链表中获取与第一目标节点相对应的第二目标节点,并从第二目标节点中获取目标子视图所对应的内容数据,其中第二链表中设置有与每个第一节点所对应的第二节点,且用于存储子视图所对应的内容数据,实现了多类型数据源兼容于单一适配器,能够从同一数据源中获取列表视图中的子视图对应的内容数据,能够解决列表视图调用子视图数据的逻辑复杂混乱的问题,能够提升视图数据获取、管理和维护的效率。
附图说明
10.图1是本技术实施例提供的一种数据获取方法的流程示意图;
11.图2是本技术实施例提供的一种视图类型节点数据结构设计示意图;
12.图3是本技术实施例提供的一种第一链表的结构示意图;
13.图4是本技术实施例提供的另一种数据获取方法的流程示意图;
14.图5是本技术实施例提供的一种第二链表的结构示意图;
15.图6是本技术实施例提供的另一种数据获取方法的流程示意图;
16.图7是本技术实施例提供的一种第三链表的结构示意图;
17.图8是本技术实施例提供的另一种数据获取方法的流程示意图;
18.图9是本技术实施例提供的另一种数据获取方法的流程示意图;
19.图10是本技术实施例提供的一种数据获取装置的结构示意图;
20.图11是本技术的另一个实施例的电子设备的结构示意图。
具体实施方式
21.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
22.本技术的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
23.下面结合附图,通过具体的实施例及其应用场景对本技术实施例提供的一种数据获取方法、装置、电子设备及存储介质进行详细地说明。
24.列表视图是移动端应用最常用的容器组件之一,是一个显示的可滚动的列表,比如一个社交应用的首页,包含广告区、图片内容、视频内容、搜索框等不同的功能内容,这些内容穿插在一个滑动的列表视图之中,目前,安卓(android)系统最常用的列表视图为复用视图(recyclerview),recyclerview用视图类型(viewtype)来区分不同的视图,往往不同视图类型的视图所对应的数据源类型不一致,这使得这种多类型视图列表的适配器代码量庞大,逻辑复杂,后期难以维护。
25.图1示出本发明的一个实施例提供的一种数据获取方法,该方法可以由电子设备执行,该电子设备可以包括:服务器和/或终端设备,其中终端设备可以例如车载终端或手机终端等。换言之,该方法可以由安装在电视设备的软件或硬件来执行,该方法包括如下步骤:
26.步骤102:获取目标子视图在列表视图中的第一位置信息。
27.其中,所述第一位置信息为所述目标子视图在所述列表视图中的排列位置
28.具体的,在列表视图中,当视窗中出现目标子视图时,列表视图可以根据预先设置在目标子视图的锚点或目标子视图的偏移量,确定目标子视图在列表视图中所处的第一位置信息。
29.这样,通过获取目标子视图在列表视图中的第一位置信息,能够根据目标子视图在列表视图中的第一位置信息,获取到目标子视图对应的内容数据。
30.步骤104:根据所述第一位置信息和预先设置的第一链表中每个第一节点所对应的子视图的个数,确定所述目标子视图在所述第一链表中所对应的第一目标节点。
31.其中,每个所述第一节点预先存储有该第一节点所对应的子视图个数,任意子视图在所述列表视图中的排列位置与该子视图在所述第一链表中第一节点中的排列位置相同,该子视图在所述第一链表中的排列位置为该子视图在所处节点中的排列个数与该子视
图所处节点之前所有第一节点所对应子视图个数的和值,所述第一节点为可见节点,与所述第一节点对应的视图类型为可见视图类型,与所述第一节点对应的子视图为可见子视图,所述可见子视图能够在所述列表视图中进行显示。
32.其中,作为一个示例,第如图2所示的子视图类型节点数据结构设计示意图,该结构具有链表节点性质,并用于承载子视图类型的关系属性预设,通过如图2所示的视图节点(viewnode)数据结构可以封装子视图节点,例如:广告视图节点(adviewnode)、系统通知视图节点(notifynode)和用户推荐内容视图节点(commonviewnode),其中,每个视图节点中包括该视图类型、视图类型对应的节点数量、该视图类型所占整个列表视图的权重。
33.例如图3所示,可以根据图2所示的子视图类型节点数据结构,确定第一链表,该第一链表为列表视图所包含视图类型的排列顺序链。
34.可以通过适配器去第一链表中查找与目标子视图对应的第一目标节点以及目标子视图对应的视图类型。
35.作为一个示例,例如图4,第一链表为列表视图所包含子视图类型的排列顺序列表,第一链表中包含可见节点和/或不可见节点,可见节点即为第一节点,可以通过适配器查找第一链表中目标子视图对应的第一目标节点,可以从第一链表的根节点开始,通过以下步骤获取第一链表中目标子视图对应的第一目标节点。
36.1)判断当前节点是否为空。
37.2)若当前第为空,则返回的目标子视图类型为空,若当前节点不为空,则判断当前节点是否可见,即当前节点是否为第一节点。
38.3)若当前节点不可见,则当前节点为第一链表中的下一节点,并返回执行步骤1),若当前节点可见,即当前节点为第一节点,则获取当前节点对应的子视图的数量,并比较第一位置信息与当前节点对应的子视图的数量之间的大小。
39.4)若第一位置信息小于当前节点对应的子视图的数量,则当前节点即为与目标子视图对应的第一目标节点,若第一位置信息大于当前节点对应的子视图的数量,则第一位置信息转换为第一位置信息减去当前节点对应的子视图的数量的值,且当前节点为第一链表中的下一节点,并返回执行步骤1)。
40.这样,能够根据第一位置信息和预先设置的第一链表中每个第一节点所对应的子视图的个数,能够确定目标子视图在第一链表中所对应的第一目标节点。
41.步骤106:根据所述第一目标节点,从预先设置的第二链表中获取与所述第一目标节点相对应的第二目标节点,并从所述第二目标节点中获取所述目标子视图所对应的内容数据。
42.其中,所述第二链表中设置有与每个第一节点所对应的第二节点,且用于存储子视图所对应的内容数据。
43.具体的,例如图5所示,采用链表和数组结合的方式来存储定义多类型的子视图内容数据源,在第二链表中,每个视图类型对应的数据源以数组的方式作为一个节点存储在第二链表中,第二链表中设置有与每个第一节点所对应的第二节点,根据第一目标节点,可以从第二链表中获取与第一目标节点相对应的第二目标节点,并从第二目标节点中获取目标子视图所对应的内容数据。
44.这样,采用链表和数组结合的方式来存储定义多类型的子视图内容数据源,可以
直接根据第一目标节点,从预先设置的第二链表中获取与第一目标节点相对应的第二目标节点,并从第二目标节点中获取目标子视图所对应的内容数据,可以直接在第二中对子视图对应的内容数据进行更改,便于对列表视图的维护、列表视图问题的排查,并且实现了多类型数据源兼容于单一适配器,能够从同一数据源中获取列表视图中的子视图对应的内容数据,能够解决列表视图调用子视图数据的逻辑复杂混乱的问题,能够提升视图数据获取、管理和维护的效率,提升多类型内容数据的拓展性。
45.在一种实现方式中,所述从所述第二目标节点中获取所述目标子视图所对应的内容数据之后,还包括:
46.将所述目标子视图所对应的内容数据返回至所述列表视图。
47.具体的,将目标子视图所对应的内容数据返回至所述列表视图,可以在列表视图中对目标子视图所对应的内容数据进行显示。
48.在一种实现方式中,如图6所示,每个所述第一节点预先存储有该第一节点所对应的视图类型,且每个第一节点仅对应一个视图类型,不同第一节点对应不同的视图类型,所述根据所述第一目标节点,从预先设置的第二链表中获取与所述第一目标节点相对应的第二目标节点,并从所述第二目标节点中获取所述目标子视图所对应的内容数据,包括以下步骤:
49.步骤602:根据所述第一目标节点,确定所述目标子视图所对应的目标视图类型和第二位置信息。
50.可以通过适配器向第一链表获取指定位置的子视图类型,触发链表从根节点开始进行递归计算,当匹配到对应的视图类型时将视图类型和该目标子视图在第二链表中对应的节点中的数组数据源中的第二位置信息进行返回。
51.其中所述第二位置信息为所述目标子视图在所述第一目标节点中的排列次序。
52.作为一个示例,例如图4所示,第一链表为列表视图所包含子视图类型的排列顺序列表,第一链表中包含可见节点和/或不可见节点,可见节点即为第一节点,可以通过适配器查找第一链表中目标子视图对应的第一目标节点,可以从第一链表的根节点开始,通过以下步骤确定所述目标子视图所对应的目标视图类型和第二位置信息。
53.1)判断当前节点是否为空。
54.2)若当前第为空,则返回的第二位置信息为空,若当前节点不为空,则判断当前节点是否可见,即当前节点是否为第一节点。
55.3)若当前节点不可见,则当前节点为第一链表中的下一节点,并返回执行步骤1),若当前节点可见,即当前节点为第一节点,则获取当前节点对应的子视图的数量,并比较第一位置信息与当前节点对应的子视图的数量之间的大小。
56.4)若第一位置信息小于当前节点对应的子视图的数量,则当前节点即为与目标子视图对应的第一目标节点,当前节点对应的视图类型即为目标视图类型,并且此时的第一位置信息即为第二位置信息,返回目标视图类型和第二位置信息,若第一位置信息大于当前节点对应的子视图的数量,则第一位置信息转换为第一位置信息减去当前节点对应的子视图的数量的值,且当前节点为第一链表中的下一节点,并返回执行步骤1)。
57.步骤604:根据所述目标视图类型,从所述第二链表中获取所述第二目标节点。
58.其中所述第二链表中每个第二节点预先存储有该第二节点所对应的视图类型,且
每个第二节点仅对应一个视图类型,不同第二节点对应不同的视图类型。
59.具体的,直接遍历第二链表,根据目标视图类型,从第二链表中获取所述第二目标节点。
60.步骤606:根据所述第二位置信息,从所述第二目标节点中获取所述目标子视图所对应的内容数据。
61.其中,所述目标子视图在所述第一目标节点和第二目标节点中的排列次序相同,且所述第二目标节点预先存储有目标个数的子视图的内容数据,其中所述目标个数为所述第一目标节点所对应的子视图个数。
62.具体的,在第二链表中,同一视图类型的子视图对应的内容数据以数组的形式存储在同一个节点中,在确定了第二目标节点后,根据第二位置信息,直接在第二节点中的子视图对应的内容数据数组中查找与第二位置信息对应的内容数据。
63.这样,通过根据第一目标节点,确定目标子视图所对应的目标视图类型和第二位置信息,根据目标视图类型,从第二链表中获取第二目标节点,根据第二位置信息,从第二目标节点中获取目标子视图所对应的内容数据,能够在一个在同一个数据源链表中获取不同视图类型的子视图的内容数据,能够解决当视图类型增多时,列表视图调用子视图数据的逻辑复杂混乱的问题,能够提升视图数据获取、管理和维护的效率。
64.在一种实现方式中,所述方法还包括:
65.在所述列表视图初次加载或者更新时,按照预设规则,根据第三链表中的每个第三节点对应的视图类型的属性信息,确定所述每个第三节点的可见性、所述每个第三节点对应的视图类型的可见性和所述每个第三节点对应的子视图的可见性,其中,其中所述第一链表中设置有与所述每个第三节点所对应的节点,所述第一链表中的节点的可见性与所对应的所述第三节点的可见性相同,所述属性信息包括每个所述第三节点所对应的视图类型在所述列表视图中的权重。
66.例如图7所示,可以根据图2所示的子视图类型节点数据结构,确定第三链表,第三链表为列表视图所包含视图类型的权重顺序链。
67.具体的,在列表视图初次加载或者更新时,可以通过适配器进行初始化或触发观察者监听,触发子视图类型权重链表作为一个示例,如图8所示,在列表视图初次加载或者更新时,从第三链表的根节点开始,按照预设规则,预设规则可根据需求自定义拓展,例如:权重阈值,类型互斥和/或权重优先级等,根据第三链表中的每个第三节点对应的视图类型的属性信息,确定每个第三节点的可见性,包括以下步骤:
68.1)判断当前第三节点是否为空,若为空,则结束流程,若不为空,则判断当前第三节点是否符合列表视图各类型节点预设的规则,例如当前第三节点所占权重值小于或等于剩余权重值;
69.2)若判断当前第三节点不符合列表视图各类型节点预设的规则,则当前第三节点设置为不可见节点,即设置当前第三节点对应的视图类型的可见性为不可见,当前第三节点对应的子视图的可见性为不可见,剩余权重值为当前转换为剩余权重值减去当前第三节点的权重值,当前第三节点为第三链表中的下一第三节点,并返回执行步骤1);若判断当前第三节点符合列表视图各类型节点预设的规则,则当前第三节点设置为可见节点,即设置当前第三节点对应的视图类型的可见性为可见,当前第三节点对应的子视图的可见性为可
见,且剩余权重值为当前转换为剩余权重值减去当前第三节点的权重值,当前第三节点为第三链表中的下一第三节点,并返回执行步骤1。
70.这样,通过预设规则,可以直接通过一个第三链表设置每个子视图的可见性,使得设置逻辑简单有效,提高对于视图列表的维护效率、管理效率,方便了列表视图所对应的子视图的内容数据的调用。
71.在一种实现方式中,所述方法还包括:
72.接收所述列表视图所发送的获取可见子视图数量的请求信息;响应于所述请求信息,统计所述第一链表中所述第一节点对应的子视图的总数量;将所述第一链表中所述第一节点对应的子视图的总数量发送至所述列表视图。
73.具体的,作为一个,例如图9所示,从第一链表的根节点开始,统计所述第一链表中可见性为可见的视图类型对应的子视图的总数量,即第一节点对应的子视图的总数量,包括以下步骤:
74.1)判断当前节点是否为空,若为空,则返回可见子视图的总数量,若不为空,则判断当前节点是否可见。
75.2)若当前节点可见,则获取当前节点的子视图的数量,可见子视图的总数量转换为可见子视图的总数量加当前节点的子视图的数量,且当前节点转换为第一链表中的下一节点,并返回执行步骤1),若当前节点不可见,则当前节点转换为第一轮链表中的下一节点,并返回执行步骤1)。
76.这样,通过接收列表视图所发送的获取可见子视图数量的请求信息;响应于请求信息,统计第一链表中第一节点对应的子视图的总数量;将第一链表中第一节点对应的子视图的总数量发送至列表视图,能够可见子视图的数量,方便了后续对应列表视图的维护、管理。
77.需要说明的是,本技术实施例提供的数据获取方法,执行主体可以为数据获取装置,或者该数据获取装置中的用于执行数据获取方法的控制模块。本技术实施例中以数据获取装置执行数据获取方法为例,说明本技术实施例提供的数据获取装置。
78.图10是根据本发明实施例的数据获取装置的结构示意图。如图1000所示,数据获取装置1000包括:第一获取模块1010、确定模块1020和第二获取模块1030。
79.第一获取模块1010,用于获取目标子视图在列表视图中的第一位置信息,其中所述第一位置信息为所述目标子视图在所述列表视图中的排列位置;确定模块1020,用于根据所述第一位置信息和预先设置的第一链表中每个第一节点所对应的子视图的个数,确定所述目标子视图在所述第一链表中所对应的第一目标节点,其中每个所述第一节点预先存储有该第一节点所对应的子视图个数,任意子视图在所述列表视图中的排列位置与该子视图在所有所述第一节点中的排列位置相同,该子视图在所述第一链表中的排列位置为该子视图在所处节点中的排列个数与该子视图所处节点之前所有第一节点所对应子视图个数的和值,所述第一节点为可见节点,与所述第一节点对应的视图类型为可见视图类型,与所述第一节点对应的子视图为可见子视图,所述可见子视图能够在所述列表视图中进行显示;第二获取模块1030,用于根据所述第一目标节点,从预先设置的第二链表中获取与所述第一目标节点相对应的第二目标节点,并从所述第二目标节点中获取所述目标子视图所对应的内容数据,其中所述第二链表中设置有与每个第一节点所对应的第二节点,且用于存
储子视图所对应的内容数据。
80.在一种实现方式中,所述装置1000还包括:发送模块1040,用于将所述目标子视图所对应的内容数据返回至所述列表视图。
81.在一种实现方式中,所述第二获取模块1030,用于:所述根据所述第一目标节点,从预先设置的第二链表中获取与所述第一目标节点相对应的第二目标节点,并从所述第二目标节点中获取所述目标子视图所对应的内容数据,包括:根据所述第一目标节点,确定所述目标子视图所对应的目标视图类型和第二位置信息,其中所述第二位置信息为所述目标子视图在所述第一目标节点中的排列次序;根据所述目标视图类型,从所述第二链表中获取所述第二目标节点,其中所述第二链表中每个第二节点预先存储有该第二节点所对应的视图类型,且每个第二节点仅对应一个视图类型,不同第二节点对应不同的视图类型;根据所述第二位置信息,从所述第二目标节点中获取所述目标子视图所对应的内容数据,所述目标子视图在所述第一目标节点和第二目标节点中的排列次序相同,且所述第二目标节点预先存储有目标个数的子视图的内容数据,其中所述目标个数为所述第一目标节点所对应的子视图个数。
82.在一种实现方式中,所述装置1000还包括:设置模块1050,用于在所述列表视图初次加载或者更新时,按照预设规则,根据第三链表中的每个第三节点对应的视图类型的属性信息,确定所述每个第三节点的可见性、所述每个第三节点对应的视图类型的可见性和所述每个第三节点对应的子视图的可见性,其中,其中所述第一链表中设置有与所述每个第三节点所对应的节点,所述第一链表中的节点的可见性与所对应的所述第三节点的可见性相同,所述属性信息包括每个所述第三节点所对应的视图类型在所述列表视图中的权重。
83.在一种实现方式中,所述装置1000还包括:统计模块1060,用于接收所述列表视图所发送的获取可见子视图数量的请求信息;响应于所述请求信息,统计所述第一链表中可见性为可见的视图类型对应的子视图的总数量;将所述第一链表中可见性为可见的视图类型对应的子视图的总数量发送至所述列表视图。
84.本技术实施例中的数据获取装置可以是装置,也可以是终端中的部件、集成电路、或芯片。该装置可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本或者个人数字助理(personal digital assistant,pda)等,非移动电子设备可以为服务器、网络附属存储器(network attached storage,nas)、个人计算机(personal computer,pc)、电视机(television,tv)、柜员机或者自助机等,本技术实施例不作具体限定。
85.本技术实施例中的数据获取装置可以为具有操作系统的装置。该操作系统可以为安卓(android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本技术实施例不作具体限定。
86.本技术实施例提供的数据获取装置能够实现图1至图9的方法实施例中实现的各个过程,为避免重复,这里不再赘述。
87.可选地,如图11所示,本技术实施例另提供一种电子设备1100,包括处理器1101和存储器1102,存储器1102上存储有可在所述处理器1101上运行的程序或指令,该程序或指
令被处理器1101执行时实现:获取目标子视图在列表视图中的第一位置信息,其中所述第一位置信息为所述目标子视图在所述列表视图中的排列位置;根据所述第一位置信息和预先设置的第一链表中每个第一节点所对应的子视图的个数,确定所述目标子视图在所述第一链表中所对应的第一目标节点,其中每个所述第一节点预先存储有该第一节点所对应的子视图个数,任意子视图在所述列表视图中的排列位置与该子视图在所有所述第一节点中的排列位置相同,该子视图在所述第一链表中的排列位置为该子视图在所处节点中的排列个数与该子视图所处节点之前所有第一节点所对应子视图个数的和值,所述第一节点为可见节点,与所述第一节点对应的视图类型为可见视图类型,与所述第一节点对应的子视图为可见子视图,所述可见子视图能够在所述列表视图中进行显示;根据所述第一目标节点,从预先设置的第二链表中获取与所述第一目标节点相对应的第二目标节点,并从所述第二目标节点中获取所述目标子视图所对应的内容数据,其中所述第二链表中设置有与每个第一节点所对应的第二节点,且用于存储子视图所对应的内容数据。
88.在一种实现方式中,将所述目标子视图所对应的内容数据返回至所述列表视图。
89.在一种实现方式中,每个所述第一节点预先存储有该第一节点所对应的视图类型,且每个第一节点仅对应一个视图类型,不同第一节点对应不同的视图类型;根据所述第一目标节点,确定所述目标子视图所对应的目标视图类型和第二位置信息,其中所述第二位置信息为所述目标子视图在所述第一目标节点中的排列次序;根据所述目标视图类型,从所述第二链表中获取所述第二目标节点,其中所述第二链表中每个第二节点预先存储有该第二节点所对应的视图类型,且每个第二节点仅对应一个视图类型,不同第二节点对应不同的视图类型;根据所述第二位置信息,从所述第二目标节点中获取所述目标子视图所对应的内容数据,所述目标子视图在所述第一目标节点和第二目标节点中的排列次序相同,且所述第二目标节点预先存储有目标个数的子视图的内容数据,其中所述目标个数为所述第一目标节点所对应的子视图个数。
90.在一种实现方式中,在所述列表视图初次加载或者更新时,按照预设规则,根据第三链表中的每个第三节点对应的视图类型的属性信息,确定所述每个第三节点的可见性、所述每个第三节点对应的视图类型的可见性和所述每个第三节点对应的子视图的可见性,其中,其中所述第一链表中设置有与所述每个第三节点所对应的节点,所述第一链表中的节点的可见性与所对应的所述第三节点的可见性相同,所述属性信息包括每个所述第三节点所对应的视图类型在所述列表视图中的权重。
91.在一种实现方式中,接收所述列表视图所发送的获取可见子视图数量的请求信息;响应于所述请求信息,统计所述第一链表中可见性为可见的视图类型对应的子视图的总数量;将所述第一链表中可见性为可见的视图类型对应的子视图的总数量发送至所述列表视图。
92.具体执行步骤可以参见上述数据获取方法实施例的各个步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
93.需要说明的是,本技术实施例中的电子设备包括:服务器、终端或除终端之外的其他设备。
94.以上电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置,例如,输入单元,可以包括图形处理
器(graphics processing unit,gpu)和麦克风,显示单元可以采用液晶显示器、有机发光二极管等形式来配置显示面板。用户输入单元包括触控面板以及其他输入设备中的至少一种。触控面板也称为触摸屏。其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
95.存储器可用于存储软件程序以及各种数据。存储器可主要包括存储程序或指令的第一存储区和存储数据的第二存储区,其中,第一存储区可存储操作系统、至少一个功能所需的应用程序或指令(比如声音播放功能、图像播放功能等)等。此外,存储器可以包括易失性存储器或非易失性存储器,或者,存储器可以包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-onlymemory,rom)、可编程只读存储器(programmablerom,prom)、可擦除可编程只读存储器(erasableprom,eprom)、电可擦除可编程只读存储器(electricallyeprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,ram),静态随机存取存储器(static ram,sram)、动态随机存取存储器(dynamic ram,dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram,ddrsdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,drram)。
96.处理器可包括一个或多个处理单元;可选的,处理器集成应用处理器和调制解调处理器,其中,应用处理器主要处理涉及操作系统、用户界面和应用程序等的操作,调制解调处理器主要处理无线通信信号,如基带处理器。可以理解的是,上述调制解调处理器也可以不集成到处理器中。
97.本技术实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述数据获取方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
98.其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如rom、ram、磁碟或者光盘等。
99.本技术实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述数据获取方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
100.应理解,本技术实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
101.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本技术实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
102.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本技术各个实施例所述的方法。
103.上面结合附图对本技术的实施例进行了描述,但是本技术并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本技术的启示下,在不脱离本技术宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本技术的保护之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1