專利名稱:Android系統(tǒng)中選項卡全局實現(xiàn)的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及互聯(lián)網(wǎng)技木,特別涉及Android系統(tǒng)中選項卡全局實現(xiàn)的方法和裝置。
背景技術(shù):
Android系統(tǒng)為谷歌(Google)公司推出的手機操作系統(tǒng),在Android系統(tǒng)中,Tab是ー種重要的信息表現(xiàn)形式,其主要由TabActivity、TabHost和TabWidget三個類組成。其中,TabActivity繼承于活動組(ActivityGroup),負責與用戶交互,可以同時運行多個活動(Activity)以及顯示多個界面(View)。這里,Activity為Android系統(tǒng)中的類,是Android系統(tǒng)與用戶進行交互的基本単元,一般在手機上顯示ー個頁面即為ー個 Activity ;ActivityGroup為繼承于Activity的類,其可運行多個Activity,并對該多個Activity進行管理;View用于對展現(xiàn)的界面內(nèi)容進行排布。TabWidget是ー個控件,對應(yīng)選項卡,負責選項卡界面的展示。頁面切換控件(TabHost),用于實現(xiàn)ー些內(nèi)在的頁面切換邏輯。通俗來講,TabHost相當于一個容器,包含了 TabWidget、FrameLayout排布容器。其中,F(xiàn)rameLayout排布容器用來顯示頁面內(nèi)容。另外,TabHost包含內(nèi)部類TabSpec,其中,TabSpec主要是封裝選項卡和對應(yīng)頁面內(nèi)容的設(shè)置。在實際應(yīng)用中,通過TabHost的newTabSpec方法可以將Activity或者View作為參數(shù)傳入構(gòu)造出TabSpec,然后通過TabHost的添加(addTab)方法將構(gòu)造出的 TabSpec 加入到 TabHost。在Tab中,選項卡和頁面是對應(yīng)的,當點擊一個選項卡時就會相應(yīng)顯不該選項卡對應(yīng)的頁面,但是,該顯示的頁面會覆蓋選項卡,即該顯示的頁面中不再包含選項卡,如此,當用戶想要顯示新的頁面吋,就必須從當前的頁面重新返回到之前未覆蓋選項卡的頁面,之后再重新選擇選項卡以顯示想要的頁面,這大大降低了頁面顯示的效率。
發(fā)明內(nèi)容
本發(fā)明提供了 Android系統(tǒng)中選項卡全局實現(xiàn)的方法和裝置,以保證Android系統(tǒng)中選項卡全局出現(xiàn),提高頁面顯示效率。本發(fā)明提供的技術(shù)方案包括ー種Android系統(tǒng)中選項卡全局實現(xiàn)的方法,包括建立第一活動組,所述第一活動組包含至少ー個選項卡;建立包含至少ー個活動組的活動組集合;將所述活動組集合中的至少ー個活動組與所述第一活動組中的ー個選項卡關(guān)聯(lián);當采用所述第一活動組中的任ー選項卡啟動對應(yīng)的活動時,將啟動的所述活動從屬于其對應(yīng)的選項卡所關(guān)聯(lián)的活動組中。ー種Android系統(tǒng)中選項卡全局實現(xiàn)的裝置,包括第一建立単元,用于建立第一活動組,所述第一活動組包含至少ー個選項卡;
第二建立単元,用于建立包含至少ー個活動組的活動組集合;關(guān)聯(lián)單元,用于將所述活動組集合中的至少ー個活動組與所述第一活動組中的一個選項卡關(guān)聯(lián);當采用所述第一活動組中的任ー選項卡啟動對應(yīng)的活動時,將啟動的所述活動從屬于其對應(yīng)的選項卡所關(guān)聯(lián)的活動組中。由以上技術(shù)方案可以看出,本發(fā)明中,建立活動組與選項卡之間的關(guān)聯(lián)關(guān)系,當通過選項卡啟動活動時,將啟動的活動從屬于其對應(yīng)的選項卡所關(guān)聯(lián)的活動組中,也即,啟動的活動與活動組之間具有從屬關(guān)系,由于活動組中關(guān)聯(lián)選項卡,根據(jù)該從屬關(guān)系,可以得到 啟動的活動同樣也關(guān)聯(lián)選項卡,這能夠保證選項卡全局出現(xiàn),如此,在進行頁面跳轉(zhuǎn)時,可依賴于啟動的活動上的選項卡進行頁面跳轉(zhuǎn),而無須像現(xiàn)有技術(shù)那樣需要重新返回到未覆蓋選項卡的頁面,這大大提高了頁面顯示效率。
圖I為本發(fā)明提供的Android系統(tǒng)中選項卡全局實現(xiàn)方法的流程圖;圖2為本發(fā)明實施例提供的活動組與選項卡之間關(guān)聯(lián)關(guān)系的示意圖;圖3為本發(fā)明實施例提供的裝置結(jié)構(gòu)圖。
具體實施例方式為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面結(jié)合附圖和具體實施例對本發(fā)明進行詳細描述。圖I為本發(fā)明提供的Android系統(tǒng)中選項卡全局實現(xiàn)的方法的流程圖。如圖I所示,該方法可包括以下步驟步驟101,建立第一活動組,所述第一活動組包含至少ー個選項卡。本步驟101具體實現(xiàn)時可包括建立一個繼承TabActivity的類,并設(shè)置選項卡在所述類中。也即,所述第一活動組中的所有選項卡包含在該建立的TabActivity類中。步驟102,建立包含至少ー個活動組的活動組集合。在活動組集合中的各個活動組是相互獨立的。步驟103,將活動組集合中的至少ー個活動組與所述第一活動組中的ー個選項卡關(guān)聯(lián)。本步驟103具體實現(xiàn)時可包括為每個選項卡建立繼承活動組集合中至少ー個活動組的類,通過TabHost的addTab方法將該類加入到TabHost。步驟104,當采用所述第一活動組中的任ー選項卡啟動對應(yīng)的活動時,將啟動的所述活動從屬于其對應(yīng)的選項卡所關(guān)聯(lián)的活動組中。本步驟104中,將啟動的活動從屬于其對應(yīng)的選項卡所關(guān)聯(lián)的活動組中包括為該啟動的活動分配標識(Id),記錄該活動被分配的標識至該活動對應(yīng)的選項卡所關(guān)聯(lián)的活動組中。其中,本步驟104可通過活動啟動(StartActivity)的方法啟動活動,具體為將該活動的標識作為參數(shù)傳入至StartActivity方法,從而啟動該活動。需要說明的是,本實施例中,在將活動的標識作為參數(shù)傳入至StartActivity方法啟動活動后,會接收到系統(tǒng)返回的活動對應(yīng)的View,如此,步驟104中,當接收到系統(tǒng)返回的活動對應(yīng)的View時,將該活動對應(yīng)的View取代當前活動對應(yīng)的View。還需要說明的是,本實施例中,為便于管理活動組集合中每ー活動組內(nèi)的活動,需要為活動組集合中每ー活動組設(shè)置一個標識列表,該標識列表用于存放活動的標識。在實際應(yīng)用于,針對每ー活動組設(shè)置的標識列表在初始時包含的活動標識的個數(shù)為O?;诖?步驟104中,為啟動的活動分配標識包括將該啟動的活動對應(yīng)的選項卡所關(guān)聯(lián)的活動組中標識列表已包含的活動的總數(shù)值作為該啟動的活動的標識,并分配給該活動。相應(yīng)地,步驟104中,記錄活動被分配的標識至該活動對應(yīng)的選項卡所關(guān)聯(lián)的活動組中包括記錄該活動被分配的標識至該活動對應(yīng)的選項卡所關(guān)聯(lián)的活動組的標識列表中。至此,完成圖I所示的流程。
在上述流程中,基于步驟103可以看出,本發(fā)明并非將活動與選項卡關(guān)聯(lián),而是將活動組與選項卡進行關(guān)聯(lián),圖2示出了選項卡與活動組之間的關(guān)聯(lián)關(guān)系。在圖2中,橫向為第一活動組,縱向為活動組集合,其中,活動組集合中姆ー活動組包含了標識列表,姆ー標識列表中包含至少ー個Activity的標識。圖2示出了活動組集合中的活動組與第一活動組中的選項卡一一關(guān)聯(lián),即構(gòu)成了雙向的活動組鏈。需要說明的是,本實施例中,將選項卡與活動組關(guān)聯(lián),實質(zhì)上是根據(jù)選項卡劃定用戶操作鏈路,并且,由于不同的選項卡關(guān)聯(lián)不同的活動組,因此,可以得到不同的選項卡對應(yīng)的用戶操作鏈路是相對獨立的。另外,在圖I所示的流程中,當通過任ー選項卡從當前處于活動狀態(tài)的活動(記為第一活動)返回之前已打開的處于非活動狀態(tài)的活動(記為第二活動)時,可執(zhí)行以下步驟依據(jù)第二活動的標識啟動第二活動,該啟動方法與步驟102中啟動的方法類似,銷毀第一活動、以及第一活動至第二活動之間已打開的所有活動,該銷毀方式可通過活動銷毀(destroy Activity)方法實現(xiàn),并從活動組集合中各個活動組已記錄的活動標識中刪除第ー活動的標識、以及第一活動至第二活動之間已打開的所有活動的標識。這里,之所以刪除第一活動的標識、以及第一活動至第二活動之間已打開的所有活動的標識,主要目的是為了節(jié)省內(nèi)存資源。另外,在圖I所示的流程中,當用戶采用所述第一活動組中的選項卡對啟動的活動執(zhí)行設(shè)定操作時,所述設(shè)定操作對應(yīng)的事件首先被派發(fā)至該選項卡關(guān)聯(lián)的活動組,由該活動組根據(jù)該活動的標識將所述事件派發(fā)至該活動,由該活動處理所述事件。這實現(xiàn)了Android系統(tǒng)中的封裝事件派發(fā)功能。以上對本發(fā)明實施例提供的方法進行了描述。由以上技術(shù)方案可以看出,本發(fā)明中建立了活動組與選項卡之間的關(guān)聯(lián)關(guān)系,當通過選項卡啟動活動時,將啟動的活動從屬于其對應(yīng)的選項卡所關(guān)聯(lián)的活動組中,也即,啟動的活動與活動組之間具有從屬關(guān)系。由于活動組中關(guān)聯(lián)選項卡,根據(jù)該從屬關(guān)系,可以得到啟動的活動同樣也關(guān)聯(lián)選項卡,這能夠保證選項卡全局出現(xiàn),如此,在進行頁面跳轉(zhuǎn)時,可依賴于啟動的活動上的選項卡進行頁面跳轉(zhuǎn),而無須像現(xiàn)有技術(shù)那樣需要重新返回到未覆蓋選項卡的頁面,這大大提高了頁面顯示效率。下面對本發(fā)明實施例提供的裝置進行描述。參見圖3,圖3為本發(fā)明實施例提供的裝置結(jié)構(gòu)圖。如圖3所示,該裝置包括第一建立単元,用于建立第一活動組,所述第一活動組包含至少ー個選項卡;
第二建立単元,用于建立包含至少ー個活動組的活動組集合;關(guān)聯(lián)單元,用于將所述活動組集合中的至少ー個活動組與所述第一活動組中的一個選項卡關(guān)聯(lián);當采用所述第一活動組中的任ー選項卡啟動對應(yīng)的活動時,將啟動的所述活動從屬于其對應(yīng)的選項卡所關(guān)聯(lián)的活動組中。本實施例中,如圖3所示,所述關(guān)聯(lián)単元具體實現(xiàn)時可包括以下兩個子単元分配子単元,用于為該啟動的活動分配標識;記錄子単元,用于記錄該活動被分配的標識至該活動對應(yīng)的選項卡所關(guān)聯(lián)的活動組中。本實施例中,如圖3所示,所述裝置進ー步包括跳轉(zhuǎn)單元、設(shè)置單元和派發(fā)單元。其中,跳轉(zhuǎn)單元,用于當采用所述第一活動組中的任一選項卡從當前所處的第一 活動返回之前已打開的第二活動時,依據(jù)所述第二活動的標識啟動該第二活動,銷毀第一活動、以及第一活動至第二活動之間已打開的所有活動,并從所述活動組集合中各個活動組已記錄的活動標識中刪除第一活動的標識、以及第一活動至第二活動之間已打開的所有活動的標識。設(shè)置單元,用于在所述活動組集合中的每ー活動組中設(shè)置ー個標識列表,用于存放該活動組關(guān)聯(lián)的選項卡所啟動的活動的標識;基于此,所述分配子單元用于將該啟動的活動對應(yīng)的選項卡所關(guān)聯(lián)的活動組中標識列表已包含的活動的總數(shù)值作為該啟動的活動的標識,并分配給該活動;所述記錄子単元用于記錄該活動被分配的標識至該活動對應(yīng)的選項卡所關(guān)聯(lián)的活動組的標識列表中。派發(fā)單元,用于當采用所述第一活動組中的選項卡對啟動的活動執(zhí)行設(shè)定操作時,所述設(shè)定操作對應(yīng)的事件首先被派發(fā)至該選項卡關(guān)聯(lián)的活動組,由該活動組根據(jù)該活動的標識將所述事件派發(fā)至該活動,由該活動處理所述事件。至此,完成本發(fā)明實施例提供的裝置描述。由以上技術(shù)方案可以看出,本發(fā)明中,建立活動組與選項卡之間的關(guān)聯(lián)關(guān)系,當通過選項卡啟動活動時,將啟動的活動從屬于其對應(yīng)的選項卡所關(guān)聯(lián)的活動組中,也即,啟動的活動與活動組之間具有從屬關(guān)系,由于活動組中關(guān)聯(lián)選項卡,根據(jù)該從屬關(guān)系,可以得到啟動的活動同樣也關(guān)聯(lián)選項卡,這能夠保證選項卡全局出現(xiàn),如此,在進行頁面跳轉(zhuǎn)時,可依賴于啟動的活動上的選項卡進行頁面跳轉(zhuǎn),而無須像現(xiàn)有技術(shù)那樣需要重新返回到未覆蓋選項卡的頁面,這大大提高了頁面顯示效率。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明保護的范圍之內(nèi)。
權(quán)利要求
1.ー種Android系統(tǒng)中選項卡全局實現(xiàn)的方法,其特征在于,該方法包括 建立第一活動組ActivityGroup,所述第一活動組包含至少ー個選項卡; 建立包含至少ー個活動組的活動組集合; 將所述活動組集合中的至少ー個活動組與所述第一活動組中的一個選項卡關(guān)聯(lián); 當采用所述第一活動組中的任ー選項卡啟動對應(yīng)的活動Activity時,將啟動的所述活動從屬于其對應(yīng)的選項卡所關(guān)聯(lián)的活動組中。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述將啟動的活動從屬于其對應(yīng)的選項卡所關(guān)聯(lián)的活動組中包括 為該啟動的活動分配標識,記錄該活動被分配的標識至該活動對應(yīng)的選項卡所關(guān)聯(lián)的活動組中。
3.根據(jù)權(quán)利要求2所述的方法,其特征在干,當采用所述第一活動組中的任一選項卡從當前所處的第一活動返回之前已打開的第二活動時,該方法進ー步包括 依據(jù)所述第二活動的標識啟動該第二活動,銷毀第一活動、以及第一活動至第二活動之間已打開的所有活動,并從所述活動組集合中各個活動組已記錄的活動標識中刪除第一活動的標識、以及第一活動至第二活動之間已打開的所有活動的標識。
4.根據(jù)權(quán)利要求2所述的方法,其特征在于,該方法進ー步包括在所述活動組集合中的姆ー活動組中設(shè)置ー個標識列表,用于存放該活動組關(guān)聯(lián)的選項卡所啟動的活動的標識; 所述為啟動的活動分配標識包括將該啟動的活動對應(yīng)的選項卡所關(guān)聯(lián)的活動組中標識列表已包含的活動的總數(shù)值作為該啟動的活動的標識,并分配給該活動; 所述記錄活動被分配的標識至該活動對應(yīng)的選項卡所關(guān)聯(lián)的活動組中包括記錄該活動被分配的標識至該活動對應(yīng)的選項卡所關(guān)聯(lián)的活動組的標識列表中。
5.根據(jù)權(quán)利要求2所述的方法,其特征在于,該方法進ー步包括 當采用所述第一活動組中的選項卡對啟動的活動執(zhí)行設(shè)定操作時,所述設(shè)定操作對應(yīng)的事件首先被派發(fā)至該選項卡關(guān)聯(lián)的活動組,由該活動組根據(jù)該活動的標識將所述事件派發(fā)至該活動,由該活動處理所述事件。
6.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述建立第一活動組包括 建立一個繼承TabActivity的類,并設(shè)置選項卡在所述類中; 所述將活動組集合中的至少ー個活動組與第一活動組中的一個選項卡關(guān)聯(lián)包括:為每個選項卡建立繼承活動組集合中至少ー個活動組的類,通過頁面切換控件TabHost的添加addTab方法將該類加入到TabHost。
7.ー種Android系統(tǒng)中選項卡全局實現(xiàn)的裝置,其特征在于,該裝置包括 第一建立單元,用于建立第一活動組ActivityGroup,所述第一活動組包含至少ー個選項卡; 第二建立單元,用于建立包含至少ー個活動組的活動組集合; 關(guān)聯(lián)單元,用于將所述活動組集合中的至少ー個活動組與所述第一活動組中的ー個選項卡關(guān)聯(lián);當采用所述第一活動組中的任ー選項卡啟動對應(yīng)的活動Activity時,將啟動的所述活動從屬于其對應(yīng)的選項卡所關(guān)聯(lián)的活動組中。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述關(guān)聯(lián)単元包括分配子単元,用于為該啟動的活動分配標識; 記錄子単元,用于記錄該活動被分配的標識至該活動對應(yīng)的選項卡所關(guān)聯(lián)的活動組中。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述裝置進ー步包括 跳轉(zhuǎn)單元,用于當采用所述第一活動組中的任一選項卡從當前所處的第一活動返回之前已打開的第二活動時,依據(jù)所述第二活動的標識啟動該第二活動,銷毀第一活動、以及第一活動至第二活動之間已打開的所有活動,并從所述活動組集合中各個活動組已記錄的活動標識中刪除第一活動的標識、以及第一活動至第二活動之間已打開的所有活動的標識。
10.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述裝置進ー步包括 設(shè)置單元,用于在所述活動組集合中的每ー活動組中設(shè)置ー個標識列表,用于存放該活動組關(guān)聯(lián)的選項卡所啟動的活動的標識; 所述分配子單元用于將該啟動的活動對應(yīng)的選項卡所關(guān)聯(lián)的活動組中標識列表已包含的活動的總數(shù)值作為該啟動的活動的標識,并分配給該活動; 所述記錄子単元用于記錄該活動被分配的標識至該活動對應(yīng)的選項卡所關(guān)聯(lián)的活動組的標識列表中。
11.根據(jù)權(quán)利要求8所述的裝置,其特征在于,該裝置進ー步包括 派發(fā)單元,用于當采用所述第一活動組中的選項卡對啟動的活動執(zhí)行設(shè)定操作時,所述設(shè)定操作對應(yīng)的事件首先被派發(fā)至該選項卡關(guān)聯(lián)的活動組,由該活動組根據(jù)該活動的標識將所述事件派發(fā)至該活動,由該活動處理所述事件。
全文摘要
本發(fā)明提供了Android系統(tǒng)中選項卡全局實現(xiàn)的方法和裝置。其中,該方法包括建立第一活動組,所述第一活動組包含至少一個選項卡;建立包含至少一個活動組的活動組集合;將所述活動組集合中的至少一個活動組與所述第一活動組中的一個選項卡關(guān)聯(lián);當采用所述第一活動組中的任一選項卡啟動對應(yīng)的活動時,將啟動的所述活動從屬于其對應(yīng)的選項卡所關(guān)聯(lián)的活動組中。采用本發(fā)明,能夠保證Android系統(tǒng)中選項卡全局出現(xiàn),提高頁面顯示效率。
文檔編號H04M1/725GK102681827SQ20111005943
公開日2012年9月19日 申請日期2011年3月11日 優(yōu)先權(quán)日2011年3月11日
發(fā)明者吳仕, 吳嶠, 姚曉文, 李訓耕, 汪宗清, 王清, 王茂, 端木恒, 翁文祥, 蔣倩, 鄭林州 申請人:騰訊科技(深圳)有限公司