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

一種在目標(biāo)平臺(tái)運(yùn)行原平臺(tái)代碼的實(shí)現(xiàn)方法及裝置制造方法

文檔序號(hào):6622502閱讀:342來(lái)源:國(guó)知局
一種在目標(biāo)平臺(tái)運(yùn)行原平臺(tái)代碼的實(shí)現(xiàn)方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種在目標(biāo)平臺(tái)運(yùn)行原平臺(tái)代碼的實(shí)現(xiàn)方法及裝置,以解決修改接口函數(shù)工作量較大,并且不利于后期維護(hù)的問(wèn)題。該方法包括:將構(gòu)建的類導(dǎo)入目標(biāo)平臺(tái),所述構(gòu)建的類包括原平臺(tái)代碼中與目標(biāo)平臺(tái)不同的接口函數(shù),所述構(gòu)建的類與原平臺(tái)代碼中包括所述不同接口函數(shù)的類同名;對(duì)構(gòu)建的類進(jìn)行反射。
【專利說(shuō)明】一種在目標(biāo)平臺(tái)運(yùn)行原平臺(tái)代碼的實(shí)現(xiàn)方法及裝置

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計(jì)算機(jī)【技術(shù)領(lǐng)域】,尤其涉及一種在目標(biāo)平臺(tái)運(yùn)行原平臺(tái)代碼的實(shí)現(xiàn)方法及裝置。

【背景技術(shù)】
[0002]利用JAVA實(shí)現(xiàn)跨平臺(tái)時(shí),是通過(guò)虛擬機(jī)實(shí)現(xiàn)的,虛擬機(jī)運(yùn)行需要進(jìn)行反射操作并調(diào)用大量的接口函數(shù)。具有相同功能的軟件在不同的平臺(tái)時(shí),代碼框架可能相同或者類似,但是調(diào)用的接口參數(shù)不同,因此需要運(yùn)行的虛擬機(jī)也并不相同。當(dāng)具有相同功能的軟件實(shí)現(xiàn)在目標(biāo)平臺(tái)運(yùn)行原平臺(tái)代碼的操作時(shí),需要修改接口函數(shù)。但是對(duì)于某些基類接口函數(shù)出現(xiàn)頻率較大,如果需要修改調(diào)用,需要在虛擬機(jī)中一一修改調(diào)用,工作量相對(duì)較大。一旦出現(xiàn)差錯(cuò),使得軟件可能不能運(yùn)行,或者軟件可能不能進(jìn)行升級(jí)操作,并且對(duì)于后期維護(hù)可能也增加了困難。


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

