亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種應(yīng)用實(shí)現(xiàn)方法及相關(guān)裝置制造方法

文檔序號(hào):6493730閱讀:174來(lái)源:國(guó)知局
一種應(yīng)用實(shí)現(xiàn)方法及相關(guān)裝置制造方法
【專(zhuān)利摘要】本發(fā)明實(shí)施例公開(kāi)了一種應(yīng)用實(shí)現(xiàn)方法及相關(guān)裝置,用于在無(wú)需安裝的情況下實(shí)現(xiàn)目標(biāo)應(yīng)用的功能。本發(fā)明實(shí)施例方法包括:獲取目標(biāo)應(yīng)用的安裝包;生成管理所述目標(biāo)應(yīng)用的代理界面;所述代理界面使用終端的運(yùn)行參數(shù)動(dòng)態(tài)加載所述安裝包,啟動(dòng)所述目標(biāo)應(yīng)用的操作界面。
【專(zhuān)利說(shuō)明】一種應(yīng)用實(shí)現(xiàn)方法及相關(guān)裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及終端的應(yīng)用領(lǐng)域,尤其涉及一種應(yīng)用實(shí)現(xiàn)方法及相關(guān)裝置。
【背景技術(shù)】
[0002]在終端的一些應(yīng)用程序中,一個(gè)整體的應(yīng)用程序會(huì)劃分有主體功能和附屬功能,在對(duì)該應(yīng)用程序進(jìn)行初始安裝時(shí),一般只安裝其主體功能,對(duì)于附屬功能,當(dāng)用戶有需要的時(shí)候使用時(shí),再另行安裝。
[0003]下列將應(yīng)用程序的附屬功能稱(chēng)作插件,現(xiàn)有技術(shù)對(duì)插件的功能實(shí)現(xiàn)主要包括以下兩種:
[0004]現(xiàn)有技術(shù)一,在終端安裝了應(yīng)用程序的主體功能之后,通過(guò)因特網(wǎng)(Intent)下載該應(yīng)用程序的插件安裝包,待該插件安裝包下載完成后,提示用戶進(jìn)行插件的安裝,以實(shí)現(xiàn)該應(yīng)用程序的附屬功能。
[0005]現(xiàn)有技術(shù)一的缺點(diǎn)是需要對(duì)插件進(jìn)行另外的安裝,安裝的過(guò)程需要對(duì)插件的功能另外的注冊(cè)和授權(quán),占用終端的數(shù)據(jù)存儲(chǔ)空間,用戶體驗(yàn)差。
[0006]現(xiàn)有技術(shù)二,在終端安裝了應(yīng)用程序的主體功能之后,該應(yīng)用程序的安裝包中已經(jīng)包含了該插件的安裝程序,在用戶需要使用到該插件的功能時(shí),通過(guò)后臺(tái)運(yùn)行插件安裝程序的方式,實(shí)現(xiàn)隱蔽插件安裝。
[0007]在現(xiàn)有技術(shù)二的插件實(shí)現(xiàn)方式中,由于應(yīng)用程序的安裝程序包含了各種插件的子安裝包,因此,該應(yīng)用程序的安裝程序相對(duì)比較臃腫,在用戶不需要該應(yīng)用程序的附屬功能的情況下,影響到對(duì)該應(yīng)用程序進(jìn)行初始下載和安裝時(shí)的用戶體驗(yàn);并且,現(xiàn)有技術(shù)二還是需要對(duì)應(yīng)用程序的插件進(jìn)行安裝(用戶可能沒(méi)發(fā)現(xiàn),在后臺(tái)運(yùn)行),也會(huì)額外的占用終端的數(shù)據(jù)存儲(chǔ)空間。

【發(fā)明內(nèi)容】

