專利名稱:一種基于文件類型的Android構(gòu)件透明加載方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明提供了一種在Android操作系統(tǒng)上一種基于文件類型透明加載構(gòu)件的方 法,具體就是根據(jù)需要操作的文件類型在本機(jī)和構(gòu)件庫(kù)查找支持該類型的構(gòu)件,如果本地 沒(méi)有則從構(gòu)件庫(kù)動(dòng)態(tài)加載,屬于移動(dòng)計(jì)算領(lǐng)域。
背景技術(shù):
Android操作系統(tǒng)是Google公司于2007年11月5日發(fā)布的基于Linux平臺(tái)的開(kāi) 源手機(jī)操作系統(tǒng)的名稱,該平臺(tái)由操作系統(tǒng)、中間件、用戶界面和應(yīng)用軟件組成,號(hào)稱是首 個(gè)為移動(dòng)終端打造的真正開(kāi)放和完整的移動(dòng)軟件。軟件構(gòu)件(software component)軟件系統(tǒng)中具有相對(duì)獨(dú)立功能,可以明確辨識(shí)、 接口由規(guī)約指定、與語(yǔ)境有明顯依賴關(guān)系,可獨(dú)立部署,且多由第三方提供的可組裝軟件實(shí) 體。軟件構(gòu)件須承載有用的功能,并遵循某種構(gòu)件模型??蓮?fù)用構(gòu)件是指具有可復(fù)用價(jià)值 的構(gòu)件。當(dāng)前使用Android操作系統(tǒng)的用戶通過(guò)手機(jī)上的文件瀏覽器或者手機(jī)上其它應(yīng) 用程序需要打開(kāi)某種類型文件的時(shí)候,如果該手機(jī)上不支持這種類型的文件格式,則用戶 必須確定支持該類型的軟件,然后手動(dòng)進(jìn)行安裝才能正常瀏覽該文件,在這一過(guò)程中,需要 反復(fù)上網(wǎng)查找,并需要手動(dòng)進(jìn)行應(yīng)用的安裝,完成后再次打開(kāi)該文件才能響應(yīng)用戶的請(qǐng)求, 影響用戶的體驗(yàn)。
發(fā)明內(nèi)容
在本文中,構(gòu)件指的是使用我們實(shí)現(xiàn)的構(gòu)件化工具將Android操作系統(tǒng)上可運(yùn)行 的APK文件進(jìn)行構(gòu)件化后的軟件包,構(gòu)件化后的構(gòu)件中包含原始APK文件、應(yīng)用的名字、應(yīng) 用的版本號(hào)、應(yīng)用支持的打開(kāi)文件類型、應(yīng)用的描述等,構(gòu)件庫(kù)管理人員負(fù)責(zé)對(duì)Android操 作系統(tǒng)中可執(zhí)行的應(yīng)用程序進(jìn)行構(gòu)件化,并上傳至用戶構(gòu)件庫(kù)。本發(fā)明的目的在于為Android操作系統(tǒng)提供一種基于文件類型透明加載構(gòu)件的 方法,使得用戶在打開(kāi)某種類型文件時(shí)候,不必去關(guān)心本地是否已經(jīng)安裝支持的軟件,只要 構(gòu)件庫(kù)中有,則一定可以打開(kāi)。本發(fā)明的系統(tǒng)由客戶端、構(gòu)件請(qǐng)求服務(wù)器和構(gòu)件庫(kù)服務(wù)器組成,客戶端位于 Framework層中的PackageManagerService (程序安裝服務(wù)),包括了服務(wù)器設(shè)置模塊、文 件類型解析模塊、文件獲取模塊、構(gòu)件安裝模塊和桌面刷新模塊。構(gòu)件請(qǐng)求服務(wù)器位于PC 上,包括監(jiān)聽(tīng)模塊、構(gòu)件類型處理模塊和文件傳輸模塊;構(gòu)件庫(kù)服務(wù)器負(fù)責(zé)構(gòu)件的生成、存 儲(chǔ)、并負(fù)責(zé)響應(yīng)構(gòu)件請(qǐng)求服務(wù)器的請(qǐng)求。手機(jī)用戶或者手機(jī)應(yīng)用程序需要打開(kāi)某種類型的 文件時(shí)候,通過(guò)調(diào)用ActivityManager要求啟動(dòng)參數(shù)為文件類型、文件路徑的Intent,啟動(dòng) 過(guò)程中首先會(huì)通過(guò)PackageManagerService中的文件類型解析模塊查詢支持該文件類型 的構(gòu)件,如果找到,則使用該構(gòu)件打開(kāi)文件;否則向構(gòu)件請(qǐng)求服務(wù)器發(fā)出包含文件類型的請(qǐng) 求,構(gòu)件請(qǐng)求服務(wù)器接收到請(qǐng)求后,調(diào)用構(gòu)件類型處理模塊,該模塊從構(gòu)件庫(kù)中根據(jù)類型進(jìn)行查詢,如果可以找到,則調(diào)用文件傳輸模塊將該構(gòu)件傳回客戶端;客戶端的文件類型解析 模塊接收到該構(gòu)件后,調(diào)用構(gòu)件安裝模塊進(jìn)行安裝,重新調(diào)用文件類型解析模塊,此時(shí)就可 以打開(kāi)文件。本發(fā)明對(duì)應(yīng)的流程圖如圖1所示,詳細(xì)技術(shù)方案如下A.構(gòu)件庫(kù)服務(wù)器接收構(gòu)件上傳,上傳過(guò)程中構(gòu)件庫(kù)內(nèi)置的程序會(huì)將應(yīng)用打包成為 自定義的構(gòu)件格式;1.構(gòu)件庫(kù)管理人員使用構(gòu)件庫(kù)自帶的web界面工具或者使用批量上傳工具將使 用者可能會(huì)使用的APK文件上傳至構(gòu)件庫(kù)。用戶只需上傳APK文件,構(gòu)件庫(kù)內(nèi)置的程序會(huì) 從APK文件中提取出應(yīng)用的名字、應(yīng)用的版本號(hào)、應(yīng)用的描述等,與APK文件一起打包成為 自定義的構(gòu)件格式,最終上傳到構(gòu)件庫(kù)的數(shù)據(jù)庫(kù)中;2.構(gòu)件庫(kù)管理人員也可以使用構(gòu)件庫(kù)自帶的web界面工具查詢構(gòu)件庫(kù)中構(gòu)件的 fn息;B.手機(jī)端的服務(wù)器設(shè)置模塊在連接不上構(gòu)件請(qǐng)求服務(wù)器時(shí),會(huì)顯示連接不上不上 構(gòu)件請(qǐng)求服務(wù)器的警告,點(diǎn)擊可設(shè)置構(gòu)件請(qǐng)求服務(wù)器地址和端口 ;C.手機(jī)客戶端接收到手機(jī)用戶或者手機(jī)應(yīng)用程序打開(kāi)某種類型的文件的請(qǐng)求后, 通過(guò)socket連接從構(gòu)件請(qǐng)求服務(wù)器獲取支持該類型文件的構(gòu)件信息的請(qǐng)求;1.客戶端的文件類型解析模塊在本地查找是否安裝支持該類型的文件,如果找 到,則直接打開(kāi)文件即可;2.如果沒(méi)有找到,文件類型解析模塊向構(gòu)件請(qǐng)求服務(wù)器發(fā)出包含文件類型的請(qǐng) 求,具體如下i.該模塊首先獲取手機(jī)操作系統(tǒng)信息(And roid操作系統(tǒng)的版本號(hào))和用戶標(biāo)志 名;ii.該模塊與遠(yuǎn)程構(gòu)件請(qǐng)求服務(wù)器端建立一個(gè)連接,并將包含上述信息、要打開(kāi)的 文件類型和該請(qǐng)求的標(biāo)識(shí)封裝為一個(gè)包,發(fā)送給構(gòu)件請(qǐng)求服務(wù)器;iii.該模塊接下來(lái)等待遠(yuǎn)程構(gòu)件請(qǐng)求服務(wù)器的回應(yīng);3.構(gòu)件請(qǐng)求服務(wù)器的監(jiān)聽(tīng)模塊接收到客戶端請(qǐng)求支持特定類型構(gòu)件的請(qǐng)求后,創(chuàng)
建響應(yīng)線程調(diào)用構(gòu)件類型處理模塊,具體處理如下1.該模塊接收到某個(gè)手機(jī)客戶端的請(qǐng)求后,創(chuàng)建一個(gè)線程來(lái)處理這個(gè)請(qǐng)求,完成 創(chuàng)建線程的工作后該模塊繼續(xù)等待接收下一個(gè)請(qǐng)求,該線程調(diào)用構(gòu)件類型處理模塊;2.構(gòu)件類型處理模塊從收到的包中抽取出來(lái)用戶標(biāo)識(shí)進(jìn)行身份驗(yàn)證,并記錄到系 統(tǒng)日志中;3.構(gòu)件列表處理模塊從收到的包中抽取出來(lái)Android操作系統(tǒng)的版本號(hào)和要打 開(kāi)的文件類型作為參數(shù),從構(gòu)件庫(kù)中查詢適合該版本號(hào)和文件類型的所有構(gòu)件信息,每個(gè) 檢索到的構(gòu)件將構(gòu)件的名字、構(gòu)件的版本號(hào)和構(gòu)件在構(gòu)件庫(kù)中標(biāo)識(shí)UUID取出,查找到的構(gòu) 件數(shù)量加上所有的信息組成一個(gè)包,如果沒(méi)有查詢到則發(fā)送0 (沒(méi)有);4.將上述包中的信息發(fā)送回手機(jī)客戶端;D.手機(jī)客戶端根據(jù)接收到的可以打開(kāi)該類型文件的構(gòu)件信息由用戶進(jìn)行選擇,確 定后從構(gòu)件請(qǐng)求服務(wù)器獲取構(gòu)件并安裝;
1.手機(jī)端的文件類型解析模塊得到構(gòu)件請(qǐng)求服務(wù)器發(fā)回的包后,如果該包首個(gè)字 符為0,則打開(kāi)文件失敗,否則進(jìn)行操作i.如果有多于一個(gè)符合條件的構(gòu)件,則彈出窗口由用戶進(jìn)行選擇;ii.用戶選擇后,調(diào)用文件獲取模塊,將用戶標(biāo)識(shí)、選定構(gòu)件的UUID和請(qǐng)求標(biāo)識(shí)發(fā) 送到構(gòu)件請(qǐng)求服務(wù)器;2.用文件獲取模塊繼續(xù)等待構(gòu)件請(qǐng)求服務(wù)器響應(yīng);3.構(gòu)件請(qǐng)求服務(wù)器的監(jiān)聽(tīng)模塊接收到客戶端請(qǐng)求構(gòu)件的請(qǐng)求后,創(chuàng)建響應(yīng)線程調(diào) 用文件傳輸模塊,具體處理如下i.該模塊接收到某個(gè)手機(jī)客戶端的請(qǐng)求后,創(chuàng)建一個(gè)線程來(lái)處理這個(gè)請(qǐng)求,完成 創(chuàng)建線程的工作后該模塊繼續(xù)等待接收下一個(gè)請(qǐng)求,該線程調(diào)用文件傳輸模塊;ii.文件傳輸模塊從收到的包中抽取出來(lái)用戶標(biāo)識(shí)進(jìn)行身份驗(yàn)證,并記錄到系統(tǒng) 日志中;iii.文件傳輸模塊根據(jù)接收到的包中的構(gòu)件UUID,從構(gòu)件庫(kù)獲得構(gòu)件文件;iv.將該構(gòu)件文件發(fā)送回手機(jī)客戶端;4.手機(jī)端的文件獲取模塊得到構(gòu)件請(qǐng)求服務(wù)器發(fā)回的包后,將該構(gòu)件存儲(chǔ)在本地 緩存中,并調(diào)用構(gòu)件安裝模塊進(jìn)行構(gòu)件安裝i.文件獲取模塊將接收到的包存儲(chǔ)在手機(jī)SD卡上的臨時(shí)文件目錄;ii.向Android操作系統(tǒng)的PackageManager服務(wù)發(fā)出安裝應(yīng)用請(qǐng)求;iii. PackageManager服務(wù)安裝結(jié)束后,調(diào)用桌面刷新模塊;5.桌面刷新模塊更新構(gòu)件列表中構(gòu)件狀態(tài),刷新桌面圖標(biāo);E.在安裝結(jié)束后通知文件類型解析模塊重新進(jìn)行解析,并最終調(diào)用新安裝的構(gòu)件 打開(kāi)文件。本發(fā)明的還包括一個(gè)實(shí)現(xiàn)上述方法的系統(tǒng),如圖2所示。該系統(tǒng)由客戶端、構(gòu)件請(qǐng) 求服務(wù)器和構(gòu)件庫(kù)服務(wù)器組成,客戶端位于Framework層中的PackageManagerService (程 序安裝服務(wù)),包括了服務(wù)器設(shè)置模塊、文件類型解析模塊、文件獲取模塊、構(gòu)件安裝模塊和 桌面刷新模塊。主要完成解析用戶選擇文件的文件類型,與構(gòu)件請(qǐng)求服務(wù)器端通信,并獲取 文件。構(gòu)件請(qǐng)求服務(wù)器位于PC上,包括監(jiān)聽(tīng)模塊、構(gòu)件類型處理模塊和文件傳輸模塊;負(fù)責(zé) 響應(yīng)來(lái)自客戶端的請(qǐng)求并根據(jù)請(qǐng)求和構(gòu)件庫(kù)服務(wù)器通信,發(fā)送文件給客戶端。構(gòu)件庫(kù)服務(wù) 器負(fù)責(zé)構(gòu)件的生成、存儲(chǔ)、并負(fù)責(zé)響應(yīng)構(gòu)件請(qǐng)求服務(wù)器的請(qǐng)求。-服務(wù)器設(shè)置模塊用于設(shè)置構(gòu)件請(qǐng)求服務(wù)器的IP和端口;-文件類型解析模塊負(fù)責(zé)在本地查詢是否支持該類型的文件,如果不支持,向構(gòu) 件請(qǐng)求服務(wù)器發(fā)出請(qǐng)求;-文件獲取模塊根據(jù)用戶請(qǐng)求,從服務(wù)器獲取所需構(gòu)件文件;-構(gòu)件安裝模塊用來(lái)安裝下載完成后的構(gòu)件;-桌面刷新模塊安裝完成后,刷新手機(jī)桌面的程序列表和其它相關(guān)聯(lián)信息;-監(jiān)聽(tīng)模塊主要用于接收客戶端發(fā)來(lái)的請(qǐng)求;-構(gòu)件類型處理模塊從構(gòu)件庫(kù)服務(wù)器查詢支持該類型的構(gòu)件,如果支持該文件 類型,則組裝該構(gòu)件信息,發(fā)回客戶端;-文件傳輸模塊根據(jù)接到的請(qǐng)求,向客戶端發(fā)回所請(qǐng)求的文件;
-構(gòu)件庫(kù)服務(wù)器負(fù)責(zé)接受用戶上傳構(gòu)件,提供Web界面工具查詢,并相應(yīng)構(gòu)件請(qǐng) 求服務(wù)器請(qǐng)求。
圖1:本發(fā)明的方法流程2 本發(fā)明的系統(tǒng)結(jié)構(gòu)圖
具體實(shí)施例方式下面通過(guò)實(shí)例對(duì)本發(fā)明做進(jìn)一步的說(shuō)明,但是需要注意的是,公布實(shí)施例的目的 在于幫助進(jìn)一步理解本發(fā)明,但是本領(lǐng)域的技術(shù)人員可以理解在不脫離本發(fā)明及所附的 權(quán)利要求的精神和范圍內(nèi),各種替換和修改都是可能的。因此,本發(fā)明不應(yīng)局限于實(shí)施例所 公開(kāi)的內(nèi)容,本發(fā)明要求保護(hù)的范圍以權(quán)利要求書(shū)界定的范圍為準(zhǔn)。下面的實(shí)施方式使用HTC G2,Android操作系統(tǒng)版本為1. 6。A.根據(jù)訪問(wèn)的數(shù)據(jù)類型動(dòng)態(tài)加載構(gòu)件(以用戶打開(kāi)郵件附件中的Pdf文件為例, 構(gòu)件庫(kù)中用存在支持該類型文件的構(gòu)件,但是手機(jī)客戶端沒(méi)有安裝)1.向構(gòu)件庫(kù)上傳該應(yīng)用;2.用戶通過(guò)郵件客戶端打開(kāi)郵件(該郵件包含一個(gè)Pdf附件,且手機(jī)以前沒(méi)有安 裝支持Pdf的應(yīng)用程序);3.用戶點(diǎn)擊該附件后,會(huì)調(diào)用StartActivity方法,該方法中設(shè)置了文件類型 (minetype)以及文件路徑;4. StartActivity會(huì)調(diào)用系統(tǒng)中解析時(shí)根據(jù)文件類型調(diào)用PackageManager解析 該文件類型,因?yàn)橄到y(tǒng)沒(méi)有安裝支持Pdf的應(yīng)用,因此在該過(guò)程中會(huì)失敗;5.此時(shí)向構(gòu)件請(qǐng)求服務(wù)器發(fā)出請(qǐng)求gettp:pdf ;6.構(gòu)件請(qǐng)求服務(wù)器在構(gòu)件庫(kù)中查詢支持pdf格式的構(gòu)件,找到支持Android操作 系統(tǒng)的PDF閱讀器構(gòu)件,并發(fā)送回客戶端;7.接到構(gòu)件請(qǐng)求服務(wù)器傳送到的構(gòu)件之后就將其存儲(chǔ)在本地,且調(diào)用 PackageManager進(jìn)行自動(dòng)安裝(期間不需要用戶交互操作);8.完成之后使用新安裝的程序打開(kāi)該pdf文件。
權(quán)利要求
一種基于文件類型的Android構(gòu)件透明加載方法,其特征在于,包括以下步驟a)構(gòu)件庫(kù)服務(wù)器接收構(gòu)件上傳,上傳過(guò)程中構(gòu)件庫(kù)內(nèi)置的程序會(huì)將應(yīng)用打包成為自定義的構(gòu)件格式;b)手機(jī)端的服務(wù)器設(shè)置模塊在連接不上構(gòu)件請(qǐng)求服務(wù)器時(shí),會(huì)顯示連接不上不上構(gòu)件請(qǐng)求服務(wù)器的警告,點(diǎn)擊可設(shè)置構(gòu)件請(qǐng)求服務(wù)器地址和端口;c)手機(jī)客戶端接收到手機(jī)用戶或者手機(jī)應(yīng)用程序打開(kāi)某種類型的文件的請(qǐng)求后,通過(guò)socket連接從構(gòu)件請(qǐng)求服務(wù)器端獲取支持該類型文件的構(gòu)件信息;d)手機(jī)客戶端把接收到的可以打開(kāi)該類型文件的構(gòu)件信息交由用戶進(jìn)行選擇,確定后從構(gòu)件請(qǐng)求服務(wù)器獲取構(gòu)件并安裝;e)在安裝結(jié)束后通知文件類型解析模塊重新進(jìn)行解析,并最終調(diào)用新安裝的構(gòu)件打開(kāi)文件。
2.如權(quán)利要求1所述的方法,其特征在于,所述步驟A的具體步驟如下Al.構(gòu)件庫(kù)管理人員使用構(gòu)件庫(kù)自帶的web界面工具工具查詢構(gòu)件庫(kù)中構(gòu)件的信息; A2.構(gòu)件庫(kù)管理人員使用構(gòu)件庫(kù)自帶的web界面工具或者使用批量上傳工具將應(yīng)用程 序構(gòu)件APK文件上傳至構(gòu)件庫(kù);A3.構(gòu)件庫(kù)內(nèi)置的程序會(huì)從APK文件中提取出應(yīng)用的名字、應(yīng)用的版本號(hào)、應(yīng)用的描述 等,與APK文件一起打包成為自定義的構(gòu)件格式,保存到構(gòu)件庫(kù)的數(shù)據(jù)庫(kù)中。
3.如權(quán)利要求2所述的方法,其特征在于,所述步驟C的實(shí)現(xiàn)方法為Bi.客戶端的文件類型解析模塊在本地查找是否安裝支持該類型的文件,如果找到,則 直接打開(kāi)文件;B2.如果沒(méi)有找到,文件類型解析模塊向構(gòu)件請(qǐng)求服務(wù)器發(fā)出包含文件類型的請(qǐng)求,具 體如下i.首先獲取手機(jī)操作系統(tǒng)信息(Android操作系統(tǒng)的版本號(hào))和用戶標(biāo)志名; .該模塊與遠(yuǎn)程構(gòu)件請(qǐng)求服務(wù)器端建立一個(gè)socket連接,并將包含上述信息加上該 請(qǐng)求的標(biāo)識(shí)封裝為一個(gè)包,發(fā)送給構(gòu)件請(qǐng)求服務(wù)器端;iii.該模塊接下來(lái)等待遠(yuǎn)程構(gòu)件請(qǐng)求服務(wù)器端的回應(yīng);B3.構(gòu)件請(qǐng)求服務(wù)器的監(jiān)聽(tīng)模塊接收到客戶端請(qǐng)求支持特定類型構(gòu)件的請(qǐng)求后,創(chuàng)建 響應(yīng)線程調(diào)用構(gòu)件類型處理模塊,具體處理如下i.接收到某個(gè)手機(jī)客戶端的請(qǐng)求后,創(chuàng)建一個(gè)線程來(lái)處理這個(gè)請(qǐng)求,完成創(chuàng)建線程的 工作后該模塊繼續(xù)等待接收下一個(gè)請(qǐng)求,該線程調(diào)用構(gòu)件類型處理模塊; .構(gòu)件列表處理模塊從收到的包中抽取出來(lái)用戶標(biāo)識(shí)進(jìn)行身份驗(yàn)證,并記錄到系統(tǒng) 日志中;iii.構(gòu)件列表處理模塊從收到的包中抽取出來(lái)Android操作系統(tǒng)的版本號(hào)和要打開(kāi) 的文件類型作為參數(shù),從構(gòu)件庫(kù)中查詢適合該版本號(hào)和文件類型的所有構(gòu)件信息,每個(gè)檢 索到的構(gòu)件將構(gòu)件的名字、構(gòu)件的版本號(hào)和構(gòu)件在構(gòu)件庫(kù)中標(biāo)識(shí)UUID取出,查找到的構(gòu)件 數(shù)量加上所有的信息組成一個(gè)包,如果沒(méi)有查詢到則發(fā)送0 (沒(méi)有);iv.將上述包中的信息通過(guò)socket連接發(fā)送回手機(jī)客戶端;
4.如權(quán)利要求3所述的方法,其特征在于,所述步驟D的實(shí)現(xiàn)方法為Dl.手機(jī)端的文件類型解析模塊得到構(gòu)件請(qǐng)求服務(wù)器發(fā)回的包后,如果該包首個(gè)字符為0,則打開(kāi)文件失敗,否則進(jìn)行操作,具體步驟如下i.如果有多于一個(gè)符合條件的構(gòu)件,則彈出窗口由用戶進(jìn)行選擇; .用戶選擇后,調(diào)用文件獲取模塊,將用戶標(biāo)識(shí)、選定構(gòu)件的UUID和請(qǐng)求標(biāo)識(shí)發(fā)送到 構(gòu)件請(qǐng)求服務(wù)器;D2.用文件獲取模塊繼續(xù)等待構(gòu)件請(qǐng)求服務(wù)器響應(yīng);D3.構(gòu)件請(qǐng)求服務(wù)器的監(jiān)聽(tīng)模塊接收到客戶端請(qǐng)求構(gòu)件的請(qǐng)求后,創(chuàng)建響應(yīng)線程調(diào)用 文件傳輸模塊,具體處理如下i.該模塊接收到某個(gè)手機(jī)客戶端的請(qǐng)求后,創(chuàng)建一個(gè)線程來(lái)處理這個(gè)請(qǐng)求,完成創(chuàng)建 線程的工作后該模塊繼續(xù)等待接收下一個(gè)請(qǐng)求,該線程調(diào)用文件傳輸模塊; .文件傳輸模塊從收到的包中抽取出來(lái)用戶標(biāo)識(shí)進(jìn)行身份驗(yàn)證,并記錄到系統(tǒng)日志中;iii.文件傳輸模塊根據(jù)接收到的包中的構(gòu)件UUID,從構(gòu)件庫(kù)獲得構(gòu)件文件;iv.將該構(gòu)件文件發(fā)送回手機(jī)客戶端;;D4.手機(jī)端的文件獲取模塊得到構(gòu)件請(qǐng)求服務(wù)器發(fā)回的包后,將該構(gòu)件存儲(chǔ)在本地緩 存中,并調(diào)用構(gòu)件安裝模塊進(jìn)行構(gòu)件安裝,具體處理如下i.文件獲取模塊將接收到的包存儲(chǔ)在手機(jī)SD卡上的臨時(shí)文件目錄; .向Android操作系統(tǒng)的PackageManager服務(wù)發(fā)出安裝應(yīng)用請(qǐng)求; iii. PackageManager服務(wù)安裝結(jié)束后,調(diào)用桌面刷新模塊;
5.如權(quán)利要求4所述的系統(tǒng),其特征在于,該系統(tǒng)包括以下幾個(gè)模塊 -服務(wù)器設(shè)置模塊用于設(shè)置構(gòu)件請(qǐng)求服務(wù)器的IP和端口 ;-文件類型解析模塊負(fù)責(zé)在本地查詢是否支持該類型的文件,如果不支持,向構(gòu)件請(qǐng) 求服務(wù)器發(fā)出請(qǐng)求;-文件獲取模塊根據(jù)用戶請(qǐng)求,從服務(wù)器獲取所需構(gòu)件文件; -構(gòu)件安裝模塊用來(lái)安裝下載完成后的構(gòu)件;-桌面刷新模塊安裝完成后,刷新手機(jī)桌面的程序列表和其它相關(guān)聯(lián)信息; -監(jiān)聽(tīng)模塊主要用于接收客戶端發(fā)來(lái)的請(qǐng)求;-構(gòu)件類型處理模塊從構(gòu)件庫(kù)服務(wù)器查詢支持該類型的構(gòu)件,如果支持該文件類型, 則組裝該構(gòu)件信息,發(fā)回客戶端;-文件傳輸模塊根據(jù)接到的請(qǐng)求,向客戶端發(fā)回所請(qǐng)求的文件; -構(gòu)件庫(kù)服務(wù)器負(fù)責(zé)接受用戶上傳構(gòu)件,提供Web界面工具查詢,并相應(yīng)構(gòu)件請(qǐng)求服 務(wù)器請(qǐng)求。各模塊之間的關(guān)系如下1)客戶端位于Framework層中的PackageManagerService(程序安裝服務(wù)),包括了服 務(wù)器設(shè)置模塊、文件類型解析模塊、文件獲取模塊、構(gòu)件安裝模塊和桌面刷新模塊;主要完 成解析用戶選擇文件的文件類型,與構(gòu)件請(qǐng)求服務(wù)器端通信,并獲取文件;2)構(gòu)件請(qǐng)求服務(wù)器位于PC上,包括監(jiān)聽(tīng)模塊、構(gòu)件類型處理模塊和文件傳輸模塊;負(fù) 責(zé)響應(yīng)來(lái)自客戶端的請(qǐng)求并根據(jù)請(qǐng)求和構(gòu)件庫(kù)服務(wù)器通信,發(fā)送文件給客戶端;3)構(gòu)件庫(kù)服務(wù)器負(fù)責(zé)構(gòu)件的生成、存儲(chǔ)、并負(fù)責(zé)響應(yīng)構(gòu)件請(qǐng)求服務(wù)器的請(qǐng)求。全文摘要
本發(fā)明公布了一種基于文件類型的Android構(gòu)件透明加載方法,屬于移動(dòng)計(jì)算領(lǐng)域。本發(fā)明提出的方法主要包括以下步驟A.通過(guò)構(gòu)件入庫(kù)工具向構(gòu)件庫(kù)上傳構(gòu)件;B.手機(jī)客戶端設(shè)置構(gòu)件庫(kù)服務(wù)器地址和端口;C.手機(jī)客戶端接收到手機(jī)用戶或者手機(jī)應(yīng)用程序打開(kāi)某種類型的文件的請(qǐng)求后,從構(gòu)件請(qǐng)求服務(wù)器端獲取支持該類型文件的構(gòu)件信息;D.手機(jī)客戶端把接收到的構(gòu)件信息交由用戶進(jìn)行選擇,確定后從構(gòu)件請(qǐng)求服務(wù)器獲取構(gòu)件并安裝;E.在安裝結(jié)束后通知文件類型解析模塊重新進(jìn)行解析,并最終調(diào)用新安裝的構(gòu)件打開(kāi)文件。本發(fā)明將用戶從繁瑣的查找支持某種類型的應(yīng)用名稱、下載應(yīng)用、安裝的過(guò)程中解脫出來(lái),有效提高用戶的體驗(yàn)。
文檔編號(hào)H04L29/08GK101924798SQ20101027495
公開(kāi)日2010年12月22日 申請(qǐng)日期2010年9月8日 優(yōu)先權(quán)日2010年9月8日
發(fā)明者孫劍, 趙霞, 郭耀, 陳向群 申請(qǐng)人:北京大學(xué)