[0003]本發(fā)明實(shí)施例提供一種在目標(biāo)平臺(tái)運(yùn)行原平臺(tái)代碼的實(shí)現(xiàn)方法及裝置,以解決修改接口函數(shù)工作量較大,并且不利于后期維護(hù)的問(wèn)題。
[0004]本發(fā)明實(shí)施例提供了一種在目標(biāo)平臺(tái)運(yùn)行原平臺(tái)代碼的實(shí)現(xiàn)方法,該方法包括:
[0005]將構(gòu)建的類導(dǎo)入目標(biāo)平臺(tái),該構(gòu)建的類包括原平臺(tái)代碼中與目標(biāo)平臺(tái)不同的接口函數(shù),該構(gòu)建的類與原平臺(tái)代碼中包括上述不同接口函數(shù)的類同名;
[0006]對(duì)構(gòu)建的類進(jìn)行反射。
[0007]較佳的,若原平臺(tái)代碼中的所述類需要通過(guò)獲取對(duì)象,并利用對(duì)象調(diào)用接口函數(shù),上述對(duì)構(gòu)建的類進(jìn)行反射,具體包括:
[0008]對(duì)構(gòu)建的類中獲取對(duì)象的接口函數(shù)進(jìn)行反射,反射后返回沒(méi)有實(shí)際值的對(duì)象;
[0009]并對(duì)需要利用對(duì)象調(diào)用的接口函數(shù)進(jìn)行反射。
[0010]較佳的,若原平臺(tái)代碼中的所述類中包含子類,上述對(duì)構(gòu)建的類進(jìn)行反射,具體包括:
[0011]對(duì)所述構(gòu)建的類進(jìn)行第一次反射,獲取子類中接口函數(shù)的對(duì)象;
[0012]對(duì)所述對(duì)象進(jìn)行第二次反射,獲取子類中的接口函數(shù)。
[0013]較佳的,若原平臺(tái)代碼中的所述類中包含具有實(shí)際值的對(duì)象,上述對(duì)構(gòu)建的類進(jìn)行反射,具體包括:
[0014]獲取構(gòu)建的類中具有實(shí)際值的對(duì)象;
[0015]根據(jù)具有實(shí)際值的對(duì)象對(duì)構(gòu)建的類進(jìn)行反射。
[0016]基于與方法實(shí)施例同樣的發(fā)明構(gòu)思,本發(fā)明實(shí)施例提供了一種在目標(biāo)平臺(tái)運(yùn)行原平臺(tái)代碼的實(shí)現(xiàn)裝置,該裝置包括:
[0017]導(dǎo)入單元,用于將構(gòu)建的類導(dǎo)入目標(biāo)平臺(tái),所述構(gòu)建的類包括原平臺(tái)中與目標(biāo)平臺(tái)不同的接口函數(shù),所述構(gòu)建的類與原平臺(tái)代碼中包括所述不同的接口函數(shù)的類同名;
[0018]反射單元,用于對(duì)構(gòu)建的類進(jìn)行反射。
[0019]較佳的,反射單元還用于,在原平臺(tái)代碼中的所述類要通過(guò)獲取對(duì)象,并利用對(duì)象調(diào)用函數(shù)時(shí),對(duì)構(gòu)建的類中獲取對(duì)象的接口函數(shù)進(jìn)行反射,反射后返回沒(méi)有實(shí)際值的對(duì)象;并對(duì)需要利用對(duì)象調(diào)用的接口函數(shù)進(jìn)行反射。
[0020]較佳的,反射單元還用于,當(dāng)原平臺(tái)代碼中的上述類中包含子類時(shí),對(duì)所述構(gòu)建的類進(jìn)行第一次反射,獲取子類中接口函數(shù)的對(duì)象;對(duì)所述對(duì)象進(jìn)行第二次反射,獲取子類中的接口函數(shù)。
[0021]較佳的,反射單元還用于,當(dāng)原平臺(tái)的類中包含具有實(shí)際值的對(duì)象時(shí),獲取構(gòu)建的類中具有實(shí)際值的對(duì)象;根據(jù)具有實(shí)際值的對(duì)象對(duì)構(gòu)建的類進(jìn)行反射。
[0022]現(xiàn)有技術(shù)中需要對(duì)源代碼中所有接口的類進(jìn)行反射,利用本發(fā)明提供的方案,僅需對(duì)構(gòu)建的類進(jìn)行反射,也就是對(duì)在原平臺(tái)中與目標(biāo)平臺(tái)不同的接口函數(shù)進(jìn)行反射,從而提高了在目標(biāo)平臺(tái)運(yùn)行原平臺(tái)代碼的效率,并且有利于后期維護(hù)。

【專利附圖】

【附圖說(shuō)明】
[0023]圖1為本發(fā)明實(shí)施例提供的在目標(biāo)平臺(tái)運(yùn)行原平臺(tái)代碼的實(shí)現(xiàn)方法流程圖;
[0024]圖2為本發(fā)明實(shí)施例提供的在目標(biāo)平臺(tái)運(yùn)行原平臺(tái)代碼的實(shí)現(xiàn)裝置示意圖。

