CN110968313A - 一种fragment管理框架、方法及装置 - Google Patents
一种fragment管理框架、方法及装置 Download PDFInfo
- Publication number
- CN110968313A CN110968313A CN201811160972.1A CN201811160972A CN110968313A CN 110968313 A CN110968313 A CN 110968313A CN 201811160972 A CN201811160972 A CN 201811160972A CN 110968313 A CN110968313 A CN 110968313A
- Authority
- CN
- China
- Prior art keywords
- fragment
- message
- module
- display
- menu
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 239000012634 fragment Substances 0.000 title claims abstract description 207
- 238000000034 method Methods 0.000 title abstract description 24
- 238000007726 management method Methods 0.000 claims description 75
- 238000004590 computer program Methods 0.000 claims description 13
- 238000004891 communication Methods 0.000 abstract description 6
- 230000000694 effects Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 229910052573 porcelain Inorganic materials 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
Abstract
本发明公开了一种fragment管理框架、方法及装置,所述框架包括:事件分发模块、创建模块和管理模块。其中,事件分发模块,用于接收根据用户操作生成的消息,并将所述消息发送给所述管理模块或所述创建模块;创建模块,用于根据所述事件分发模块发送的消息,进行fragment的创建操作;管理模块,用于根据所述创建模块创建的fragment,执行显示操作或切换操作;或用于根据所述事件分发模块发送的消息,执行回退操作。本发明解决了fragment创建、以及通信较为迟缓的问题,提高了使用该框架的应用程序的用户体验。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种fragment管理框架、方法及装置。
背景技术
碎片(Fragment)是Android中的组件,是一种可以嵌入在活动当中的UI片段,用来展示界面内容,可以接受用户点击、拖动等交互操作。例如一个页面中点击一菜单进入二级页面,该二级页面可通过fragment组件来实现。若二级页面中存在多个可点击菜单,那么就需要在二级页面的fragment中嵌套一个子fragment,依次进行下去可形成多个层级的fragment。碎片(Fragment)是一种可以嵌入在活动当中的UI片段
目前,通过这种方式对fragment进行管理,当fragment的层级较深时,若有夸层级的跳转,fragment的创建及通信较为迟缓,严重影响用户体验。
发明内容
鉴于上述问题,本发明提出了一种fragment管理框架、方法及装置,所述方法可解决fragment的创建及通信较为迟缓的问题。
第一方面,本申请通过本申请的一实施例提供如下技术方案:
一种fragment管理框架,包括:事件分发模块、创建模块和管理模块;
事件分发模块,用于接收根据用户操作生成的消息,并将所述消息发送给所述管理模块或所述创建模块,所述用户操作用于改变显示界面中fragment区域呈现的fragment;
创建模块,用于根据所述事件分发模块发送的消息,进行fragment的创建操作;
管理模块,用于根据所述创建模块创建的fragment,执行显示操作或切换操作;或用于根据所述事件分发模块发送的消息,执行回退操作。
优选地,所述消息为:
表征显示的消息或者表征切换的消息;
所述事件分发模块,具体用于将表征显示或表征切换的消息发送给所述创建模块;
所述创建模块,具体用于响应表征显示或表征切换的消息,执行对fragment的创建操作;
所述管理模块,具体用于将创建的fragment添加至所述fragment区域中进行呈现。
优选地,所述消息为表征回退的消息;
所述事件分发模块,具体用于将表征回退的消息发送给所述管理模块;
所述管理模块,具体用于基于所述表征回退的消息进行执行回退操作,以在所述fragment区域呈现上一个被覆盖的fragment。
优选地,所述显示界面中预设有一个以上的菜单,每一个菜单具有对应的标签;
其中,所述表征显示的消息携带有当前菜单的标签与创建fragment所需的页面参数,所述当前菜单为所述显示界面中显示的fragment所属的菜单。
优选地,所述显示界面中预设有一个菜单,每一个菜单具有对应的标签;
其中,所述表征切换的消息携带有异于当前菜单的标签与创建fragment所需的页面参数。
优选地,所述创建模块执行的创建操作包括:
创建fragment并添加至所述显示界面的fragment区域;
为所创建的fragment打上所属菜单的对应标签。
第二方面,本申请通过本申请的一实施例提供如下技术方案:
一种fragment管理方法,包括:
接收根据用户操作生成的消息,所述消息为表征显示的消息、表征切换的消息或表征回退的消息中的任一种,所述用户操作用于改变显示界面中fragment区域呈现的fragment;
根据所述消息中的表征显示的消息或表征切换的消息,进行fragment的创建操作;
根据所述创建操作创建的fragment,执行显示操作或切换操作,以在所述fragment区域呈现所创建的fragment;或
根据所述表征回退的消息,执行回退操作,以在所述fragment区域呈现上一个被覆盖的fragment。
优选地,所述消息来自一预设的菜单下的fragment;其中,所述表征显示的消息或所述表征切换的消息中携带有所述菜单的标签与创建fragment所需的页面参数。
第三方面,本申请通过本申请的一实施例提供如下技术方案:
一种应用程序,包括上述第一方面中任一项所述的fragment管理框架。
第四方面,本申请通过本申请的一实施例提供如下技术方案:
一种用户终端,包括处理器和存储器,所述存储器耦接到所述处理器,当所述存储器和所述处理器运行时使所述用户终端运行目标应用程序,所述目标应用程序包括上述第一方面中任一项所述的fragment管理框架。
第五方面,本申请通过本申请的一实施例提供如下技术方案:
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序包括上述第一方面中任一项所述的fragment管理框架。
本发明实施例提供的fragment管理框架,包括:事件分发模块、创建模块和管理模块。该框架中事件分发模块,用于接收根据用户操作生成的消息,并将所述消息发送给所述管理模块或所述创建模块;创建模块,用于根据所述事件分发模块发送的消息,进行fragment的创建操作;管理模块,用于根据所述创建模块创建的fragment,执行显示操作或切换操作;本发明通过创建模块直接创建的fragment,避免了fragment的嵌套,避免了产生多个层级的fragment,同时事件分发模块统一对用户操作生成的消息进行分发;解决了fragment创建、以及通信较为迟缓的问题,提高了使用该框架的应用程序的用户体验。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明第一实施例提供的fragment管理框架的功能模块图;
图2示出了本发明第一实施例中应用fragment管理框架的应用程序的示例性显示界面图;
图3示出了本发明第二实施例提供的fragment管理方法的流程图;
图4示出了本发明提供的一示例性的用户终端的模块框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明中的fragment管理框架可以应用到任意的应用程序上,该应用程序可安卓平台上进行安装的程序,Fragment可以理解为碎片元素或视图,即一个界面中可以包含多个碎片元素。更进一步的说,本发明可应用在所述应用程序的每个activity组件中,在一个activity组件中经常会有多个Fragment。
第一实施例
请参见图1,示出了本发明第一实施例提供的fragment管理框架100的功能模块图。该管理框架具体包括:事件分发模块101、创建模块102和管理模块103;所述的三个模块均位于同一个activity组件中。
事件分发模块101,用于接收根据用户操作生成的消息,并将所述消息发送给所述管理模块103或所述创建模块102,所述用户操作用于改变显示界面中fragment区域呈现的fragment。
创建模块102,用于根据所述事件分发模块101发送的消息,进行fragment的创建操作。
管理模块103,用于根据所述创建模块102创建的fragment,执行显示操作或切换操作;或用于根据所述事件分发模块101发送的消息,执行回退操作。
对于事件分发模块101:
具体的,用户操作包括:用户在一个activity组件的fragment中进行的操作,如选择、返回等,带有跳转或回退的操作。在进行操作之后,对应的fragment可生成对应该操作的消息。
请参照图2,图2示出了应用本发明的fragment框架的应用程序所展示的一示例性的显示界面。在所述显示界面中可设置多个菜单(如菜单1、2、3),可对各个菜单下的fragment进行分组管理,每个菜单可对应于一个组,对于每个组可设置一个标签,例如标记一个组ID,其中所述显示界面的当前菜单为所述显示界面中显示的fragment所属的菜单。因此在本实施例中,事件分发模块101所述接收到的消息应当包含有一个标签,以确定该消息是在显示界面中哪一个菜单下的fragment中生成的。
进一步的,所述消息可包含表征显示的消息、表征切换的消息或表征回退的消息,该消息可由用户所操作的fragment生成。
因此,事件分发模块101,具体用于将表征显示或表征切换的消息发送给所述创建模块102,以使所述创建模块102执行创建操作;或具体用于将表征回退的消息发送给所述管理模块103,以使管理模块103执行回退操作。一消息的具体示例如下:
1、表征显示的消息,例如音乐应用,某一菜单下的fragment中布局有歌手的列表“周杰伦”“刘德华”“阿杜”“谢帝”等,当点击其中一个歌手“周杰伦”,那么就可生成一个表征显示的消息,该表征显示的消息中包含了所在菜单的标签,同时携带创建模块102所要创建的fragment的页面参数,事件分发模块101接收到该表征显示的消息之后就可将该消息发送至创建模块102,以使创建模块102创建一个fragment(可对该fragment打上所在菜单的标签)显示该歌手的歌曲列表“以父之名”“青花瓷”等;继续在点击其歌曲列表中的一个歌曲时,那么可重复上述过程(歌手→歌曲列表)使创建模块102创建一个fragment来显示歌曲的详细信息或播放歌曲。
2、表征切换的消息,例如当处在(显示)某一菜单下的fragment中,此时触发了一个跳转,需要跳转到另一个目标菜单中去。根据所触发的跳转操作,生成一个表征切换的消息,该表征切换的消息中包含了所述目标菜单的标签,同时还可携带创建目标菜单下的fragment的页面参数。
3、表征回退的消息,请参考1中音乐应用的例子所述,fragment的递进关系:歌手→歌曲列表→歌曲信息、播放。那么当当前fragment为歌曲信息、播放时,点击返回,即可生成一个表征回退的消息,由于在生成歌曲信息、播放的fragment时,歌曲列表的fragment已经存在,因此事件分发模块101可将该消息发送至管理模块103,以直接执行回退操作。
对于上述的表征显示的消息和表征切换的消息,均可携带有所述创建模块102执行创建操作所需的页面参数,所述页面参数包括:表征页面内容的参数、表征页面布局的参数等。
对于本实施例中的事件分发模块101的构建提供一种具体的方式,首先可引入所需的第三方库RxJava与RxAndroid,然后基于第三方库RxJava与RxAndroid完成事件分发模块101(FragmentMsgControll)的构建;对于第三方库RxJava与RxAndroid的调用,对本领域技术人员实施不存在难度,不再赘述。
对于创建模块102:
创建模块102可接收来自事件分发模块101发送的表征显示或表征切换的消息,并根据所述创建模块102可响应表征显示或表征切换的消息,执行对fragment的创建操作,并将创建的fragment添加至所述显示界面的fragment区域;例如通过复写进行创建。无需在fragment上进行嵌套子fragment,避免产生多个层级的fragment。此时,对于创建模块102创建完成的fragment标记上所属菜单的标签,最后可得到一个对象。因此创建模块102所创建的所有fragment中将含有相同标签fragment视为一组,可根据标签进行分组管理,具体的每一组的fragment可通过一个栈进行管理。
另外,可基于反射机制完成创建模块102(FragmentBuilder)的构建。其中,反射主要是指程序可以访问、检测和修改它本身状态或行为的一种能力;具体的,反射是一类应用,它们能够自描述和自控制。这类应用通过某种机制来实现对自己行为的描述和检测,并能根据自身行为的状态和结果,调整或修改应用所描述行为的状态和相关的语义。在Java中的反射机制,被称为Reflection。它允许运行中的Java程序对自身进行检查,并能直接操作程序的内部属性或方法。Reflection机制允许程序在正在执行的过程中,利用Reflection APIs取得任何已知名称的类的内部信息,包括:package、type parameters、superclass、implemented interfaces、inner classes、outer classes、fields、constructors、methods、modifiers等,并可以在执行的过程中,动态生成Instances、变更fields内容或唤起methods。
对于管理模块103:
管理模块103,用于根据所述创建模块102创建的fragment,执行显示操作或切换操作;或用于根据所述事件分发模块101发送的消息,执行回退操作。具体来说:
1、管理模块103根据创建模块102创建fragment后打上的标签对菜单进行定位,若所述标签对应的为当前菜单,那么管理模块103可根据创建模块102生成的对象进行显示操作,显示创建模块102创建的fragment,即将创建的fragment添加至所述fragment区域中进行呈现。若标签对应的菜单异于当前所在的菜单(当前所在菜单指当前显示的菜单),那边管理模块103可定位到标签所对应的菜单进行切换操作,切换到标签所对应的菜单下,然后在将对应的fragment在fragment区域中显示出来。
2、管理模块103可将每个菜单下的所有fragment用一个栈去管理,栈顶即为当前显示的fragment,管理模块103可直接将栈顶移除就可显示上一级的fragment,即在所述fragment区域呈现上一个被覆盖的fragment。例如,继续参考上述的音乐应用实例,当栈底到栈顶的关系为:歌手→歌曲列表→歌曲信息、播放,当前显示的即为“歌曲信息、播放”的fragment;当管理模块103接收到事件分发模块101发送的回退消息时,需要进行回退操作,就将栈顶层移除,此时栈底到栈顶的关系为:歌手→歌曲列表,就可显示出歌曲列表的fragment,达到回退目的。
具体的,在本实施例中可基于Android原有的FragmentManager完成管理模块103的fragment中心管理。
在本实施例中,由于对所有的fragment进行的分组管理,即对每一组的fragment打上标签,如ID。每一个组对应一个菜单,一个frgment只属于一个菜单,对于相同标签的fragment属于同一菜单。每个组的fragment采用栈去管理,可方便于实现回退功能。
综上:
本发明实施例提供的fragment管理框架,该框架中事件分发模块,用于接收根据用户操作生成的消息,并将所述消息发送给所述管理模块或所述创建模块;创建模块,用于根据所述事件分发模块发送的消息,进行fragment的创建操作;管理模块,用于根据所述创建模块创建的fragment,执行显示操作或切换操作;本发明通过创建模块直接创建的fragment,避免了fragment的嵌套;避免了产生多个层级的fragment,解决了fragment创建、以及通信较为迟缓的问题,提高了用户体验。
第二实施例
基于同一发明构思,本发明第二实施例提供了一种fragment管理方法。如图3所示,图3示出了该方法的具体流程。该方法包括:
步骤S10:接收根据用户操作生成的消息,所述消息为表征显示的消息、表征切换的消息或表征回退的消息中的任一种,所述用户操作用于改变显示界面中fragment区域呈现的fragment。
步骤S20:根据所述消息中的表征显示的消息或表征切换的消息,进行fragment的创建操作。
步骤S30:根据所述创建操作创建的fragment,执行显示操作或切换操作,以在所述fragment区域呈现所创建的fragment;或根据所述表征回退的消息,执行回退操作,以在所述fragment区域呈现上一个被覆盖的fragment。
可选的,所述消息来自一预设的菜单下的fragment;其中,所述表征显示的消息或所述表征切换的消息中携带有所述菜单的标签与创建fragment所需的页面参数。
另外基于同一发明构思,在本发明中还提供了一种应用程序,该应用程序中包括上述第一实施例中的fragment管理框架,具体可参照第一实施例。
另外基于同一发明构思,在本发明中还提供了一种用户终端,包括处理器和存储器,所述存储器耦接到所述处理器,当所述存储器和所述处理器运行时使所述用户终端运行目标应用程序,所述目标应用程序包括第一实施例中所述的fragment管理框架。
另外基于同一发明构思,在本发明中还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机包括第一实施例中所述的fragment管理框架。
需要说明的是,本发明实施例所提供的应用程序、用户终端及存储介质中,上述的fragment管理框架具体实现及产生的技术效果和前述第一实施例相同,为简要描述,本实施例未提及之处可参考前述方法实施例中相应内容。
于本发明实施例中,用户终端中安装有操作系统以及第三方应用程序。用户终端可以为平板电脑、手机、笔记本电脑、PC(personal computer,个人计算机)、可穿戴设备、车载终端等用户终端设备。
图4示出了一种示例性用户终端500的模块框图。如图4所示,用户终端500包括存储器502、存储控制器504,一个或多个(图中仅示出一个)处理器506、外设接口508、网络模块510、输入输出模块512、显示模块514等。这些组件通过一条或多条通讯总线/信号线516相互通讯。
存储器502可用于存储软件程序以及模块,如本发明实施例中的使用有fragment管理框架的程序指令/模块,处理器506通过运行存储在存储器502内的软件程序以及模块,从而执行各种功能应用以及数据处理。
存储器502可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。处理器506以及其他可能的组件对存储器502的访问可在存储控制器504的控制下进行。
外设接口508将各种输入/输出装置耦合至处理器506以及存储器502。在一些实施例中,外设接口508,处理器506以及存储控制器504可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
网络模块510用于接收以及发送网络信号。上述网络信号可包括无线信号或者有线信号。
输入输出模块512用于提供给用户输入数据实现用户与用户终端的交互。所述输入输出模块512可以是,但不限于,鼠标、键盘和触控屏幕等。
显示模块514在用户终端500与用户之间提供一个交互界面(例如用户操作界面)或用于显示图像数据给用户参考。在本实施例中,所述显示模块514可以是液晶显示器或触控显示器。若为触控显示器,其可为支持单点和多点触控操作的电容式触控屏或电阻式触控屏等。支持单点和多点触控操作是指触控显示器能感应到来自该触控显示器上一个或多个位置处同时产生的触控操作,并将该感应到的触控操作交由处理器进行计算和处理。
可以理解,图4所示的结构仅为示意,用户终端500还可包括比图4中所示更多或者更少的组件,或者具有与图4所示不同的配置。图4中所示的各组件可以采用硬件、软件或其组合实现。
本发明第一实施例中的fragment管理框架集成的功能模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述第二实施例的信息分享方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的网关、代理服务器、系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了A1.一种fragment管理框架,其特征在于,包括:事件分发模块、创建模块和管理模块;
事件分发模块,用于接收根据用户操作生成的消息,并将所述消息发送给所述管理模块或所述创建模块,所述用户操作用于改变显示界面中fragment区域呈现的fragment;
创建模块,用于根据所述事件分发模块发送的消息,进行fragment的创建操作;
管理模块,用于根据所述创建模块创建的fragment,执行显示操作或切换操作;或用于根据所述事件分发模块发送的消息,执行回退操作。
A2.如A1所述的框架,其特征在于,所述消息为:
表征显示的消息或者表征切换的消息;
所述事件分发模块,具体用于将表征显示或表征切换的消息发送给所述创建模块;
所述创建模块,具体用于响应表征显示或表征切换的消息,执行对fragment的创建操作;
所述管理模块,具体用于将创建的fragment添加至所述fragment区域中进行呈现。
A3.如A1所述的框架,其特征在于,所述消息为表征回退的消息;
所述事件分发模块,具体用于将表征回退的消息发送给所述管理模块;
所述管理模块,具体用于基于所述表征回退的消息进行执行回退操作,以在所述fragment区域呈现上一个被覆盖的fragment。
A4.如A2所述的框架,其特征在于,所述显示界面中预设有一个以上的菜单,每一个菜单具有对应的标签;
其中,所述表征显示的消息携带有当前菜单的标签与创建fragment所需的页面参数,所述当前菜单为所述显示界面中显示的fragment所属的菜单。
A5.如A2所述的框架,其特征在于,所述显示界面中预设有一个菜单,每一个菜单具有对应的标签;
其中,所述表征切换的消息携带有异于当前菜单的标签与创建fragment所需的页面参数。
A6.如A4或A5任一项所述的框架,其特征在于,所述创建模块执行的创建操作包括:
创建fragment并添加至所述显示界面的fragment区域;
为所创建的fragment打上所属菜单的对应标签。
本发明公开了B7.一种fragment管理方法,其特征在于,包括:
接收根据用户操作生成的消息,所述消息为表征显示的消息、表征切换的消息或表征回退的消息中的任一种,所述用户操作用于改变显示界面中fragment区域呈现的fragment;
根据所述消息中的表征显示的消息或表征切换的消息,进行fragment的创建操作;
根据所述创建操作创建的fragment,执行显示操作或切换操作,以在所述fragment区域呈现所创建的fragment;或
根据所述表征回退的消息,执行回退操作,以在所述fragment区域呈现上一个被覆盖的fragment。
B8.如B7所述的方法,其特征在于,所述消息来自一预设的菜单下的fragment;其中,所述表征显示的消息或所述表征切换的消息中携带有所述菜单的标签与创建fragment所需的页面参数。
本发明公开了C9.一种应用程序,其特征在于,包括权利要求A1-A6任一项所述的fragment管理框架。
本发明公开了D10.一种用户终端,其特征在于,包括处理器和存储器,所述存储器耦接到所述处理器,当所述存储器和所述处理器运行时使所述用户终端运行目标应用程序,所述目标应用程序包括权利要求A1-A6任一项所述的fragment管理框架。
本发明公开了E11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序包括权利要求A1-A6任一项所述的fragment管理框架。
Claims (10)
1.一种fragment管理框架,其特征在于,包括:事件分发模块、创建模块和管理模块;
事件分发模块,用于接收根据用户操作生成的消息,并将所述消息发送给所述管理模块或所述创建模块,所述用户操作用于改变显示界面中fragment区域呈现的fragment;
创建模块,用于根据所述事件分发模块发送的消息,进行fragment的创建操作;
管理模块,用于根据所述创建模块创建的fragment,执行显示操作或切换操作;或用于根据所述事件分发模块发送的消息,执行回退操作。
2.根据权利要求1所述的框架,其特征在于,所述消息为:
表征显示的消息或者表征切换的消息;
所述事件分发模块,具体用于将表征显示或表征切换的消息发送给所述创建模块;
所述创建模块,具体用于响应表征显示或表征切换的消息,执行对fragment的创建操作;
所述管理模块,具体用于将创建的fragment添加至所述fragment区域中进行呈现。
3.根据权利要求1所述的框架,其特征在于,所述消息为表征回退的消息;
所述事件分发模块,具体用于将表征回退的消息发送给所述管理模块;
所述管理模块,具体用于基于所述表征回退的消息进行执行回退操作,以在所述fragment区域呈现上一个被覆盖的fragment。
4.根据权利要求2所述的框架,其特征在于,所述显示界面中预设有一个以上的菜单,每一个菜单具有对应的标签;
其中,所述表征显示的消息携带有当前菜单的标签与创建fragment所需的页面参数,所述当前菜单为所述显示界面中显示的fragment所属的菜单。
5.根据权利要求2所述的框架,其特征在于,所述显示界面中预设有一个菜单,每一个菜单具有对应的标签;
其中,所述表征切换的消息携带有异于当前菜单的标签与创建fragment所需的页面参数。
6.根据权利要求4或5任一项所述的框架,其特征在于,所述创建模块执行的创建操作包括:
创建fragment并添加至所述显示界面的fragment区域;
为所创建的fragment打上所属菜单的对应标签。
7.一种fragment管理方法,其特征在于,包括:
接收根据用户操作生成的消息,所述消息为表征显示的消息、表征切换的消息或表征回退的消息中的任一种,所述用户操作用于改变显示界面中fragment区域呈现的fragment;
根据所述消息中的表征显示的消息或表征切换的消息,进行fragment的创建操作;
根据所述创建操作创建的fragment,执行显示操作或切换操作,以在所述fragment区域呈现所创建的fragment;或
根据所述表征回退的消息,执行回退操作,以在所述fragment区域呈现上一个被覆盖的fragment。
8.一种应用程序,其特征在于,包括权利要求1-6任一项所述的fragment管理框架。
9.一种用户终端,其特征在于,包括处理器和存储器,所述存储器耦接到所述处理器,当所述存储器和所述处理器运行时使所述用户终端运行目标应用程序,所述目标应用程序包括权利要求1-6任一项所述的fragment管理框架。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序包括权利要求1-6任一项所述的fragment管理框架。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811160972.1A CN110968313A (zh) | 2018-09-30 | 2018-09-30 | 一种fragment管理框架、方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811160972.1A CN110968313A (zh) | 2018-09-30 | 2018-09-30 | 一种fragment管理框架、方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110968313A true CN110968313A (zh) | 2020-04-07 |
Family
ID=70029123
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811160972.1A Pending CN110968313A (zh) | 2018-09-30 | 2018-09-30 | 一种fragment管理框架、方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110968313A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080066009A1 (en) * | 2006-08-14 | 2008-03-13 | Soasta, Inc. | Visual test automation tool for message-based applications, web applications and SOA systems |
CN107368311A (zh) * | 2017-07-10 | 2017-11-21 | 武汉斗鱼网络科技有限公司 | 一种多Fragment之间的通信方法及系统 |
CN107526579A (zh) * | 2016-06-22 | 2017-12-29 | 中兴通讯股份有限公司 | 一种应用程序页面开发管理方法及装置 |
CN108153564A (zh) * | 2016-12-02 | 2018-06-12 | 北京京东尚科信息技术有限公司 | 界面管理方法、设备及系统 |
-
2018
- 2018-09-30 CN CN201811160972.1A patent/CN110968313A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080066009A1 (en) * | 2006-08-14 | 2008-03-13 | Soasta, Inc. | Visual test automation tool for message-based applications, web applications and SOA systems |
CN107526579A (zh) * | 2016-06-22 | 2017-12-29 | 中兴通讯股份有限公司 | 一种应用程序页面开发管理方法及装置 |
CN108153564A (zh) * | 2016-12-02 | 2018-06-12 | 北京京东尚科信息技术有限公司 | 界面管理方法、设备及系统 |
CN107368311A (zh) * | 2017-07-10 | 2017-11-21 | 武汉斗鱼网络科技有限公司 | 一种多Fragment之间的通信方法及系统 |
Non-Patent Citations (3)
Title |
---|
HONG2511: "Android使用Fragment打造万能页面切换框架", 《HTTPS://BLOG.CSDN.NET/HONG2511/ARTICLE/DETAILS/80884304》 * |
贵公子: "Android官方架构组件Navigation:大巧不工的Fragment管理框架", 《HTTPS://BLOG.CSDN.NET/U013651026/ARTICLE/DETAILS/80822412》 * |
闹气孩子: "基于AOP设计的Fragment框架", 《HTTPS://WWW.JIANSHU.COM/P/E1BB64675426》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Murphy et al. | Beginning Android 4 | |
Paterno' et al. | MARIA: A universal, declarative, multiple abstraction-level language for service-oriented applications in ubiquitous environments | |
KR102156815B1 (ko) | 다수의 애플리케이션 버전의 분배 | |
CN104246659B (zh) | 可实例化的手势对象 | |
CN103809857B (zh) | 一种信息处理方法及电子设备 | |
US9026931B2 (en) | Cross-browser “drag-and-drop” library | |
KR20130086138A (ko) | 크로스―플랫폼 어플리케이션 프레임워크 | |
JP5697661B2 (ja) | プラットフォームの拡張性フレームワーク | |
WO2011101845A1 (en) | Modified operating systems allowing mobile devices to accommodate io devices more convenient than their own inherent io devices and methods for generating such systems | |
JP2005346722A (ja) | フォームタイプを使用してフォームを生成する方法および装置 | |
CN102981818A (zh) | 基于情境的动画库 | |
CN105324753A (zh) | 调用来自web页面或其他应用的应用 | |
Allen et al. | Beginning Android 4 | |
US9678745B2 (en) | Automatic submission of applications to applications stores | |
US9324063B2 (en) | Contextual solicitation in a starter application | |
WO2014008591A1 (en) | Method of encapsulating diverse user interface components while consistently enforcing external constraints | |
CN104951287A (zh) | 一种生成网页的方法及装置 | |
US20230139886A1 (en) | Device control method and device | |
US10678561B2 (en) | Virtualizing extension code in an application | |
WO2017128964A1 (zh) | 一种应用融合方法及装置 | |
Shackles | Mobile Development with C | |
CN110968313A (zh) | 一种fragment管理框架、方法及装置 | |
US20160313958A1 (en) | Cross-platform command extensibility | |
Anderson | Beginning Flash, Flex, and AIR Development for Mobile Devices | |
Moemeka et al. | Real world Windows 10 development |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200407 |