[0008]本發(fā)明實(shí)施例提供了 一種應(yīng)用實(shí)現(xiàn)方法及相關(guān)裝置,用于在無(wú)需安裝的情況下實(shí)現(xiàn)目標(biāo)應(yīng)用的功能。
[0009]本發(fā)明提供的應(yīng)用實(shí)現(xiàn)方法,包括:獲取目標(biāo)應(yīng)用的安裝包;生成管理所述目標(biāo)應(yīng)用的代理界面;所述代理界面使用終端的運(yùn)行參數(shù)動(dòng)態(tài)加載所述安裝包,啟動(dòng)所述目標(biāo)應(yīng)用的操作界面。
[0010]本發(fā)明提供的應(yīng)用實(shí)現(xiàn)裝置,包括:
[0011]安裝包獲取單元,用于獲取目標(biāo)應(yīng)用的安裝包;
[0012]代理生成單元,用于生成管理所述目標(biāo)應(yīng)用的代理界面;
[0013]代理加載單元,用于通過(guò)代理界面使用終端的運(yùn)行參數(shù)動(dòng)態(tài)加載所述安裝包,啟動(dòng)所述目標(biāo)應(yīng)用的操作界面,所述運(yùn)行參數(shù)包括:終端的顯示參數(shù)。
[0014]從以上技術(shù)方案可以看出,本發(fā)明實(shí)施例具有以下優(yōu)點(diǎn):
[0015]在本發(fā)明實(shí)施例中,先獲取目標(biāo)應(yīng)用的安裝包,生成管理所述目標(biāo)應(yīng)用的代理界面,再通過(guò)該代理界面使用終端的運(yùn)行參數(shù)動(dòng)態(tài)加載所述安裝包,啟動(dòng)所述目標(biāo)應(yīng)用的操作界面,實(shí)現(xiàn)所述目標(biāo)應(yīng)用的功能;其中,本發(fā)明實(shí)施例無(wú)需對(duì)目標(biāo)應(yīng)用的安裝包進(jìn)行安裝,代理界面作為終端和安裝包之間的接口,在啟動(dòng)所述安裝包所要實(shí)現(xiàn)的功能時(shí),代理界面提供運(yùn)行所述功能所必要的運(yùn)行參數(shù),并動(dòng)態(tài)的將實(shí)現(xiàn)目標(biāo)應(yīng)用的代碼和運(yùn)行參數(shù)寫(xiě)在終端的內(nèi)存上,使得終端無(wú)需安裝該安裝包就可以使用該安裝包對(duì)應(yīng)的目標(biāo)應(yīng)用。
【專(zhuān)利附圖】

