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