国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種應(yīng)用程序的功能組件界面資源的加載方法及系統(tǒng)的制作方法

      文檔序號(hào):6629526閱讀:199來源:國知局
      一種應(yīng)用程序的功能組件界面資源的加載方法及系統(tǒng)的制作方法
      【專利摘要】本發(fā)明的實(shí)施例公開了一種應(yīng)用程序的功能組件界面資源的加載方法及系統(tǒng),有助于提高應(yīng)用程序的功能組件的開發(fā)效率。所述方法包括:在加載應(yīng)用程序的功能組件時(shí),獲取系統(tǒng)中的活動(dòng)類中的獲取資源的方法;通過所述獲取資源的方法獲取一新創(chuàng)建的資源實(shí)例,其中,所述資源實(shí)例指向所述應(yīng)用程序的功能組件的界面資源存放路徑;根據(jù)所述資源實(shí)例所指向的界面資源存放路徑,獲取所述功能組件的界面資源;對獲取的所述功能組件的界面資源進(jìn)行解析和加載。本發(fā)明適用于應(yīng)用程序的功能組件界面資源的加載【技術(shù)領(lǐng)域】。
      【專利說明】一種應(yīng)用程序的功能組件界面資源的加載方法及系統(tǒng)

      【技術(shù)領(lǐng)域】
      [0001] 本發(fā)明涉及應(yīng)用程序功能組件的加載【技術(shù)領(lǐng)域】,尤其涉及一種應(yīng)用程序的功能組 件界面資源的加載方法及系統(tǒng)。

      【背景技術(shù)】
      [0002] 功能組件是指,在應(yīng)用程序中用于實(shí)現(xiàn)某個(gè)功能的代碼集合,功能組件中也可含 有用于界面顯示的界面資源。目前,很多應(yīng)用程序開發(fā)者或者開發(fā)商,在發(fā)布一款應(yīng)用程序 后,很難再動(dòng)態(tài)的改變用戶手機(jī)上的應(yīng)用程序的某些功能。通常,他們只能重新開發(fā)出一個(gè) 新的應(yīng)用程序,然后通過升級(jí)方式來改變用戶手機(jī)上相應(yīng)的應(yīng)用程序的某些功能,但是有 很大一部分用戶不愿意因下載這個(gè)新的應(yīng)用程序或升級(jí)安裝打斷自己對現(xiàn)有應(yīng)用程序的 使用,從而導(dǎo)致這部分用戶很難使用到開發(fā)者或開發(fā)商發(fā)布的新功能。如果舊的應(yīng)用程序 的相關(guān)功能上在應(yīng)用程序運(yùn)行的過程中產(chǎn)生崩潰也很難對所有的用戶都進(jìn)行修復(fù)。
      [0003] 現(xiàn)有技術(shù)中,也有部分應(yīng)用程序開發(fā)者或者開發(fā)商,通過將某個(gè)功能組件獨(dú)立制 作成一個(gè)jar (jar是一種與平臺(tái)無關(guān)的文件格式,它允許將許多文件組合成一個(gè)壓縮文 件)包,并且在jar包內(nèi)實(shí)現(xiàn)一套管理界面資源的框架,通過這套框架去讀取界面資源。但 是這種技術(shù)中,編寫界面代碼的時(shí)候極其復(fù)雜繁瑣,導(dǎo)致開發(fā)界面效率比較低,開發(fā)代價(jià)較 大。


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

      [0004] 有鑒于此,本發(fā)明實(shí)施例提供一種應(yīng)用程序的功能組件界面資源的加載方法及系 統(tǒng),有助于提高應(yīng)用程序的功能組件的開發(fā)效率。
      [0005] -方面,本發(fā)明實(shí)施例提供一種應(yīng)用程序的功能組件界面資源的加載方法,包 括:
      [0006] 在加載應(yīng)用程序的功能組件時(shí),獲取系統(tǒng)中的活動(dòng)類中的獲取資源的方法;
      [0007] 通過所述獲取資源的方法獲取一新創(chuàng)建的資源實(shí)例,其中,所述資源實(shí)例指向所 述應(yīng)用程序的功能組件的界面資源存放路徑;
      [0008] 根據(jù)所述資源實(shí)例所指向的界面資源存放路徑,獲取所述功能組件的界面資源;
      [0009] 對獲取的所述功能組件的界面資源進(jìn)行解析和加載。
      [0010] 可選地,所述對獲取的所述功能組件的界面資源進(jìn)行解析和加載包括:對獲取的 所述功能組件的界面資源的布局文件進(jìn)行解析,確定所述功能組件的界面資源中的是否含 有自定義控件;若確定所述功能組件的界面資源中的含有自定義控件,則獲取所述活動(dòng)類 中的獲取類加載器的方法;通過所述獲取類加載器的方法獲取一指向所述功能組件的類加 載器實(shí)例,其中,所述獲取的類加載器實(shí)例的父類加載器為所述應(yīng)用程序的類加載器;通過 所述獲取的類加載器實(shí)例查找所述自定義控件的代碼;對所述查找到的自定義控件的代碼 進(jìn)行加載。
      [0011] 可選地,在通過所述獲取類加載器的方法獲取一個(gè)類加載器實(shí)例之后,還包括:通 過所述獲取的類加載器實(shí)例查找系統(tǒng)控件的代碼。
      [0012] 可選地,在通過所述獲取資源的方法獲取一新創(chuàng)建的資源實(shí)例之前,包括:獲取所 述功能組件的安裝包;根據(jù)所述功能組件的安裝包對所述應(yīng)用程序進(jìn)行更新。
      [0013] 相對于需要在功能組件的安裝包里實(shí)現(xiàn)一套管理界面資源的框架,通過這套框架 去讀取界面資源的現(xiàn)有技術(shù),本發(fā)明所述的應(yīng)用程序的功能組件界面資源的加載方法中, 系統(tǒng)能夠通過獲取資源的方法獲取一新創(chuàng)建的資源實(shí)例,所述新創(chuàng)建的資源實(shí)例能夠指向 所述功能組件當(dāng)前的資源存放路徑,這樣,根據(jù)新創(chuàng)建的資源實(shí)例指向功能組件的界面資 源存放路徑,即能夠加載功能組件的界面資源,從而,使開發(fā)人員在編寫功能組件代碼的時(shí) 候不需要再在功能組件中寫一套管理界面資源的框架,從而,提高了應(yīng)用程序的功能組件 的開發(fā)效率。
      [0014] 另一方面,本發(fā)明實(shí)施例提供一種應(yīng)用程序的功能組件界面資源的加載系統(tǒng),包 括:
      [0015] 第一獲取單元,用于在加載應(yīng)用程序的功能組件時(shí),獲取系統(tǒng)中的活動(dòng)類中的獲 取資源的方法;
      [0016] 第二獲取單元,用于通過所述獲取資源的方法獲取一新創(chuàng)建的資源實(shí)例,其中,所 述資源實(shí)例指向所述應(yīng)用程序的功能組件的界面資源存放路徑;
      [0017] 第三獲取單元,用于根據(jù)所述資源實(shí)例所指向的界面資源存放路徑,獲取所述功 能組件的界面資源;
      [0018] 加載單元,用于對獲取的所述功能組件的界面資源進(jìn)行解析和加載。
      [0019] 可選地,所述加載單元包括:確定模塊,用于對獲取的所述功能組件的界面資源的 布局文件進(jìn)行解析,確定所述功能組件的界面資源中的是否含有自定義控件;第一獲取模 塊,用于當(dāng)確定所述功能組件的界面資源中的含有自定義控件時(shí),獲取所述活動(dòng)類中的獲 取類加載器的方法;第二獲取模塊,用于通過所述獲取類加載器的方法獲取一指向所述功 能組件的類加載器實(shí)例,其中,所述獲取的類加載器實(shí)例的父類加載器為所述應(yīng)用程序的 類加載器;查找模塊,用于通過所述獲取的類加載器實(shí)例查找所述自定義控件的代碼;力口 載模塊,用于對所述查找到的自定義控件的代碼進(jìn)行加載。
      [0020] 可選地,所述查找模塊,還用于通過所述獲取的類加載器實(shí)例查找系統(tǒng)控件的代 碼。
      [0021] 可選地,所述的應(yīng)用程序的功能組件界面資源的加載系統(tǒng),還包括:第四獲取單 元,用于獲取所述功能組件的安裝包;更新單元,用于根據(jù)所述功能組件的安裝包對所述應(yīng) 用程序進(jìn)行更新。
      [0022] 相對于需要在功能組件的安裝包里實(shí)現(xiàn)一套管理界面資源的框架,通過這套框架 去讀取界面資源的現(xiàn)有技術(shù),本發(fā)明所述的應(yīng)用程序的功能組件界面資源的加載系統(tǒng)中, 系統(tǒng)能夠通過獲取資源的方法獲取一新創(chuàng)建的資源實(shí)例,所述新創(chuàng)建的資源實(shí)例能夠指向 所述功能組件當(dāng)前的資源存放路徑,這樣,根據(jù)新創(chuàng)建的資源實(shí)例指向功能組件的界面資 源存放路徑,即能夠加載功能組件的界面資源,從而,使開發(fā)人員在編寫功能組件代碼的時(shí) 候不需要再在功能組件中寫一套管理界面資源的框架,從而,提高了應(yīng)用程序的功能組件 的開發(fā)效率。

      【專利附圖】

      【附圖說明】
      [0023] 為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以 根據(jù)這些附圖獲得其它的附圖。
      [0024] 圖1為本發(fā)明的應(yīng)用程序的功能組件界面資源的加載方法一實(shí)施例的流程示意 圖;
      [0025] 圖2為本發(fā)明的應(yīng)用程序的功能組件界面資源的加載系統(tǒng)一實(shí)施例的結(jié)構(gòu)示意 圖;
      [0026] 圖3為本發(fā)明的應(yīng)用程序的功能組件界面資源的加載系統(tǒng)另一實(shí)施例的結(jié)構(gòu)示 意圖。

      【具體實(shí)施方式】
      [0027] 下面結(jié)合附圖對本發(fā)明實(shí)施例一種應(yīng)用程序的功能組件界面資源的加載方法及 系統(tǒng)進(jìn)行詳細(xì)描述。
      [0028] 應(yīng)當(dāng)明確,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;?于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其 它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
      [0029] 參看圖1所示,本發(fā)明一種應(yīng)用程序的功能組件界面資源的加載方法的具體實(shí)施 方式,包括:
      [0030] S1、在加載應(yīng)用程序的功能組件時(shí),獲取系統(tǒng)中的活動(dòng)類(Activity類)中的獲取 資源的方法(getResourcesO方法);
      [0031] 本發(fā)明實(shí)施例中,所述獲取的getResourcesO方法是改寫后的getResourcesO 方法,該改寫后的getResourcesO方法能夠修改通過其獲取的資源實(shí)例所指向的功能組 件的資源存放路徑,該改寫后的getResourcesO方法為預(yù)先設(shè)置的,每次需要使用的時(shí)候 可以直接獲取。
      [0032] 需要說明的是,所述Activity類,例如,安卓系統(tǒng)中的Activity類是顯示頁面的 類,包括許多成員,例如getResourcesO方法。
      [0033] Activity是Android組件中最基本也是最為常見用的四大組件(Activity, Service 服務(wù),Content Provider 內(nèi)容提供者,BroadcastReceiver 廣播接收器)之一。
      [0034] Activity是一個(gè)應(yīng)用程序組件,提供一個(gè)屏幕,用戶可以用來交互為了完成某項(xiàng) 任務(wù)。Activity中所有操作都與用戶密切相關(guān),是一個(gè)負(fù)責(zé)與用戶交互的組件,可以通 過setContentView(View)來顯示指定控件。在一個(gè)android應(yīng)用中,一個(gè)Activity通常 就是一個(gè)單獨(dú)的屏幕,它上面可以顯示一些控件也可以監(jiān)聽并處理用戶的事件做出響應(yīng)。 Activity之間通過Intent進(jìn)行通信。
      [0035] S2、通過所述getResources ()方法獲取一新創(chuàng)建的資源實(shí)例(Resources實(shí)例), 其中,所述Resources實(shí)例指向所述應(yīng)用程序的功能組件的界面資源存放路徑;
      [0036] S3、根據(jù)所述Resources實(shí)例所指向的界面資源存放路徑,獲取所述功能組件的 界面資源;
      [0037] S4、對獲取的所述功能組件的界面資源進(jìn)行解析和加載。
      [0038] 相對于需要在功能組件的安裝包里實(shí)現(xiàn)一套管理界面資源的框架,通過這套框 架去讀取界面資源的現(xiàn)有技術(shù),本發(fā)明所述的應(yīng)用程序的功能組件界面資源的加載方 法中,系統(tǒng)能夠通過getResourcesO方法獲取一新創(chuàng)建的Resources實(shí)例,所述新創(chuàng) 建的Resources實(shí)例能夠指向所述功能組件當(dāng)前的資源存放路徑,這樣,根據(jù)新創(chuàng)建的 Resources實(shí)例指向功能組件的界面資源存放路徑,即能夠加載功能組件的界面資源,從 而,使開發(fā)人員在編寫功能組件代碼的時(shí)候不需要再在功能組件中寫一套管理界面資源的 框架,從而,提高了應(yīng)用程序的功能組件的開發(fā)效率。另外,也能夠加快功能組件的發(fā)布。 [0039] 需要說明的是,由于純邏輯類的功能組件,即不需要顯示界面的功能組件不需要 加載界面資源,可以直接通過Java (Java是一種可以撰寫跨平臺(tái)應(yīng)用軟件的面向?qū)ο蟮某?序設(shè)計(jì)語言)動(dòng)態(tài)加載技術(shù)進(jìn)行加載。
      [0040] 在前述應(yīng)用程序的功能組件界面資源的加載方法的【具體實(shí)施方式】中,可選地,所 述對獲取的所述功能組件的界面資源進(jìn)行解析和加載(S4)包括:對獲取的所述功能組件 的界面資源的布局文件進(jìn)行解析,確定所述功能組件的界面資源中的是否含有自定義控 件;若確定所述功能組件的界面資源中的含有自定義控件,則獲取所述Activity類中的獲 取類加載器的方法(getClassLoader〇方法);通過所述獲取類加載器的方法獲取一指向 所述功能組件的類加載器實(shí)例(ClassLoader實(shí)例),其中,所述獲取的ClassLoader實(shí)例的 父類加載器(父ClassLoade)為所述應(yīng)用程序的類加載器;通過所述獲取的ClassLoader 實(shí)例查找所述自定義控件的代碼;對所述查找到的自定義控件的代碼進(jìn)行加載。
      [0041] 可選地,在通過所述getClassLoader ()方法獲取一個(gè)ClassLoader實(shí)例之后,還 包括:通過所述獲取的ClassLoader實(shí)例查找系統(tǒng)控件的代碼。
      [0042] 本發(fā)明實(shí)施例中,所述獲取的getClassLoaderO方法是改寫后的 getClassLoader ()方法,通過該改寫后的getClassLoader ()方法能夠返回一、以應(yīng)用程序 的類加載器為父ClassLoade的ClassLoader實(shí)例,該改寫后的getClassLoaderO方法可 以為預(yù)先設(shè)置的,每次需要使用的時(shí)候直接獲取該重寫的getClassLoaderO方法。
      [0043] 本發(fā)明實(shí)施例中,由于應(yīng)用程序的類加載器已經(jīng)加載過系統(tǒng)代碼,因此,將所述應(yīng) 用程序的類加載器作為所述獲取的ClassLoader實(shí)例的父ClassLoade,能夠使指向所述功 能組件的所述獲取的ClassLoader實(shí)例通過所述父ClassLoade成功地查找到所述系統(tǒng)代 碼;相同地,也能夠成功地查找到該應(yīng)用程序中框架的代碼,有助于成功地構(gòu)建該功能組件 與其它功能組件之間的通信,從而,有助于優(yōu)化功能組件界面的操作。
      [0044] 在前述應(yīng)用程序的功能組件界面資源的加載方法的【具體實(shí)施方式】中,可選地,在 通過所述getResourcesO方法獲取一新創(chuàng)建的Resources實(shí)例之前,包括:獲取所述功能 組件的安裝包;根據(jù)所述功能組件的安裝包對所述應(yīng)用程序進(jìn)行更新。
      [0045] 本發(fā)明實(shí)施例中,預(yù)先從應(yīng)用程序中分離出不同的功能模塊制作成功能組件的安 裝包,使不同功能模塊獨(dú)立成相應(yīng)的功能組件,從而,隔離功能模塊之間的通信,即斷開功 能模塊與功能模塊之間的相互耦合關(guān)系,能夠有效幫助管理者實(shí)行扁平化管理。
      [0046] 可以理解的是,所述功能組件的安裝包的存放路徑就是所述Resources實(shí)例所指 向的所述功能組件當(dāng)前的資源存放路徑。
      [0047] 本發(fā)明實(shí)施例中,優(yōu)選地,所述根據(jù)所述組件的安裝包對所述應(yīng)用程序進(jìn)行更新 包括:根據(jù)所述功能組件的安裝包對所述應(yīng)用程序的功能進(jìn)行升級(jí);和/或根據(jù)所述功能 組件的安裝包對所述應(yīng)用程序的漏洞進(jìn)行補(bǔ)救。
      [0048] 本發(fā)明實(shí)施例中,當(dāng)所述功能組件的加載方法實(shí)施后,當(dāng)開發(fā)者或者開發(fā)商需要 更改應(yīng)用程序中某個(gè)功能的時(shí)候,只需要開發(fā)出具有相關(guān)功能的功能組件并發(fā)布升級(jí)即 可,用戶在使用該應(yīng)用程序的時(shí)候會(huì)自動(dòng)加載最新的功能組件以完成相關(guān)功能的升級(jí),從 而,用戶能夠快速地體驗(yàn)到產(chǎn)品在相關(guān)功能上的改進(jìn)。
      [0049] 另外,若開發(fā)者或者開發(fā)商發(fā)現(xiàn)應(yīng)用程序的某個(gè)功能存在嚴(yán)重的設(shè)計(jì)缺陷、安全 風(fēng)險(xiǎn)、漏洞等,也可以通過發(fā)布相應(yīng)的功能組件來解決上述問題。
      [0050] 參看圖2所示,本發(fā)明一種應(yīng)用程序的功能組件界面資源的加載系統(tǒng)的具體實(shí)施 方式,包括:
      [0051] 第一獲取單元1,用于在加載應(yīng)用程序的功能組件時(shí),獲取系統(tǒng)中的活動(dòng)類 (Activity類)中的獲取資源的方法(getResourcesO方法);
      [0052] 本發(fā)明實(shí)施例中,所述獲取的getResources ()方法是可以基于現(xiàn)有的 getResourcesO方法進(jìn)行改寫獲得。以便使得通過該改寫的getResourcesO方法能夠獲 取一新創(chuàng)建的資源實(shí)例(Resources實(shí)例),所述Resources實(shí)例指向所述應(yīng)用程序的功能 組件的界面資源存放路徑。該改寫后的getResourcesO方法可為預(yù)先設(shè)置的,每次需要使 用的時(shí)候可以直接獲取。
      [0053] 需要說明的是,所述Activity類,例如,安卓系統(tǒng)中的Activity類是顯示頁面的 類,包括許多成員,例如getResourcesO方法。
      [0054] Activity是Android組件中最基本也是最為常見用的四大組件(Activity, Service 服務(wù),Content Provider 內(nèi)容提供者,BroadcastReceiver 廣播接收器)之一。
      [0055] Activity是一個(gè)應(yīng)用程序組件,提供一個(gè)屏幕,用戶可以用來交互為了完成某項(xiàng) 任務(wù)。Activity中所有操作都與用戶密切相關(guān),是一個(gè)負(fù)責(zé)與用戶交互的組件,可以通 過setContentView(View)來顯示指定控件。在一個(gè)android應(yīng)用中,一個(gè)Activity通常 就是一個(gè)單獨(dú)的屏幕,它上面可以顯示一些控件也可以監(jiān)聽并處理用戶的事件做出響應(yīng)。 Activity之間通過Intent進(jìn)行通信。
      [0056] 第二獲取單元2,用于通過所述getResourcesO方法獲取一新創(chuàng)建的Resources 實(shí)例,其中,所述Resources實(shí)例指向所述應(yīng)用程序的功能組件的界面資源存放路徑;
      [0057] 第三獲取單元3,用于根據(jù)所述Resources實(shí)例所指向的界面資源存放路徑,獲取 所述功能組件的界面資源;
      [0058] 加載單元4,用于對獲取的所述功能組件的界面資源進(jìn)行解析和加載。
      [0059] 相對于需要在功能組件的安裝包里實(shí)現(xiàn)一套管理界面資源的框架,通過這套框 架去讀取界面資源的現(xiàn)有技術(shù),本發(fā)明所述的應(yīng)用程序的功能組件界面資源的加載系 統(tǒng)中,系統(tǒng)能夠通過getResourcesO方法獲取一新創(chuàng)建的Resources實(shí)例,所述新創(chuàng) 建的Resources實(shí)例能夠指向所述功能組件當(dāng)前的資源存放路徑,這樣,根據(jù)新創(chuàng)建的 Resources實(shí)例指向功能組件的界面資源存放路徑,即能夠加載功能組件的界面資源,從 而,使開發(fā)人員在編寫功能組件代碼的時(shí)候不需要再在功能組件中寫一套管理界面資源的 框架,從而,提高了應(yīng)用程序的功能組件的開發(fā)效率。另外,也能夠加快功能組件的發(fā)布。
      [0060] 需要說明的是,由于純邏輯類的功能組件,即不需要顯示界面的功能組件不需要 加載界面資源,可以直接通過Java (Java是一種可以撰寫跨平臺(tái)應(yīng)用軟件的面向?qū)ο蟮某?序設(shè)計(jì)語言)動(dòng)態(tài)加載技術(shù)進(jìn)行加載。
      [0061] 在前述應(yīng)用程序的功能組件界面資源的加載系統(tǒng)的【具體實(shí)施方式】中,可選地, 所述加載單元4包括:確定模塊41,用于對獲取的所述功能組件的界面資源的布局文件 進(jìn)行解析,確定所述功能組件的界面資源中的是否含有自定義控件;第一獲取模塊42, 用于當(dāng)確定所述功能組件的界面資源中的含有自定義控件時(shí),獲取所述Activity類中 的獲取類加載器的方法(getClassLoaderO方法);第二獲取模塊43,用于通過所述 getClassLoaderO方法獲取一指向所述功能組件的類加載器實(shí)例(ClassLoader實(shí)例),其 中,所述獲取的ClassLoader實(shí)例的父類加載器(父ClassLoade)為所述應(yīng)用程序的類加 載器;查找模塊44,用于通過所述獲取的ClassLoader實(shí)例查找所述自定義控件的代碼;力口 載模塊45,用于對所述查找到的自定義控件的代碼進(jìn)行加載。
      [0062] 可選地,所述查找模塊44,還用于通過所述獲取的ClassLoader實(shí)例查找系統(tǒng)控 件的代碼。
      [0063] 本發(fā)明實(shí)施例中,所述獲取的getResources ()方法是可以基于現(xiàn)有的 getResourcesO方法進(jìn)行改寫獲得。以便使得通過該改寫的getResourcesO方法能夠獲 取一新創(chuàng)建的Resources實(shí)例,所述Resources實(shí)例指向所述應(yīng)用程序的功能組件的界面 資源存放路徑。該改寫后的getResourcesO方法可為預(yù)先設(shè)置的,每次需要使用的時(shí)候可 以直接獲取。
      [0064] 本發(fā)明實(shí)施例中,由于應(yīng)用程序的類加載器已經(jīng)加載過系統(tǒng)代碼,因此,將所述應(yīng) 用程序的類加載器作為所述獲取的ClassLoader實(shí)例的父ClassLoade,能夠使指向所述功 能組件的所述獲取的ClassLoader實(shí)例通過所述父ClassLoade成功地查找到所述系統(tǒng)代 碼;相同地,也能夠成功地查找到該應(yīng)用程序中框架的代碼,有助于成功地構(gòu)建該功能組件 與其它功能組件之間的通信,從而,有助于優(yōu)化功能組件界面的操作。
      [0065] 在前述應(yīng)用程序的功能組件界面資源的加載系統(tǒng)的【具體實(shí)施方式】中,可選地,所 述應(yīng)用程序的功能組件界面資源的加載系統(tǒng)還包括:第三獲取單元5,用于獲取所述功能 組件的安裝包;更新單元6,用于根據(jù)所述功能組件的安裝包對所述應(yīng)用程序進(jìn)行更新。 [0066] 本發(fā)明實(shí)施例中,預(yù)先從應(yīng)用程序中分離出不同的功能模塊制作成功能組件的安 裝包,使不同功能模塊獨(dú)立成相應(yīng)的功能組件,從而,隔離功能模塊之間的通信,即斷開功 能模塊與功能模塊之間的相互耦合關(guān)系,能夠有效幫助管理者實(shí)行扁平化管理。
      [0067] 可以理解的是,所述功能組件的安裝包的存放路徑就是所述Resources實(shí)例所指 向的所述功能組件當(dāng)前的資源存放路徑。
      [0068] 本發(fā)明實(shí)施例中,優(yōu)選地,所述根據(jù)所述組件的安裝包對所述應(yīng)用程序進(jìn)行更新 包括:根據(jù)所述功能組件的安裝包對所述應(yīng)用程序的功能進(jìn)行升級(jí);和/或根據(jù)所述功能 組件的安裝包對所述應(yīng)用程序的漏洞進(jìn)行補(bǔ)救。
      [0069] 本發(fā)明實(shí)施例中,當(dāng)所述功能組件的加載方法實(shí)施后,當(dāng)開發(fā)者或者開發(fā)商需要 更改應(yīng)用程序中某個(gè)功能的時(shí)候,只需要開發(fā)出具有相關(guān)功能的功能組件并發(fā)布升級(jí)即 可,用戶在使用該應(yīng)用程序的時(shí)候會(huì)自動(dòng)加載最新的功能組件以完成相關(guān)功能的升級(jí),從 而,用戶能夠快速地體驗(yàn)到產(chǎn)品在相關(guān)功能上的改進(jìn)。
      [0070] 另外,若開發(fā)者或者開發(fā)商發(fā)現(xiàn)應(yīng)用程序的某個(gè)功能存在嚴(yán)重的設(shè)計(jì)缺陷、安全 風(fēng)險(xiǎn)、漏洞等,也可以通過發(fā)布相應(yīng)的功能組件來解決上述問題。
      [0071] 本發(fā)明各應(yīng)用程序的功能組件界面資源的加載方法及系統(tǒng)的實(shí)施例中,所述系統(tǒng) 可以為安卓系統(tǒng)。
      [0072] 本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以 通過計(jì)算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì) 中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁 碟、光盤、只讀存儲(chǔ)記憶體(Read-Only Memory, ROM)或隨機(jī)存儲(chǔ)記憶體(Random Access Memory,RAM)等。
      [0073] 以上所述,僅為本發(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)用程序的功能組件界面資源的加載方法,其特征在于,包括: 在加載應(yīng)用程序的功能組件時(shí),獲取系統(tǒng)中的活動(dòng)類中的獲取資源的方法; 通過所述獲取資源的方法獲取一新創(chuàng)建的資源實(shí)例,其中,所述資源實(shí)例指向所述應(yīng) 用程序的功能組件的界面資源存放路徑; 根據(jù)所述資源實(shí)例所指向的界面資源存放路徑,獲取所述功能組件的界面資源; 對獲取的所述功能組件的界面資源進(jìn)行解析和加載。
      2. 根據(jù)權(quán)利要求1所述的應(yīng)用程序的功能組件界面資源的加載方法,其特征在于,所 述對獲取的所述功能組件的界面資源進(jìn)行解析和加載包括: 對獲取的所述功能組件的界面資源的布局文件進(jìn)行解析,確定所述功能組件的界面資 源中的是否含有自定義控件; 若確定所述功能組件的界面資源中的含有自定義控件,則獲取所述活動(dòng)類中的獲取類 加載器的方法; 通過所述獲取類加載器的方法獲取一指向所述功能組件的類加載器實(shí)例,其中,所述 獲取的類加載器實(shí)例的父類加載器為所述應(yīng)用程序的類加載器; 通過所述獲取的類加載器實(shí)例查找所述自定義控件的代碼; 對所述查找到的自定義控件的代碼進(jìn)行加載。
      3. 根據(jù)權(quán)利要求2所述的應(yīng)用程序的功能組件界面資源的加載方法,其特征在于,在 通過所述獲取類加載器的方法獲取一個(gè)類加載器實(shí)例之后,還包括: 通過所述獲取的類加載器實(shí)例查找系統(tǒng)控件的代碼。
      4. 根據(jù)權(quán)利要求1所述的應(yīng)用程序的功能組件界面資源的加載方法,其特征在于,在 通過所述獲取資源的方法獲取一新創(chuàng)建的資源實(shí)例之前,包括: 獲取所述功能組件的安裝包; 根據(jù)所述功能組件的安裝包對所述應(yīng)用程序進(jìn)行更新。
      5. -種應(yīng)用程序的功能組件界面資源的加載系統(tǒng),其特征在于,包括: 第一獲取單元,用于在加載應(yīng)用程序的功能組件時(shí),獲取系統(tǒng)中的活動(dòng)類中的獲取資 源的方法; 第二獲取單元,用于通過所述獲取資源的方法獲取一新創(chuàng)建的資源實(shí)例,其中,所述資 源實(shí)例指向所述應(yīng)用程序的功能組件的界面資源存放路徑; 第三獲取單元,用于根據(jù)所述資源實(shí)例所指向的界面資源存放路徑,獲取所述功能組 件的界面資源; 加載單元,用于對獲取的所述功能組件的界面資源進(jìn)行解析和加載。
      6. 根據(jù)權(quán)利要求5所述的應(yīng)用程序的功能組件界面資源的加載系統(tǒng),其特征在于,所 述加載單元包括: 確定模塊,用于對獲取的所述功能組件的界面資源的布局文件進(jìn)行解析,確定所述功 能組件的界面資源中的是否含有自定義控件; 第一獲取模塊,用于當(dāng)確定所述功能組件的界面資源中的含有自定義控件時(shí),獲取所 述活動(dòng)類中的獲取類加載器的方法; 第二獲取模塊,用于通過所述獲取類加載器的方法獲取一指向所述功能組件的類加載 器實(shí)例,其中,所述獲取的類加載器實(shí)例的父類加載器為所述應(yīng)用程序的類加載器; 查找模塊,用于通過所述獲取的類加載器實(shí)例查找所述自定義控件的代碼; 加載模塊,用于對所述查找到的自定義控件的代碼進(jìn)行加載。
      7. 根據(jù)權(quán)利要求6所述的應(yīng)用程序的功能組件界面資源的加載系統(tǒng),其特征在于: 所述查找模塊,還用于通過所述獲取的類加載器實(shí)例查找系統(tǒng)控件的代碼。
      8. 根據(jù)權(quán)利要求5所述的應(yīng)用程序的功能組件界面資源的加載系統(tǒng),其特征在于,還 包括: 第四獲取單元,用于獲取所述功能組件的安裝包; 更新單元,用于根據(jù)所述功能組件的安裝包對所述應(yīng)用程序進(jìn)行更新。
      【文檔編號(hào)】G06F9/44GK104216751SQ201410525222
      【公開日】2014年12月17日 申請日期:2014年9月30日 優(yōu)先權(quán)日:2014年9月30日
      【發(fā)明者】孫文鴻 申請人:廣州金山網(wǎng)絡(luò)科技有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1