Android系统中选项卡全局实现的方法和装置的制作方法

文档序号:7606890阅读:151来源:国知局
专利名称:Android系统中选项卡全局实现的方法和装置的制作方法
技术领域
本发明涉及互联网技木,特别涉及Android系统中选项卡全局实现的方法和装置。
背景技术
Android系统为谷歌(Google)公司推出的手机操作系统,在Android系统中,Tab是ー种重要的信息表现形式,其主要由TabActivity、TabHost和TabWidget三个类组成。其中,TabActivity继承于活动组(ActivityGroup),负责与用户交互,可以同时运行多个活动(Activity)以及显示多个界面(View)。这里,Activity为Android系统中的类,是Android系统与用户进行交互的基本単元,一般在手机上显示ー个页面即为ー个 Activity ;ActivityGroup为继承于Activity的类,其可运行多个Activity,并对该多个Activity进行管理;View用于对展现的界面内容进行排布。TabWidget是ー个控件,对应选项卡,负责选项卡界面的展示。页面切换控件(TabHost),用于实现ー些内在的页面切换逻辑。通俗来讲,TabHost相当于一个容器,包含了 TabWidget、FrameLayout排布容器。其中,FrameLayout排布容器用来显示页面内容。另外,TabHost包含内部类TabSpec,其中,TabSpec主要是封装选项卡和对应页面内容的设置。在实际应用中,通过TabHost的newTabSpec方法可以将Activity或者View作为參数传入构造出TabSpec,然后通过TabHost的添加(addTab)方法将构造出的 TabSpec 加入到 TabHost。在Tab中,选项卡和页面是对应的,当点击一个选项卡时就会相应显不该选项卡对应的页面,但是,该显示的页面会覆盖选项卡,即该显示的页面中不再包含选项卡,如此,当用户想要显示新的页面吋,就必须从当前的页面重新返回到之前未覆盖选项卡的页面,之后再重新选择选项卡以显示想要的页面,这大大降低了页面显示的效率。

发明内容
本发明提供了 Android系统中选项卡全局实现的方法和装置,以保证Android系统中选项卡全局出现,提高页面显示效率。本发明提供的技术方案包括ー种Android系统中选项卡全局实现的方法,包括建立第一活动组,所述第一活动组包含至少ー个选项卡;建立包含至少ー个活动组的活动组集合;将所述活动组集合中的至少ー个活动组与所述第一活动组中的ー个选项卡关联;当采用所述第一活动组中的任ー选项卡启动对应的活动时,将启动的所述活动从属于其对应的选项卡所关联的活动组中。ー种Android系统中选项卡全局实现的装置,包括第一建立単元,用于建立第一活动组,所述第一活动组包含至少ー个选项卡;
第二建立単元,用于建立包含至少ー个活动组的活动组集合;关联单元,用于将所述活动组集合中的至少ー个活动组与所述第一活动组中的一个选项卡关联;当采用所述第一活动组中的任ー选项卡启动对应的活动时,将启动的所述活动从属于其对应的选项卡所关联的活动组中。由以上技术方案可以看出,本发明中,建立活动组与选项卡之间的关联关系,当通过选项卡启动活动时,将启动的活动从属于其对应的选项卡所关联的活动组中,也即,启动的活动与活动组之间具有从属关系,由于活动组中关联选项卡,根据该从属关系,可以得到 启动的活动同样也关联选项卡,这能够保证选项卡全局出现,如此,在进行页面跳转时,可依赖于启动的活动上的选项卡进行页面跳转,而无须像现有技术那样需要重新返回到未覆盖选项卡的页面,这大大提高了页面显示效率。