【附圖說(shuō)明】
[0016]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0017]圖1是本發(fā)明實(shí)施例應(yīng)用實(shí)現(xiàn)方法的一個(gè)流程示意圖;
[0018]圖2是本發(fā)明實(shí)施例應(yīng)用實(shí)現(xiàn)方法的另一個(gè)流程示意圖;
[0019]圖3是本發(fā)明實(shí)施例應(yīng)用實(shí)現(xiàn)方法的另一個(gè)流程示意圖;
[0020]圖4是本發(fā)明實(shí)施例應(yīng)用實(shí)現(xiàn)方法的程序模塊示意圖;
[0021]圖5是本發(fā)明實(shí)施例應(yīng)用實(shí)現(xiàn)裝置的邏輯結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0022]本發(fā)明實(shí)施例提供了 一種應(yīng)用實(shí)現(xiàn)方法及相關(guān)裝置,用于在無(wú)需安裝的情況下實(shí)現(xiàn)目標(biāo)應(yīng)用的功能。
[0023]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0024]請(qǐng)參閱圖1,本發(fā)明實(shí)施例中應(yīng)用實(shí)現(xiàn)方法的一個(gè)實(shí)施例包括:
[0025]101、獲取目標(biāo)應(yīng)用的安裝包;
[0026]應(yīng)用實(shí)現(xiàn)裝置獲取目標(biāo)應(yīng)用的安裝包;具體的,所述目標(biāo)應(yīng)用可以為一種應(yīng)用下的插件,也可以為一種控制平臺(tái)下的應(yīng)用(如,QQ游戲平臺(tái)下的中國(guó)象棋)。
[0027]在實(shí)際應(yīng)用中,上述的插件可以理解為一個(gè)應(yīng)用程序中附屬功能所對(duì)應(yīng)的應(yīng)用。上述的控制平臺(tái)可以理解為與目標(biāo)應(yīng)用有相匹配的數(shù)據(jù)傳輸協(xié)議和接口的操作平臺(tái);該控制平臺(tái)可以為該目標(biāo)應(yīng)用提供操作和顯示的界面,而編寫(xiě)該目標(biāo)應(yīng)用的代碼也可以被該控制平臺(tái)所支持或識(shí)別。
[0028]可選的,目標(biāo)應(yīng)用的安裝包可以在先就預(yù)存在終端的靜態(tài)存儲(chǔ)器中,則“獲取目標(biāo)應(yīng)用的安裝包”的操作就可以為讀取所述安裝包在終端中的存儲(chǔ)地址;可選的,目標(biāo)應(yīng)用的安裝包也可以即時(shí)的通過(guò)聯(lián)網(wǎng)下載,如,當(dāng)用戶點(diǎn)擊該目標(biāo)應(yīng)用時(shí),若該目標(biāo)應(yīng)用未被安裝且本地沒(méi)有存有該目標(biāo)應(yīng)用的安裝包,則終端聯(lián)網(wǎng)并鏈接到該目標(biāo)應(yīng)用的安裝包的下載地址,對(duì)該安裝包進(jìn)行下載。
[0029]102、生成管理所述目標(biāo)應(yīng)用的代理界面;
[0030]應(yīng)用實(shí)現(xiàn)裝置生成管理所述目標(biāo)應(yīng)用的代理界面;具體的,代理界面為終端和安裝包之間的中介接口,當(dāng)終端需要加載安裝包內(nèi)的功能時(shí),提供實(shí)現(xiàn)該功能的必要的運(yùn)行參數(shù);如,目標(biāo)應(yīng)用的操作界面要在終端的顯示屏幕上顯示,則代理界面需要提供終端的顯示參數(shù)(如,顯示屏幕的尺寸和分辨率)。
[0031]所述代理界面是主程序中的普通界面,特征是界面上不帶任何按鈕、文字或圖標(biāo)的透明界面,并能夠獲得終端系統(tǒng)的所有信息。界面顯示的內(nèi)容從目標(biāo)應(yīng)用的安裝包中獲得。代理界面的創(chuàng)建、顯示、隱藏和回收由終端系統(tǒng)管理。
[0032]103、使用終端的運(yùn)行參數(shù)動(dòng)態(tài)加載所述安裝包。
[0033]代理界面使用終端的運(yùn)行參數(shù)動(dòng)態(tài)加載所述安裝包,啟動(dòng)所述目標(biāo)應(yīng)用的操作界面。
[0034]具體的,當(dāng)終端需要加載安裝包內(nèi)的功能時(shí),代理界面讀取該安裝包的內(nèi)容,在終端側(cè)獲取實(shí)現(xiàn)該功能終端所需要提供的運(yùn)行參數(shù),再動(dòng)態(tài)的將該安裝包中的實(shí)現(xiàn)目標(biāo)應(yīng)用的代碼和運(yùn)行參數(shù)寫(xiě)在終端的內(nèi)存(動(dòng)態(tài)存儲(chǔ)器)上,啟動(dòng)所述目標(biāo)應(yīng)用的操作界面,使得用戶可以使用該目標(biāo)應(yīng)用對(duì)應(yīng)的功能。
[0035]可選的,所述運(yùn)行參數(shù)具體可以包括:終端的顯示參數(shù)、觸屏和按鍵的事件、IMEI號(hào)、當(dāng)前的網(wǎng)絡(luò)類(lèi)型、GPS信息、終端設(shè)置的語(yǔ)言類(lèi)型、終端傳感器中任意一項(xiàng)或兩項(xiàng)以上的組合。
[0036]本發(fā)明實(shí)施例中的應(yīng)用實(shí)現(xiàn)裝置可以為一種應(yīng)用程序,可以集成在一個(gè)應(yīng)用的主體程序中,也可以集成在一個(gè)控制平臺(tái)的主體程序中。
[0037]在本發(fā)明實(shí)施例中,先獲取目標(biāo)應(yīng)用的安裝包,生成管理所述目標(biāo)應(yīng)用的代理界面,再通過(guò)該代理界面使用終端的運(yùn)行參數(shù)動(dòng)態(tài)加載所述安裝包,啟動(dòng)所述目標(biāo)應(yīng)用的操作界面,實(shí)現(xiàn)所述目標(biāo)應(yīng)用的功能;其中,本發(fā)明實(shí)施例無(wú)需對(duì)目標(biāo)應(yīng)用的安裝包進(jìn)行安裝,代理界面作為終端和安裝包之間的接口,在啟動(dòng)所述安裝包所要實(shí)現(xiàn)的功能時(shí),代理界面提供運(yùn)行所述功能所必要的運(yùn)行參數(shù),并動(dòng)態(tài)的將實(shí)現(xiàn)目標(biāo)應(yīng)用的代碼和運(yùn)行參數(shù)寫(xiě)在終端的內(nèi)存上,使得終端無(wú)需安裝該安裝包就可以使用該安裝包對(duì)應(yīng)的目標(biāo)應(yīng)用。
[0038]除了作為終端和安裝包之間的接口,本發(fā)明實(shí)施例中提出的代理界面還具有管理目標(biāo)應(yīng)用的一些必要參數(shù),維護(hù)所述目標(biāo)應(yīng)用正常運(yùn)作的功能,具體請(qǐng)參閱圖2,本發(fā)明實(shí)施例中應(yīng)用實(shí)現(xiàn)方法的另一個(gè)實(shí)施例包括:
[0039]201、獲取目標(biāo)應(yīng)用的安裝包;
[0040]應(yīng)用實(shí)現(xiàn)裝置獲取目標(biāo)應(yīng)用的安裝包;具體的,所述目標(biāo)應(yīng)用可以為一種應(yīng)用下的插件,也可以為一種控制平臺(tái)下的應(yīng)用(如,QQ游戲平臺(tái)下的中國(guó)象棋)。
[0041]在實(shí)際應(yīng)用中,上述的插件可以理解為一個(gè)應(yīng)用程序中附屬功能所對(duì)應(yīng)的應(yīng)用。上述的控制平臺(tái)可以理解為與目標(biāo)應(yīng)用有相匹配的數(shù)據(jù)傳輸協(xié)議和接口的操作平臺(tái);該控制平臺(tái)可以為該目標(biāo)應(yīng)用提供操作和顯示的界面,而編寫(xiě)該目標(biāo)應(yīng)用的代碼也可以被該控制平臺(tái)所支持或識(shí)別。
[0042]可選的,目標(biāo)應(yīng)用的安裝包可以在先就預(yù)存在終端的靜態(tài)存儲(chǔ)器中,則“獲取目標(biāo)應(yīng)用的安裝包”的操作就可以為讀取所述安裝包在終端中的存儲(chǔ)地址;可選的,目標(biāo)應(yīng)用的安裝包也可以即時(shí)的通過(guò)聯(lián)網(wǎng)下載,如,當(dāng)用戶點(diǎn)擊該目標(biāo)應(yīng)用時(shí),若該目標(biāo)應(yīng)用未被安裝且本地沒(méi)有存有該目標(biāo)應(yīng)用的安裝包,則終端聯(lián)網(wǎng)并鏈接到該目標(biāo)應(yīng)用的安裝包的下載地址,對(duì)該安裝包進(jìn)行下載。[0043]202、生成管理所述目標(biāo)應(yīng)用的代理界面;
[0044]應(yīng)用實(shí)現(xiàn)裝置生成管理所述目標(biāo)應(yīng)用的代理界面;具體的,代理界面為終端和安裝包之間的中介接口,當(dāng)終端需要加載安裝包內(nèi)的功能時(shí),提供實(shí)現(xiàn)該功能的必要的運(yùn)行參數(shù);如,目標(biāo)應(yīng)用的操作界面要在終端的顯示屏幕上顯示,則代理界面需要提供終端的顯示參數(shù)(如,顯示屏幕的尺寸和分辨率)。
[0045]所述代理界面是主程序中的普通界面,特征是界面上不帶任何按鈕、文字或圖標(biāo)的透明界面,并能夠獲得終端系統(tǒng)的所有信息。界面顯示的內(nèi)容從目標(biāo)應(yīng)用的安裝包中獲得。代理界面的創(chuàng)建、顯示、隱藏和回收由終端系統(tǒng)管理。
[0046]可選的,生成管理所述目標(biāo)應(yīng)用的代理界面的過(guò)程具體可以為:創(chuàng)建動(dòng)態(tài)加載所述目標(biāo)應(yīng)用的安裝包的代碼;創(chuàng)建傳送所述終端的運(yùn)行參數(shù)的代碼;創(chuàng)建管理所述目標(biāo)應(yīng)用的創(chuàng)建、顯示、隱藏和回收的代碼,得到所述目標(biāo)應(yīng)用的代理界面。
[0047]動(dòng)態(tài)加載所述目標(biāo)應(yīng)用的安裝包的代碼可以包括:動(dòng)態(tài)加載目標(biāo)應(yīng)用安裝包邏輯的代碼,和加載目標(biāo)應(yīng)用安裝包字符串、圖片、聲音文件的代碼等。
[0048]管理所述目標(biāo)應(yīng)用的代碼還可以包括:目標(biāo)應(yīng)用界面中包括按鈕、文字和圖標(biāo)等元素的代碼,傳送屏幕和按鍵事件的代碼等。
[0049]具體的,在生成目標(biāo)應(yīng)用的代理界面之后,代理界面會(huì)解析指定路徑(目標(biāo)應(yīng)用的安裝包在終端中存儲(chǔ)地址)的安裝包,從安裝包中獲取所述目標(biāo)應(yīng)用的版本號(hào)和包名;可選的,當(dāng)上述對(duì)安裝包的解析失敗時(shí),目標(biāo)應(yīng)用的啟動(dòng)流程失敗。
[0050]203、通過(guò)java類(lèi)加載器加載所述安裝包的類(lèi);
[0051]當(dāng)代理界面需要讀取所述安裝包時(shí),會(huì)創(chuàng)建Resource,解析安裝包中的資源文件,再通過(guò)java類(lèi)加載器(DexClassLoadr)加載所述安裝包的類(lèi)(class, dex),創(chuàng)建所述目標(biāo)應(yīng)用運(yùn)行的上下文環(huán)境(context);所述安裝包的類(lèi)包括所述目標(biāo)應(yīng)用的主程序、工具和業(yè)務(wù)邏輯。
[0052]在實(shí)際應(yīng)用中,如果指定了啟動(dòng)插件的界面類(lèi)(PluginAct), DexClassLoader動(dòng)態(tài)加載該指定的PluginAct。如果未指定,在插件文件中查找第一個(gè)帶有啟動(dòng)器(Launcher)標(biāo)識(shí)的界面類(lèi) PluginAct, DexClassLoader 動(dòng)態(tài)加載該 PluginAct。
[0053]在本發(fā)明實(shí)施例中,目標(biāo)應(yīng)用的上下文環(huán)境(Context)和現(xiàn)有技術(shù)中目標(biāo)應(yīng)用的主應(yīng)用程序的Context不同,倉(cāng)Ij建Context需要資源管理接口(Resource)讀取資源文件(包括:各種圖片和主體等),創(chuàng)建Resource需要通過(guò)資源管理器(AssetManager)讀取所述安裝包中的數(shù)據(jù)。
[0054]204、通過(guò)java的反射機(jī)制調(diào)用所述安裝包的創(chuàng)建單元;
[0055]代理界面通過(guò)java的反射機(jī)制調(diào)用所述安裝包的創(chuàng)建單元(onCreate)。
[0056]具體的,Java反射機(jī)制是通過(guò)獲得目標(biāo)應(yīng)用的對(duì)象,強(qiáng)制調(diào)用目標(biāo)應(yīng)用中未公開(kāi)或隱藏的方法和獲取目標(biāo)應(yīng)用的屬性。
[0057]205、使用所述運(yùn)行參數(shù)加載所述創(chuàng)建單元;
[0058]代理界面使用所述運(yùn)行參數(shù)加載所述創(chuàng)建單元,使得終端的顯示屏幕顯示所述目標(biāo)應(yīng)用的操作界面,用戶可以在所述操作界面中使用所述目標(biāo)應(yīng)用的功能。
[0059]206、在所述代理界面中維護(hù)所述目標(biāo)應(yīng)用的運(yùn)行環(huán)境、資源和生命周期。
[0060]在啟動(dòng)了所述目標(biāo)應(yīng)用的操作界面之后,代理界面會(huì)存儲(chǔ)所述目標(biāo)應(yīng)用的運(yùn)行環(huán)境、資源和生命周期。
[0061]目標(biāo)應(yīng)用的運(yùn)行環(huán)境可以包括:終端的顯示參數(shù),屏幕和按鍵事件、屏幕是否關(guān)閉、內(nèi)存使用情況、CPU狀態(tài)、當(dāng)前的網(wǎng)絡(luò)狀況、位置信息、是否正在通話。
[0062]目標(biāo)應(yīng)用的運(yùn)行資源可以包括:當(dāng)前終端設(shè)置的語(yǔ)言、文字串、圖片、聲音文件、屏幕文本按鈕圖標(biāo)元素。
[0063]目標(biāo)應(yīng)用的生命周期從界面的創(chuàng)建開(kāi)始,到界面的銷(xiāo)毀結(jié)束,經(jīng)歷顯示(屏幕打開(kāi),切到前臺(tái))和隱藏(屏幕關(guān)閉、切至后臺(tái))階段。
[0064]具體的,所述生命周期包括:所述目標(biāo)應(yīng)用的創(chuàng)建時(shí)間和所述目標(biāo)應(yīng)用的關(guān)閉或最小化(即退到后臺(tái))的條件。所述目標(biāo)應(yīng)用的關(guān)閉或最小化的條件可以包括:1、當(dāng)用戶發(fā)送關(guān)閉或最小化指令(可以表現(xiàn)為點(diǎn)擊操作)時(shí),當(dāng)前的目標(biāo)應(yīng)用關(guān)閉或最小化;2、當(dāng)所述終端來(lái)電時(shí),所述當(dāng)前的目標(biāo)應(yīng)用關(guān)閉或最小化。
[0065]所述代理界面對(duì)運(yùn)行環(huán)境的維護(hù)還可以包括:終端操作按鍵與所述目標(biāo)應(yīng)用的操作功能的同步和匹配。
[0066]為了便于理解,下面以一具體應(yīng)用場(chǎng)景(目標(biāo)應(yīng)用為主應(yīng)用程序的插件)對(duì)上述的實(shí)施例中描述的應(yīng)用實(shí)現(xiàn)方法再進(jìn)行詳細(xì)描述,請(qǐng)參考圖3,具體為:
[0067]301、用戶點(diǎn)擊插件;
[0068]用戶點(diǎn)擊插件時(shí),終端檢測(cè)到該插件未被安裝且本地沒(méi)有存有該插件的安裝包,則執(zhí)行步驟302。
[0069]302、終端聯(lián)網(wǎng)下載所述插件的安裝包;
[0070]終端聯(lián)網(wǎng)并鏈接到該插件的安裝包的下載地址,對(duì)所述插件的安裝包進(jìn)行下載。
[0071]303、應(yīng)用實(shí)現(xiàn)裝置生成管理所述插件的代理界面;
[0072]在終端安裝的主應(yīng)用程序或控制平臺(tái)的應(yīng)用實(shí)現(xiàn)裝置生成管理所述插件的代理界面。
[0073]具體的,在生成插件的代理界面之后,代理界面會(huì)解析指定路徑(插件的安裝包在終端中存儲(chǔ)地址)的安裝包,從安裝包中獲取所述插件的版本號(hào)和包名;可選的,當(dāng)上述對(duì)安裝包的解析失敗時(shí),插件的啟動(dòng)流程失敗。
[0074]304、代理界面通過(guò)java類(lèi)加載器加載所述安裝包的類(lèi);
[0075]在實(shí)際應(yīng)用中,如果指定了啟動(dòng)插件的界面類(lèi)(PluginAct), DexClassLoader動(dòng)態(tài)加載該指定的PluginAct。如果未指定,在插件文件中查找第一個(gè)帶有啟動(dòng)器(Launcher)標(biāo)識(shí)的界面類(lèi) PluginAct, DexClassLoader 動(dòng)態(tài)加載該 PluginAct。
[0076]305、代理界面創(chuàng)建所述插件運(yùn)行的上下文環(huán)境;
[0077]代理界面創(chuàng)建Context需要資源管理接口(Resource)讀取資源文件,創(chuàng)建Resource需要通過(guò)資源管理器(AssetManager)讀取所述安裝包中的數(shù)據(jù)。
[0078]306、代理界面通過(guò)java的反射機(jī)制調(diào)用所述安裝包的創(chuàng)建單元;
[0079]307、代理界面使用所述運(yùn)行參數(shù)加載所述創(chuàng)建單元,啟動(dòng)所述插件的操作界面。
[0080]308、代理界面維護(hù)所述插件的運(yùn)行環(huán)境、資源和生命周期。
[0081]請(qǐng)參閱圖4,圖4是插件總體架構(gòu)圖,由三部分組成,第一部分是代理界面(ProxyAct),第二部分是插件界面的基類(lèi)PluginAct,第三部分是插件公共類(lèi),包括插件運(yùn)行環(huán)境(PluginContext),插件數(shù)據(jù)表(PluginTableManager)、插件與主程序數(shù)據(jù)和網(wǎng)絡(luò)通信類(lèi)(PluginComm)。代理執(zhí)行(ProxyActivity)封裝了與插件界面同步生命周期和控件事件的實(shí)現(xiàn)。PluginAct封裝了插件運(yùn)行環(huán)境的創(chuàng)建。對(duì)于插件開(kāi)發(fā)工作,只需要繼承PluginAct,其它與開(kāi)發(fā)非插件程序相同。
[0082]上面僅以一些例子對(duì)本發(fā)明實(shí)施例中的應(yīng)用場(chǎng)景進(jìn)行了說(shuō)明,可以理解的是,在實(shí)際應(yīng)用中,還可以有更多的應(yīng)用場(chǎng)景,具體此處不作限定。
[0083]下面對(duì)用于執(zhí)行上述應(yīng)用實(shí)現(xiàn)方法的本發(fā)明應(yīng)用實(shí)現(xiàn)裝置的實(shí)施例進(jìn)行說(shuō)明,其邏輯結(jié)構(gòu)請(qǐng)參考圖5,本發(fā)明實(shí)施例中的應(yīng)用實(shí)現(xiàn)裝置一個(gè)實(shí)施例包括:
[0084]安裝包獲取單元501,用于獲取目標(biāo)應(yīng)用的安裝包;
[0085]代理生成單元502,用于生成管理所述目標(biāo)應(yīng)用的代理界面;
[0086]代理加載單元503,用于通過(guò)代理界面使用終端的運(yùn)行參數(shù)動(dòng)態(tài)加載所述安裝包,啟動(dòng)所述目標(biāo)應(yīng)用的操作界面,所述運(yùn)行參數(shù)包括:終端的顯示參數(shù)。
[0087]可選的,所述運(yùn)行參數(shù)包括:
[0088]所述終端的顯示參數(shù)、觸屏和按鍵的事件、IMEI號(hào)、當(dāng)前的網(wǎng)絡(luò)類(lèi)型、GPS信息、終端設(shè)置的語(yǔ)言類(lèi)型、終端傳感器中任意一項(xiàng)或兩項(xiàng)以上的組合。
[0089]所述代理生成單元502具體用于:創(chuàng)建動(dòng)態(tài)加載所述目標(biāo)應(yīng)用的安裝包的代碼;創(chuàng)建傳送所述終端的運(yùn)行參數(shù)的代碼;創(chuàng)建管理所述目標(biāo)應(yīng)用的創(chuàng)建、顯示、隱藏和回收的代碼,得到所述目標(biāo)應(yīng)用的代理界面。
[0090]可選的,所述代理加載單元包503括:
[0091]類(lèi)加載模塊5031,用于通過(guò)java類(lèi)加載器DexClassLoadr加載所述安裝包的類(lèi);
[0092]上下文創(chuàng)建模塊5032,用于創(chuàng)建所述目標(biāo)應(yīng)用運(yùn)行的上下文環(huán)境context ;
[0093]調(diào)用模塊5033,用于通過(guò)java的反射機(jī)制調(diào)用所述安裝包的創(chuàng)建單元onCreate方法;
[0094]創(chuàng)建加載模塊5034,用于使用所述運(yùn)行參數(shù)加載所述創(chuàng)建單元。
[0095]可選的,所述裝置還包括:
[0096]維護(hù)單元504,用于在所述代理界面中維護(hù)所述目標(biāo)應(yīng)用的運(yùn)行環(huán)境、資源和生命周期。
[0097]可選的,所述安裝包獲取單元501包括:
[0098]地址讀取模塊5011,用于讀取所述安裝包在終端中的存儲(chǔ)地址;
[0099]或,
[0100]下載模塊5012,用于指示終端聯(lián)網(wǎng)下載所述目標(biāo)應(yīng)用的安裝包。
[0101]上述各個(gè)單元/模塊的具體操作過(guò)程請(qǐng)參閱方法實(shí)施例,此處不再贅述。
[0102]在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的裝置和方法可以通過(guò)其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
[0103]所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開(kāi)的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。
[0104]另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
[0105]所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷(xiāo)售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤(pán)、移動(dòng)硬盤(pán)、只讀存儲(chǔ)器(ROM,Read-OnlyMemory)、隨機(jī)存取存儲(chǔ)器(RAM, Random Access Memory)、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。
[0106]以上所述,僅為本發(fā)明的【具體實(shí)施方式】,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本【技術(shù)領(lǐng)域】的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
【權(quán)利要求】
1.一種應(yīng)用實(shí)現(xiàn)方法,其特征在于,包括: 獲取目標(biāo)應(yīng)用的安裝包; 生成管理所述目標(biāo)應(yīng)用的代理界面; 所述代理界面使用終端的運(yùn)行參數(shù)動(dòng)態(tài)加載所述安裝包,啟動(dòng)所述目標(biāo)應(yīng)用的操作界面,所述運(yùn)行參數(shù)包括:終端的顯示參數(shù)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述生成管理所述目標(biāo)應(yīng)用的代理界面,包括: 創(chuàng)建動(dòng)態(tài)加載所述目標(biāo)應(yīng)用的安裝包的代碼; 創(chuàng)建傳送所述終端的運(yùn)行參數(shù)的代碼; 創(chuàng)建管理所述目標(biāo)應(yīng)用的創(chuàng)建、顯示、隱藏和回收的代碼,得到所述目標(biāo)應(yīng)用的代理界面。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述使用終端的運(yùn)行參數(shù)動(dòng)態(tài)加載所述安裝包,啟動(dòng)所述目標(biāo)應(yīng)用的操作界面,包括: 通過(guò)java類(lèi)加載器加載所述安裝包的類(lèi); 創(chuàng)建所述目標(biāo)應(yīng)用運(yùn)行的上下文環(huán)境; 通過(guò)java的反射機(jī)制調(diào)用所述安裝包的創(chuàng)建單元; 使用所述運(yùn)行參數(shù)加載所述創(chuàng)建單元。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述使用終端的運(yùn)行參數(shù)動(dòng)態(tài)加載所述安裝包之后,所述方法還包括: 在所述代理界面中維護(hù)所述目標(biāo)應(yīng)用的運(yùn)行環(huán)境、資源和生命周期。
5.根據(jù)權(quán)利要求1至4任意一項(xiàng)所述的方法,其特征在于,所述獲取目標(biāo)應(yīng)用的安裝包,包括: 讀取所述安裝包在終端中的存儲(chǔ)地址; 或,指示終端聯(lián)網(wǎng)下載所述目標(biāo)應(yīng)用的安裝包。
6.一種應(yīng)用實(shí)現(xiàn)裝置,其特征在于,包括: 安裝包獲取單元,用于獲取目標(biāo)應(yīng)用的安裝包; 代理生成單元,用于生成管理所述目標(biāo)應(yīng)用的代理界面; 代理加載單元,用于通過(guò)代理界面使用終端的運(yùn)行參數(shù)動(dòng)態(tài)加載所述安裝包,啟動(dòng)所述目標(biāo)應(yīng)用的操作界面,所述運(yùn)行參數(shù)包括:終端的顯示參數(shù)。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述代理生成單元具體用于: 創(chuàng)建動(dòng)態(tài)加載所述目標(biāo)應(yīng)用的安裝包的代碼; 創(chuàng)建傳送所述終端的運(yùn)行參數(shù)的代碼; 創(chuàng)建管理所述目標(biāo)應(yīng)用的創(chuàng)建、顯示、隱藏和回收的代碼,得到所述目標(biāo)應(yīng)用的代理界面。
8.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述代理加載單元包括: 類(lèi)加載模塊,用于通過(guò)java類(lèi)加載器加載所述安裝包的類(lèi); 上下文創(chuàng)建模塊,用于創(chuàng)建所述目標(biāo)應(yīng)用運(yùn)行的上下文環(huán)境; 調(diào)用模塊,用于通過(guò)java的反射機(jī)制調(diào)用所述安裝包的創(chuàng)建單元; 創(chuàng)建加載模塊,用于使用所述運(yùn)行參數(shù)加載所述創(chuàng)建單元。
9.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括: 維護(hù)單元,用于在所述代理界面中維護(hù)所述目標(biāo)應(yīng)用的運(yùn)行環(huán)境、資源和生命周期。
10.根據(jù)權(quán)利要求6至9任 意一項(xiàng)所述的裝置,其特征在于,所述安裝包獲取單元包括: 地址讀取模塊,用于讀取所述安裝包在終端中的存儲(chǔ)地址; 或, 下載模塊,用于指示終端聯(lián)網(wǎng)下載所述目標(biāo)應(yīng)用的安裝包。
【文檔編號(hào)】G06F9/44GK103902265SQ201210575981
【公開(kāi)日】2014年7月2日 申請(qǐng)日期:2012年12月26日 優(yōu)先權(quán)日:2012年12月26日
【發(fā)明者】鐘于勝, 林聲煒, 朱德亮, 鄒迪飛 申請(qǐng)人:騰訊科技(深圳)有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1