【具體實(shí)施方式】
[0025]本發(fā)明實(shí)施例提供一種在目標(biāo)平臺(tái)運(yùn)行原平臺(tái)代碼的實(shí)現(xiàn)方法及裝置,以解決修改接口函數(shù)工作量較大,并且不利于后期維護(hù)的問(wèn)題。
[0026]下面結(jié)合附圖對(duì)本發(fā)明實(shí)施例作進(jìn)一步說(shuō)明。
[0027]本發(fā)明實(shí)施例提供了一種在目標(biāo)平臺(tái)運(yùn)行原平臺(tái)代碼的實(shí)現(xiàn)方法,如圖1所示,該方法包括:
[0028]SlOl:將構(gòu)建的類導(dǎo)入目標(biāo)平臺(tái),該構(gòu)建的類包括原平臺(tái)中與目標(biāo)平臺(tái)不同的接口函數(shù),該構(gòu)建的類與原平臺(tái)代碼中包括上述不同的接口函數(shù)的類同名。
[0029]其中,將構(gòu)建的類導(dǎo)入目標(biāo)平臺(tái),是對(duì)源代碼中目標(biāo)平臺(tái)與原平臺(tái)不同的接口的類的應(yīng)用路徑進(jìn)行修改,根據(jù)修改后的應(yīng)用路徑導(dǎo)入到目標(biāo)平臺(tái)。
[0030]較佳的,構(gòu)建的類可以稱為與原平臺(tái)的類的同名類。
[0031]S102:對(duì)構(gòu)建的類進(jìn)行反射。從而實(shí)現(xiàn)了在目標(biāo)平臺(tái)運(yùn)行原平臺(tái)代碼,即實(shí)現(xiàn)跨平臺(tái)操作。
[0032]反射就是JAVA語(yǔ)言在運(yùn)行時(shí)擁有的一項(xiàng)自觀的能力,它能夠創(chuàng)建靈活的代碼。這些代碼在運(yùn)行時(shí)裝載,不需要在組建時(shí)進(jìn)行源代碼的鏈接。反射能夠使程序代碼裝載到虛擬機(jī)中,并獲取虛擬機(jī)中類的內(nèi)部信息。允許在執(zhí)行程序時(shí)才得到所需要的類的內(nèi)部信息,而不再需要編寫代碼時(shí)就必須知道所需要的類的內(nèi)部信息。
[0033]例如:在安卓平臺(tái)的telephony類,該類是在不同平臺(tái)都需要使用的一個(gè)重要基類,每個(gè)平臺(tái)都含有這個(gè)類,但是在這個(gè)類中定義的變量和函數(shù)是不一樣的,或者相同函數(shù)的實(shí)現(xiàn)方法和參數(shù)也有可能不一樣。當(dāng)需要實(shí)現(xiàn)跨平臺(tái)時(shí),按照常規(guī)方法,需要對(duì)這個(gè)類的所有接口和變量執(zhí)行反射,這種方法對(duì)于被調(diào)用少的接口來(lái)說(shuō)是可行的,但是對(duì)于TelephonyManager這個(gè)類的修改幾乎不太可能實(shí)現(xiàn)。以TelephonyManager.getDefault ().1sMultiSimEnabled()為例,這個(gè)函數(shù)在整個(gè)工程上有很多,不可能一個(gè)一個(gè)執(zhí)行對(duì)接口函數(shù)的反射修改。利用本發(fā)明實(shí)施例提供的方法,例如=TelephonyManager類在安卓系統(tǒng)中的標(biāo)準(zhǔn)路徑是:import android, telephony.TelephonyManager,該路徑是在framework層,重新定義應(yīng)用路徑為:
[0034]import com.hisense.mms.frameworks, telephony.Telephony Manager。該重新定義應(yīng)用路徑的類為構(gòu)建的類,該類中僅包括目標(biāo)平臺(tái)與原平臺(tái)不同的接口函數(shù)。
[0035]根據(jù)修改后的應(yīng)用路徑就可以將構(gòu)建的類導(dǎo)入到目標(biāo)平臺(tái),然后直接執(zhí)行反射操作了?,F(xiàn)有技術(shù)中需要對(duì)源代碼中所有接口的類進(jìn)行反射,利用本發(fā)明提供的方案,僅需對(duì)構(gòu)建的類進(jìn)行反射,也就是對(duì)在原平臺(tái)中與目標(biāo)平臺(tái)不同的接口函數(shù)進(jìn)行反射,從而提高了在目標(biāo)平臺(tái)運(yùn)行原平臺(tái)代碼的效率,并且有利于后期維護(hù)。
[0036]在利用本發(fā)明在目標(biāo)平臺(tái)運(yùn)行原平臺(tái)代碼時(shí)也需要用到反射,在利用本發(fā)明的方法進(jìn)行修改同名路徑后,標(biāo)準(zhǔn)的反射操作不再適用,由此可以采用以下反射方式:
[0037]第一種反射方式,在本發(fā)明實(shí)施例中命名為跨介反射。
[0038]跨介反射即為需要跳過(guò)一層進(jìn)行反射,或者在中間一層做成假的接口,在下一介進(jìn)行反射。
[0039]較佳的,跨介反射適用于類需要通過(guò)獲取對(duì)象,并利用對(duì)象調(diào)用函數(shù)的情況。例如:Te I ephonyManager.getDefault ().1sMultiSimEnabled ();這個(gè)接口在源代碼中的意思是通過(guò)getDefault O獲取TelephonyManager類的一個(gè)對(duì)象實(shí)現(xiàn)對(duì)象實(shí)例化,然后再通過(guò)得到的對(duì)象來(lái)調(diào)用函數(shù)isMultiSimEnabled O。利用該方法時(shí),在進(jìn)行反射時(shí)會(huì)發(fā)生沖突。在反射中在調(diào)用方法的時(shí)候,是在通過(guò)對(duì)象來(lái)調(diào)用的,即invoke (obj, false, getMethod),這句代碼相當(dāng)于執(zhí)行了 obj.getMethod (),且 obj.getMethod ()與 getDefault 0.1sMultiSimEnabled O的結(jié)果是一樣的,因此發(fā)生沖突。因此可以利用以下實(shí)現(xiàn)方式:
[0040]對(duì)構(gòu)建的類中獲取對(duì)象的接口函數(shù)進(jìn)行反射,反射后返回沒(méi)有實(shí)際值的對(duì)象。
[0041]例如:將TelephonyManager類在修改后的應(yīng)用路徑下重新構(gòu)造構(gòu)建的類,即是所有具有TelephonyManager類名稱相同的類指向該構(gòu)建的TelephonyManager的接口,因此可以根據(jù)修改后應(yīng)用路徑將構(gòu)建的類導(dǎo)入目標(biāo)平臺(tái),在該同名TelephonyManager類中,進(jìn)行如下操作:
[0042]protected TelephonyManagerO {}
[0043]private static TelephonyManager instance = new TelephonyManager();
[0044]public static TelephonyManager getDefault(){
[0045]return instance ;}
[0046]經(jīng)過(guò)這樣處理后,getDefault ()接口就變成了一個(gè)假的的接口,經(jīng)過(guò)反射后返回的是一個(gè)沒(méi)有實(shí)際值的對(duì)象,然后再對(duì)需要利用對(duì)象調(diào)用的接口函數(shù)進(jìn)行反射,采用該方法不用改源代碼即可實(shí)現(xiàn)反射,大大提高開發(fā)效率。
[0047]第二種反射方式,在本發(fā)明實(shí)施例中命名為雙層反射。
[0048]當(dāng)調(diào)用一個(gè)函數(shù)返回的是一個(gè)子類對(duì)象,然后再調(diào)用這個(gè)子類對(duì)象的函數(shù)時(shí)需要用到雙層反射。
[0049]在現(xiàn)有技術(shù)反射方法如下:
[0050]例1:
[0051]SmsMemoryStatus SimMemStatus = null ;
[0052]SmsManager smsManager = SmsManager.getDefault ();
[0053]SimMemStatus = smsManager.getSmsSimMemoryStatus ();
[0054]if (SimMemStatus ! = null) {
[0055]int iccSmsCount = SimMemStatus.getTotal ();
[0056]return iccSmsCount ;
[0057]}else{
[0058]return 0 ;
[0059]}
[0060]以上這段代碼的意思是:通過(guò)smsManager.getSmsSimMemoryStatus ()獲取SmsMemoryStatus類型的對(duì)象SimMemStatus,然后調(diào)用SimMemStatus的成員函數(shù)getTotalO。
[0061]例如:上述例I中牽扯到兩個(gè)類即SmsManager和SmsMemoryStatus,這兩個(gè)類分別具有各自的路徑位置,那么在按照本發(fā)明提供的方法構(gòu)建函數(shù)后構(gòu)建的類后,利用上述反射方法,則smsManager.getSmsSimMemoryStatus O反饋卻是標(biāo)準(zhǔn)路徑的類而不是構(gòu)建的類,編譯出現(xiàn)問(wèn)題。
[0062]針對(duì)上述這種情況,可以利用以下實(shí)現(xiàn)方式:
[0063]對(duì)構(gòu)建的類進(jìn)行第一次反射,獲取子類中接口函數(shù)的對(duì)象;
[0064]對(duì)對(duì)象進(jìn)行第二次反射,獲取子類中的接口函數(shù)。
[0065]例2:
[0066]Method getMethod ;
[0067]Method getMethod2 ;
[0068]getMethod = Invoke.getMethod(getTelephonyClass(), getSmsSimMemoryStatus〃,int.class);
[0069]Object obj = Invoke, invoke (getDefaultMethod (), false, getMethod, subld);
[0070]if (obj ! = null) {
[0071]getMethod2 = nvoke.getMethod(Invoke.getClass ("android.telephony.SmsMemo ryStatus〃),〃getTotal〃);
[0072]iccSmsCount = (Integer)Invoke, invoke (obj, false, getMethod2);
[0073]return iccSmsCount ;
[0074]}
[0075]else{
[0076]return 0 ;
[0077]}
[0078]上述代碼中在第一次反射對(duì)構(gòu)建的類SmsManage進(jìn)行反射獲取函數(shù)getSmsSimMemoryStatus O得到一個(gè)對(duì)象obj,第二次反射直接在第一次得到的對(duì)象obj基礎(chǔ)上直接進(jìn)行invoke,來(lái)調(diào)用getTotal O。利用該雙層反射最多只需要構(gòu)建最外層的類的接口函數(shù),另一個(gè)內(nèi)層子類只需在第二次反射中直接反射調(diào)用即可。
[0079]第三種反射方式,在本發(fā)明實(shí)施例中命名為實(shí)參反射。
[0080]在工程中很多函數(shù)是需要傳遞有實(shí)際值的對(duì)象的,對(duì)于這類函數(shù)的反射,就不能按照傳統(tǒng)的方法通過(guò)getdefault O的方法獲取obj來(lái)進(jìn)行反射,這樣獲取的對(duì)象是一個(gè)初始的構(gòu)造函數(shù)的對(duì)象,而不是具有實(shí)際值的對(duì)象,這樣使用就會(huì)出錯(cuò)。
[0081]針對(duì)上述這種情況,可以利用以下實(shí)現(xiàn)方式進(jìn)行反射(僅需調(diào)用構(gòu)建的類中的函數(shù)):
[0082]獲取構(gòu)建的類中具有實(shí)際值的對(duì)象;
[0083]根據(jù)具有實(shí)際值的對(duì)象對(duì)構(gòu)建的類進(jìn)行反射。
[0084]例如:
[0085]int sub id = O ;
[0086]Metho dmethod = msReflector.getMethod(getSmsManagerClass (),^getSubId");
[0087]subid = (Integer)MmsReflector.1nvoke(sms_local, -1, metod);
[0088]return subid ;
[0089]上述invoke函數(shù)中的sms_local對(duì)象,它不是傳統(tǒng)的通過(guò)getdefault獲取的obj,而是在源碼上下文中通過(guò)傳遞獲得的具有實(shí)際值的obj,運(yùn)用這個(gè)Obj來(lái)進(jìn)行反射,就相當(dāng)執(zhí)行了 sms_l0cal.Method的方法。因此利用該方法進(jìn)行反射保留了實(shí)際傳遞值,避免出錯(cuò)。
[0090]基于與方法實(shí)施例同樣的發(fā)明構(gòu)思,本發(fā)明實(shí)施例提供了一種在目標(biāo)平臺(tái)運(yùn)行原平臺(tái)代碼的實(shí)現(xiàn)裝置,如圖2所示,該裝置包括:
[0091]導(dǎo)入單元201,用于將構(gòu)建的類導(dǎo)入目標(biāo)平臺(tái),該述構(gòu)建的類包括原平臺(tái)中與目標(biāo)平臺(tái)不同的接口函數(shù),該構(gòu)建的類與原平臺(tái)代碼中包括上述不同的接口函數(shù)的類同名;
[0092]反射單元202,用于對(duì)構(gòu)建的類進(jìn)行反射。
[0093]較佳的,反射單元還用于,在原平臺(tái)代碼中的所述類需要通過(guò)獲取對(duì)象,并利用對(duì)象調(diào)用函數(shù)時(shí),對(duì)構(gòu)建的類中獲取對(duì)象的接口函數(shù)進(jìn)行反射,反射后返回沒(méi)有實(shí)際值的對(duì)象;并對(duì)需要利用對(duì)象調(diào)用的接口函數(shù)進(jìn)行反射。
[0094]較佳的,反射單元還用于,當(dāng)原平臺(tái)代碼中的所述類中包含子類時(shí),對(duì)所述構(gòu)建的類進(jìn)行第一次反射,獲取子類中接口函數(shù)的對(duì)象;對(duì)所述對(duì)象進(jìn)行第二次反射,獲取子類中的接口函數(shù)。
[0095]較佳的,反射單元還用于,當(dāng)原平臺(tái)代碼中的所述類中包含具有實(shí)際值的對(duì)象時(shí),獲取構(gòu)建的類中具有實(shí)際值的對(duì)象;根據(jù)具有實(shí)際值的對(duì)象對(duì)構(gòu)建的類進(jìn)行反射。
[0096]現(xiàn)有技術(shù)中需要對(duì)源代碼中所有接口的類進(jìn)行反射,利用本發(fā)明提供的方案,僅需對(duì)構(gòu)建的類進(jìn)行反射,也就是對(duì)在原平臺(tái)中與目標(biāo)平臺(tái)不同的接口函數(shù)進(jìn)行反射,從而提高了在目標(biāo)平臺(tái)運(yùn)行原平臺(tái)代碼的效率,并且有利于后期維護(hù)。
[0097]本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
[0098]本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合。可提供這些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
[0099]這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
[0100]這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
[0101]盡管已描述了本發(fā)明的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本發(fā)明范圍的所有變更和修改。
[0102]顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
【權(quán)利要求】
1.一種在目標(biāo)平臺(tái)運(yùn)行原平臺(tái)代碼的實(shí)現(xiàn)方法,其特征在于,包括: 將構(gòu)建的類導(dǎo)入目標(biāo)平臺(tái),所述構(gòu)建的類包括原平臺(tái)代碼中與目標(biāo)平臺(tái)不同的接口函數(shù),所述構(gòu)建的類與原平臺(tái)代碼中包括所述不同接口函數(shù)的類同名; 對(duì)構(gòu)建的類進(jìn)行反射。
2.如權(quán)利要求1所述的方法,其特征在于,若原平臺(tái)代碼中的所述類需要通過(guò)獲取對(duì)象,并利用對(duì)象調(diào)用接口函數(shù),所述對(duì)構(gòu)建的類進(jìn)行反射,具體包括: 對(duì)構(gòu)建的類中獲取對(duì)象的接口函數(shù)進(jìn)行反射,反射后返回沒(méi)有實(shí)際值的對(duì)象; 并對(duì)需要利用對(duì)象調(diào)用的接口函數(shù)進(jìn)行反射。
3.如權(quán)利要求1所述的方法,其特征在于,若原平臺(tái)代碼中的所述類中包含子類,所述對(duì)構(gòu)建的類進(jìn)行反射,具體包括: 對(duì)所述構(gòu)建的類進(jìn)行第一次反射,獲取子類中接口函數(shù)的對(duì)象; 對(duì)所述對(duì)象進(jìn)行第二次反射,獲取子類中的接口函數(shù)。
4.如權(quán)利要求1所述的方法,其特征在于,若原平臺(tái)代碼中的所述類中包含具有實(shí)際值的對(duì)象,所述對(duì)構(gòu)建的類進(jìn)行反射,具體包括: 獲取構(gòu)建的類中具有實(shí)際值的對(duì)象; 根據(jù)具有實(shí)際值的對(duì)象對(duì)構(gòu)建的類進(jìn)行反射。
5.一種在目標(biāo)平臺(tái)運(yùn)行原平臺(tái)代碼的實(shí)現(xiàn)裝置,其特征在于,包括: 導(dǎo)入單元,用于將構(gòu)建的類導(dǎo)入目標(biāo)平臺(tái),所述構(gòu)建的類包括原平臺(tái)中與目標(biāo)平臺(tái)不同的接口函數(shù),所述構(gòu)建的類與原平臺(tái)代碼中包括所述不同的接口函數(shù)的類同名; 反射單元,用于對(duì)構(gòu)建的類進(jìn)行反射。
6.如權(quán)利要求5所述的裝置,其特征在于,所述反射單元還用于,在原平臺(tái)代碼中的所述類需要通過(guò)獲取對(duì)象,并利用對(duì)象調(diào)用函數(shù)時(shí),對(duì)構(gòu)建的類中獲取對(duì)象的接口函數(shù)進(jìn)行反射,反射后返回沒(méi)有實(shí)際值的對(duì)象;并對(duì)需要利用對(duì)象調(diào)用的接口函數(shù)進(jìn)行反射。
7.如權(quán)利要求5所述的裝置,其特征在于,所述反射單元還用于,當(dāng)原平臺(tái)代碼中的所述類中包含子類時(shí),對(duì)所述構(gòu)建的類進(jìn)行第一次反射,獲取子類中接口函數(shù)的對(duì)象;對(duì)所述對(duì)象進(jìn)行第二次反射,獲取子類中的接口函數(shù)。
8.如權(quán)利要求5所述的裝置,其特征在于,所述反射單元還用于,當(dāng)原平臺(tái)代碼中的所述類中包含具有實(shí)際值的對(duì)象時(shí),獲取構(gòu)建的類中具有實(shí)際值的對(duì)象;根據(jù)具有實(shí)際值的對(duì)象對(duì)構(gòu)建的類進(jìn)行反射。
【文檔編號(hào)】G06F9/44GK104199642SQ201410381262
【公開日】2014年12月10日 申請(qǐng)日期:2014年8月5日 優(yōu)先權(quán)日:2014年8月5日
【發(fā)明者】張立震, 闕遠(yuǎn) 申請(qǐng)人:青島海信移動(dòng)通信技術(shù)股份有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1