1.一種Activity組件加載方法,應(yīng)用于A(yíng)ndroid系統(tǒng),其特征在于,所述Activity組件加載方法包括:
獲取預(yù)先嵌入Android系統(tǒng)的開(kāi)放服務(wù)網(wǎng)關(guān)協(xié)議框架的BundleContext;
確定待啟動(dòng)的Activity組件;
獲取與所述待啟動(dòng)的Activity組件關(guān)聯(lián)的bundle標(biāo)識(shí)符;
根據(jù)當(dāng)前獲取的bundle標(biāo)識(shí)符,調(diào)用所述BundleContext的BundleContext.start方法啟動(dòng)相應(yīng)的bundle文件,以便加載相應(yīng)的Activity組件,其中,所述bundle文件由jar文件轉(zhuǎn)化而成,所述jar文件由所述Activity組件的源代碼編譯而成。
2.根據(jù)權(quán)利要求1所述的Activity組件加載方法,其特征在于,所述根據(jù)獲取的所述bundle標(biāo)識(shí)符,調(diào)用所述BundleContext的BundleContext.start方法啟動(dòng)相應(yīng)的bundle文件之后還包括:
獲取來(lái)自服務(wù)器的第一配置文件,其中,所述第一配置文件包括:bundle符號(hào)名稱(chēng)、版本號(hào)和bundle文件下載地址;
若本地存在滿(mǎn)足第一條件的配置文件,則:
根據(jù)所述第一配置文件中的bundle文件下載地址下載相應(yīng)的bundle文件;
基于當(dāng)次下載的bundle文件更新本地的bundle文件;
將滿(mǎn)足所述第一條件的配置文件包含的版本號(hào)更新為所述第一配置文件中的版本號(hào);
其中,所述第一條件為:配置文件包含的bundle符號(hào)名稱(chēng)與所述第一配置文件包含的bundle符號(hào)名稱(chēng)一致,且,配置文件包含的版本號(hào)低于所述第一配置文件包含的版本號(hào)。
3.根據(jù)權(quán)利要求1所述的Activity組件加載方法,其特征在于,所述根據(jù)獲取的所述bundle標(biāo)識(shí)符,調(diào)用所述BundleContext的BundleContext.start方法啟動(dòng)相應(yīng)的bundle文件之后還包括:
獲取來(lái)自服務(wù)器的第二配置文件,其中,所述第二配置文件包括:bundle符號(hào)名稱(chēng)、版本號(hào)和命令信息;
若本地存在滿(mǎn)足第二條件的配置文件且上述第二配置文件包含的命令信息指示的命令為卸載bundle文件,則:
根據(jù)所述第二配置文件包含的bundle符號(hào)名稱(chēng),獲取與所述bundle符號(hào)名稱(chēng)關(guān)聯(lián)的bundle標(biāo)識(shí)符;
根據(jù)當(dāng)前獲取的bundle標(biāo)識(shí)符,卸載本地存儲(chǔ)的相應(yīng)的bundle文件;
其中,所述第二條件為:配置文件包含的bundle符號(hào)名稱(chēng)與所述第二配置文件包含的bundle符號(hào)名稱(chēng)一致,且,配置文件包含的版本號(hào)與所述第二配置文件包含的版本號(hào)一致。
4.根據(jù)權(quán)利要求1至3所述的Activity組件加載方法,其特征在于,所述獲取預(yù)先嵌入Android系統(tǒng)的開(kāi)放服務(wù)網(wǎng)關(guān)協(xié)議框架的BundleContext,之前包括:
通過(guò)已啟動(dòng)的OSGI框架服務(wù)的代理獲取開(kāi)放服務(wù)網(wǎng)關(guān)協(xié)議框架的實(shí)例,其中,所述OSGI框架服務(wù)為:預(yù)先基于Framework創(chuàng)建的,用以實(shí)現(xiàn)在所述Android系統(tǒng)運(yùn)行開(kāi)放服務(wù)網(wǎng)關(guān)協(xié)議框架的服務(wù);
所述獲取預(yù)先嵌入Android系統(tǒng)的開(kāi)放服務(wù)網(wǎng)關(guān)協(xié)議框架的BundleContext具體為:
基于獲取的所述開(kāi)放服務(wù)網(wǎng)關(guān)協(xié)議框架的實(shí)例,獲取預(yù)先嵌入Android系統(tǒng)的開(kāi)放服務(wù)網(wǎng)關(guān)協(xié)議框架的BundleContext。
5.根據(jù)權(quán)利要求4所述的Activity組件加載方法,其特征在于,所述通過(guò)已啟動(dòng)的OSGI框架服務(wù)的代理獲取開(kāi)放服務(wù)網(wǎng)關(guān)協(xié)議框架的實(shí)例,之前還包括:將所述OSGI框架服務(wù)添加至所述Android系統(tǒng)的系統(tǒng)服務(wù)中。
6.一種Activity組件加載裝置,應(yīng)用于A(yíng)ndroid系統(tǒng),其特征在于,所述Activity組件加載裝置包括:
第一獲取單元,用于獲取預(yù)先嵌入Android系統(tǒng)的開(kāi)放服務(wù)網(wǎng)關(guān)協(xié)議框架的BundleContext;
確定單元,用于確定待啟動(dòng)的Activity組件;
第二獲取單元,用于獲取與所述待啟動(dòng)的Activity組件關(guān)聯(lián)的bundle標(biāo)識(shí)符;
啟動(dòng)單元,用于根據(jù)當(dāng)前所述第二獲取單元獲取的bundle標(biāo)識(shí)符,調(diào)用所述BundleContext的BundleContext.start方法啟動(dòng)相應(yīng)的bundle文件,以便加載相應(yīng)的Activity組件,其中,所述bundle文件由jar文件轉(zhuǎn)化而成,所述jar文件由所述Activity組件的源代碼編譯而成。
7.根據(jù)權(quán)利要求6所述的Activity組件加載裝置,其特征在于,所述Activity組件加載裝置還包括:
第三獲取單元,用于獲取來(lái)自服務(wù)器的第一配置文件,其中,所述第一配置文件包括:bundle符號(hào)名稱(chēng)、版本號(hào)和bundle文件下載地址;
下載單元,用于當(dāng)本地存在滿(mǎn)足第一條件的配置文件時(shí),根據(jù)所述第一配置文件中的bundle文件下載地址下載相應(yīng)的bundle文件;
更新單元,用于基于所述下載單元當(dāng)次下載的bundle文件更新本地的bundle文件,并將滿(mǎn)足所述第一條件的配置文件包含的版本號(hào)更新為所述第一配置文件中的版本號(hào);
其中,所述第一條件為:配置文件包含的bundle符號(hào)名稱(chēng)與所述第一配置文件包含的bundle符號(hào)名稱(chēng)一致,且,配置文件包含的版本號(hào)低于所述第一配置文件包含的版本號(hào)。
8.根據(jù)權(quán)利要求6所述的Activity組件加載裝置,其特征在于,所述Activity組件加載裝置還包括:
第三獲取單元,用于獲取來(lái)自服務(wù)器的第二配置文件,其中,所述第二配置文件包括:bundle符號(hào)名稱(chēng)、版本號(hào)和命令信息;
第四獲取單元,用于當(dāng)本地存在滿(mǎn)足第二條件的配置文件且所示第二配置文件包含的命令信息指示的命令為卸載bundle文件時(shí),根據(jù)所述第二配置文件包含的bundle符號(hào)名稱(chēng),獲取與所述bundle符號(hào)名稱(chēng)關(guān)聯(lián)的bundle標(biāo)識(shí)符;
卸載單元,用于根據(jù)所述第四獲取當(dāng)前獲取的bundle標(biāo)識(shí)符,卸載本地存儲(chǔ)的相應(yīng)的bundle文件;
其中,所述第二條件為:配置文件包含的bundle符號(hào)名稱(chēng)與所述第二配置文件包含的bundle符號(hào)名稱(chēng)一致,且,配置文件包含的版本號(hào)與所述第二配置文件包含的版本號(hào)一致。
9.根據(jù)權(quán)利要求6至8任一項(xiàng)所述的Activity組件加載裝置,其特征在于,所述Activity組件加載裝置還包括:
第五獲取單元,用于通過(guò)已啟動(dòng)的OSGI框架服務(wù)的代理獲取開(kāi)放服務(wù)網(wǎng)關(guān)協(xié)議框架的實(shí)例,其中,所述OSGI框架服務(wù)為:預(yù)先基于Framework創(chuàng)建的,用以實(shí)現(xiàn)在所述Android系統(tǒng)運(yùn)行開(kāi)放服務(wù)網(wǎng)關(guān)協(xié)議框架的服務(wù);
所述第一獲取單元具體用于:基于所述第五獲取單元獲取的所述開(kāi)放服務(wù)網(wǎng)關(guān)協(xié)議框架的實(shí)例,獲取預(yù)先嵌入Android系統(tǒng)的開(kāi)放服務(wù)網(wǎng)關(guān)協(xié)議框架的BundleContext。
10.根據(jù)權(quán)利要求9所述的Activity組件加載裝置,其特征在于,所述Activity組件加載裝置還包括:
系統(tǒng)服務(wù)添加單元,用于將所述OSGI框架服務(wù)添加至所述Android系統(tǒng)的系統(tǒng)服務(wù)中。