图I为本发明提供的Android系统中选项卡全局实现方法的流程图;图2为本发明实施例提供的活动组与选项卡之间关联关系的示意图;图3为本发明实施例提供的装置结构图。
具体实施例方式为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。图I为本发明提供的Android系统中选项卡全局实现的方法的流程图。如图I所示,该方法可包括以下步骤步骤101,建立第一活动组,所述第一活动组包含至少ー个选项卡。本步骤101具体实现时可包括建立一个继承TabActivity的类,并设置选项卡在所述类中。也即,所述第一活动组中的所有选项卡包含在该建立的TabActivity类中。步骤102,建立包含至少ー个活动组的活动组集合。在活动组集合中的各个活动组是相互独立的。步骤103,将活动组集合中的至少ー个活动组与所述第一活动组中的ー个选项卡关联。本步骤103具体实现时可包括为每个选项卡建立继承活动组集合中至少ー个活动组的类,通过TabHost的addTab方法将该类加入到TabHost。步骤104,当采用所述第一活动组中的任ー选项卡启动对应的活动时,将启动的所述活动从属于其对应的选项卡所关联的活动组中。本步骤104中,将启动的活动从属于其对应的选项卡所关联的活动组中包括为该启动的活动分配标识(Id),记录该活动被分配的标识至该活动对应的选项卡所关联的活动组中。其中,本步骤104可通过活动启动(StartActivity)的方法启动活动,具体为将该活动的标识作为參数传入至StartActivity方法,从而启动该活动。需要说明的是,本实施例中,在将活动的标识作为參数传入至StartActivity方法启动活动后,会接收到系统返回的活动对应的View,如此,步骤104中,当接收到系统返回的活动对应的View时,将该活动对应的View取代当前活动对应的View。还需要说明的是,本实施例中,为便于管理活动组集合中每ー活动组内的活动,需要为活动组集合中每ー活动组设置一个标识列表,该标识列表用于存放活动的标识。在实际应用于,针对每ー活动组设置的标识列表在初始时包含的活动标识的个数为O。基于此,步骤104中,为启动的活动分配标识包括将该启动的活动对应的选项卡所关联的活动组中标识列表已包含的活动的总数值作为该启动的活动的标识,并分配给该活动。相应地,步骤104中,记录活动被分配的标识至该活动对应的选项卡所关联的活动组中包括记录该活动被分配的标识至该活动对应的选项卡所关联的活动组的标识列表中。至此,完成图I所示的流程。
在上述流程中,基于步骤103可以看出,本发明并非将活动与选项卡关联,而是将活动组与选项卡进行关联,图2示出了选项卡与活动组之间的关联关系。在图2中,横向为第一活动组,纵向为活动组集合,其中,活动组集合中姆ー活动组包含了标识列表,姆ー标识列表中包含至少ー个Activity的标识。图2示出了活动组集合中的活动组与第一活动组中的选项卡一一关联,即构成了双向的活动组链。需要说明的是,本实施例中,将选项卡与活动组关联,实质上是根据选项卡划定用户操作链路,并且,由于不同的选项卡关联不同的活动组,因此,可以得到不同的选项卡对应的用户操作链路是相对独立的。另外,在图I所示的流程中,当通过任ー选项卡从当前处于活动状态的活动(记为第一活动)返回之前已打开的处于非活动状态的活动(记为第二活动)时,可执行以下步骤依据第二活动的标识启动第二活动,该启动方法与步骤102中启动的方法类似,销毁第一活动、以及第一活动至第二活动之间已打开的所有活动,该销毁方式可通过活动销毁(destroy Activity)方法实现,并从活动组集合中各个活动组已记录的活动标识中删除第ー活动的标识、以及第一活动至第二活动之间已打开的所有活动的标识。这里,之所以删除第一活动的标识、以及第一活动至第二活动之间已打开的所有活动的标识,主要目的是为了节省内存资源。另外,在图I所示的流程中,当用户采用所述第一活动组中的选项卡对启动的活动执行设定操作时,所述设定操作对应的事件首先被派发至该选项卡关联的活动组,由该活动组根据该活动的标识将所述事件派发至该活动,由该活动处理所述事件。这实现了Android系统中的封装事件派发功能。以上对本发明实施例提供的方法进行了描述。由以上技术方案可以看出,本发明中建立了活动组与选项卡之间的关联关系,当通过选项卡启动活动时,将启动的活动从属于其对应的选项卡所关联的活动组中,也即,启动的活动与活动组之间具有从属关系。由于活动组中关联选项卡,根据该从属关系,可以得到启动的活动同样也关联选项卡,这能够保证选项卡全局出现,如此,在进行页面跳转时,可依赖于启动的活动上的选项卡进行页面跳转,而无须像现有技术那样需要重新返回到未覆盖选项卡的页面,这大大提高了页面显示效率。下面对本发明实施例提供的装置进行描述。參见图3,图3为本发明实施例提供的装置结构图。如图3所示,该装置包括第一建立単元,用于建立第一活动组,所述第一活动组包含至少ー个选项卡;
第二建立単元,用于建立包含至少ー个活动组的活动组集合;关联单元,用于将所述活动组集合中的至少ー个活动组与所述第一活动组中的一个选项卡关联;当采用所述第一活动组中的任ー选项卡启动对应的活动时,将启动的所述活动从属于其对应的选项卡所关联的活动组中。本实施例中,如图3所示,所述关联単元具体实现时可包括以下两个子単元分配子単元,用于为该启动的活动分配标识;记录子単元,用于记录该活动被分配的标识至该活动对应的选项卡所关联的活动组中。本实施例中,如图3所示,所述装置进ー步包括跳转单元、设置单元和派发单元。其中,跳转单元,用于当采用所述第一活动组中的任一选项卡从当前所处的第一 活动返回之前已打开的第二活动时,依据所述第二活动的标识启动该第二活动,销毁第一活动、以及第一活动至第二活动之间已打开的所有活动,并从所述活动组集合中各个活动组已记录的活动标识中删除第一活动的标识、以及第一活动至第二活动之间已打开的所有活动的标识。设置单元,用于在所述活动组集合中的每ー活动组中设置ー个标识列表,用于存放该活动组关联的选项卡所启动的活动的标识;基于此,所述分配子单元用于将该启动的活动对应的选项卡所关联的活动组中标识列表已包含的活动的总数值作为该启动的活动的标识,并分配给该活动;所述记录子単元用于记录该活动被分配的标识至该活动对应的选项卡所关联的活动组的标识列表中。派发单元,用于当采用所述第一活动组中的选项卡对启动的活动执行设定操作时,所述设定操作对应的事件首先被派发至该选项卡关联的活动组,由该活动组根据该活动的标识将所述事件派发至该活动,由该活动处理所述事件。至此,完成本发明实施例提供的装置描述。由以上技术方案可以看出,本发明中,建立活动组与选项卡之间的关联关系,当通过选项卡启动活动时,将启动的活动从属于其对应的选项卡所关联的活动组中,也即,启动的活动与活动组之间具有从属关系,由于活动组中关联选项卡,根据该从属关系,可以得到启动的活动同样也关联选项卡,这能够保证选项卡全局出现,如此,在进行页面跳转时,可依赖于启动的活动上的选项卡进行页面跳转,而无须像现有技术那样需要重新返回到未覆盖选项卡的页面,这大大提高了页面显示效率。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1.ー种Android系统中选项卡全局实现的方法,其特征在于,该方法包括 建立第一活动组ActivityGroup,所述第一活动组包含至少ー个选项卡; 建立包含至少ー个活动组的活动组集合; 将所述活动组集合中的至少ー个活动组与所述第一活动组中的一个选项卡关联; 当采用所述第一活动组中的任ー选项卡启动对应的活动Activity时,将启动的所述活动从属于其对应的选项卡所关联的活动组中。
2.根据权利要求I所述的方法,其特征在于,所述将启动的活动从属于其对应的选项卡所关联的活动组中包括 为该启动的活动分配标识,记录该活动被分配的标识至该活动对应的选项卡所关联的活动组中。
3.根据权利要求2所述的方法,其特征在干,当采用所述第一活动组中的任一选项卡从当前所处的第一活动返回之前已打开的第二活动时,该方法进ー步包括 依据所述第二活动的标识启动该第二活动,销毁第一活动、以及第一活动至第二活动之间已打开的所有活动,并从所述活动组集合中各个活动组已记录的活动标识中删除第一活动的标识、以及第一活动至第二活动之间已打开的所有活动的标识。
4.根据权利要求2所述的方法,其特征在于,该方法进ー步包括在所述活动组集合中的姆ー活动组中设置ー个标识列表,用于存放该活动组关联的选项卡所启动的活动的标识; 所述为启动的活动分配标识包括将该启动的活动对应的选项卡所关联的活动组中标识列表已包含的活动的总数值作为该启动的活动的标识,并分配给该活动; 所述记录活动被分配的标识至该活动对应的选项卡所关联的活动组中包括记录该活动被分配的标识至该活动对应的选项卡所关联的活动组的标识列表中。
5.根据权利要求2所述的方法,其特征在于,该方法进ー步包括 当采用所述第一活动组中的选项卡对启动的活动执行设定操作时,所述设定操作对应的事件首先被派发至该选项卡关联的活动组,由该活动组根据该活动的标识将所述事件派发至该活动,由该活动处理所述事件。
6.根据权利要求I所述的方法,其特征在于,所述建立第一活动组包括 建立一个继承TabActivity的类,并设置选项卡在所述类中; 所述将活动组集合中的至少ー个活动组与第一活动组中的一个选项卡关联包括:为每个选项卡建立继承活动组集合中至少ー个活动组的类,通过页面切换控件TabHost的添加addTab方法将该类加入到TabHost。
7.ー种Android系统中选项卡全局实现的装置,其特征在于,该装置包括 第一建立单元,用于建立第一活动组ActivityGroup,所述第一活动组包含至少ー个选项卡; 第二建立单元,用于建立包含至少ー个活动组的活动组集合; 关联单元,用于将所述活动组集合中的至少ー个活动组与所述第一活动组中的ー个选项卡关联;当采用所述第一活动组中的任ー选项卡启动对应的活动Activity时,将启动的所述活动从属于其对应的选项卡所关联的活动组中。
8.根据权利要求7所述的装置,其特征在于,所述关联単元包括分配子単元,用于为该启动的活动分配标识; 记录子単元,用于记录该活动被分配的标识至该活动对应的选项卡所关联的活动组中。
9.根据权利要求8所述的装置,其特征在于,所述装置进ー步包括 跳转单元,用于当采用所述第一活动组中的任一选项卡从当前所处的第一活动返回之前已打开的第二活动时,依据所述第二活动的标识启动该第二活动,销毁第一活动、以及第一活动至第二活动之间已打开的所有活动,并从所述活动组集合中各个活动组已记录的活动标识中删除第一活动的标识、以及第一活动至第二活动之间已打开的所有活动的标识。
10.根据权利要求8所述的装置,其特征在于,所述装置进ー步包括 设置单元,用于在所述活动组集合中的每ー活动组中设置ー个标识列表,用于存放该活动组关联的选项卡所启动的活动的标识; 所述分配子单元用于将该启动的活动对应的选项卡所关联的活动组中标识列表已包含的活动的总数值作为该启动的活动的标识,并分配给该活动; 所述记录子単元用于记录该活动被分配的标识至该活动对应的选项卡所关联的活动组的标识列表中。
11.根据权利要求8所述的装置,其特征在于,该装置进ー步包括 派发单元,用于当采用所述第一活动组中的选项卡对启动的活动执行设定操作时,所述设定操作对应的事件首先被派发至该选项卡关联的活动组,由该活动组根据该活动的标识将所述事件派发至该活动,由该活动处理所述事件。
全文摘要
本发明提供了Android系统中选项卡全局实现的方法和装置。其中,该方法包括建立第一活动组,所述第一活动组包含至少一个选项卡;建立包含至少一个活动组的活动组集合;将所述活动组集合中的至少一个活动组与所述第一活动组中的一个选项卡关联;当采用所述第一活动组中的任一选项卡启动对应的活动时,将启动的所述活动从属于其对应的选项卡所关联的活动组中。采用本发明,能够保证Android系统中选项卡全局出现,提高页面显示效率。
文档编号H04M1/725GK102681827SQ20111005943
公开日2012年9月19日 申请日期2011年3月11日 优先权日2011年3月11日
发明者吴仕, 吴峤, 姚晓文, 李训耕, 汪宗清, 王清, 王茂, 端木恒, 翁文祥, 蒋倩, 郑林州 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1