專利名稱:一種Java2微型版應(yīng)用的運(yùn)行方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,特別是涉及一種Java 2微型版應(yīng)用的運(yùn)行方 法和裝置。
背景技術(shù):
隨著移動手持設(shè)備平臺處理能力的不斷增強(qiáng),如今手機(jī)設(shè)備已經(jīng)能夠承 載著各種各樣的應(yīng)用。而J2ME (Java 2 Micro Edition, Java 2微型版)作為基 于Java的一種跨平臺的計(jì)算技術(shù),在手機(jī)中得到了廣泛的運(yùn)用,從而產(chǎn)生了 為數(shù)眾多的J2ME手機(jī)應(yīng)用。只要在手機(jī)中移植J2ME JVM (Java Virtual Machine, Java虛擬機(jī))以及相應(yīng)的運(yùn)行庫,例如JTWI ( Java Technology for the Wireless Industry,無線4頁i或的Java才支術(shù)^見范)牙口 MSA (Mobile Service Architecture,移動服務(wù)架構(gòu))等,J2ME手機(jī)應(yīng)用無需移植,即可運(yùn)行在不同 硬件平臺架構(gòu)的手機(jī)上。
Android作為OHA (Open Handset Alliance,開放手機(jī)聯(lián)盟)的開放的智能 手機(jī)中間件平臺,其操作系統(tǒng)是基于Linux的,而其應(yīng)用結(jié)構(gòu)Application Framework應(yīng)用4姿口是基于Java的。寸旦是Android API ( Application Programming Interface,應(yīng)用編程接口 )與J2ME的API完全不兼容,使得基 于J2ME平臺之上開發(fā)的J2ME應(yīng)用不能運(yùn)行于Android平臺之上。
為使得Android手機(jī)支持已有的J2ME應(yīng)用,現(xiàn)有的解決方案為在 Android手機(jī)的Linux操作系統(tǒng)以及本地手機(jī)中間件之上移植J2ME的JVM, 同時將所需的運(yùn)行庫,例如JTWI和MSA等進(jìn)行相應(yīng)的移植,所有J2ME應(yīng) 用運(yùn)行在基于Linux操作系統(tǒng)以及本地手機(jī)中間件之上的J2ME JVM上。
發(fā)明人在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在如下問題
在上述的技術(shù)方案中,為運(yùn)行J2ME應(yīng)用,需要同時運(yùn)行兩個不同的JVM, 一個為Android的原有JVM (即Delvik JVM),另 一個為J2ME的JVM。從而會占用相當(dāng)大的內(nèi)存資源和Flash存儲資源,在手機(jī)這種內(nèi)存資源較為緊張 的設(shè)備中,這個矛盾尤為突出。另外,Android應(yīng)用與J2ME應(yīng)用是兩套分立 的系統(tǒng),從一套系統(tǒng)切換到另外一套系統(tǒng),需要較為復(fù)雜的操作,用戶體驗(yàn) 不夠友好。由于采用兩套不同的JVM, J2ME應(yīng)用與Android應(yīng)用難以進(jìn)行交互。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種J2ME應(yīng)用的運(yùn)行方法和裝置,有效地減少了運(yùn) 行J2ME應(yīng)用時對內(nèi)存資源的占用,增強(qiáng)了用戶的使用體驗(yàn)。
為達(dá)到上述目的,本發(fā)明實(shí)施例一方面提出一種J2ME應(yīng)用的運(yùn)行方法, 包括
將J2ME應(yīng)用移植到Android平臺; 在所述Android平臺運(yùn)行所述J2ME應(yīng)用。
另一方面,本發(fā)明實(shí)施例還提出一種運(yùn)行J2ME應(yīng)用的終端,包括 移植模塊,用于將J2ME應(yīng)用移植到Android平臺; 運(yùn)行模塊,用于在所述Android平臺運(yùn)行所述移植模塊移植的所述J2ME 應(yīng)用。
本發(fā)明實(shí)施例的技術(shù)方案具有以下優(yōu)點(diǎn),因?yàn)橐浦睯2ME應(yīng)用到Android 平臺,可以充分利用現(xiàn)有的大量的J2ME應(yīng)用,并且無需運(yùn)行兩套JVM, J2ME 應(yīng)用完全依賴于增強(qiáng)的Android平臺JVM (即DelvikJVM),能夠有效減少運(yùn) 行J2ME應(yīng)用時對內(nèi)存資源的占用。
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí) 施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面 描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講, 在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例中的 一種J2ME應(yīng)用的運(yùn)行方法流程圖2為本發(fā)明實(shí)施例中的運(yùn)行J2ME應(yīng)用的一種具體實(shí)現(xiàn)方式流程圖3為本發(fā)明實(shí)施例中的一種運(yùn)行J2ME應(yīng)用的終端結(jié)構(gòu)圖4為本發(fā)明實(shí)施例中的一種運(yùn)行J2ME應(yīng)用的終端具體結(jié)構(gòu)圖。
具體實(shí)施例方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行 清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是 全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng) 造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
如圖l所示,為本發(fā)明實(shí)施例中的一種J2ME應(yīng)用的運(yùn)行方法流程圖, 包括以下步驟
步驟101,將J2ME應(yīng)用移植到Android平臺。
本發(fā)明實(shí)施例基于Android平臺自身的Delvik VM實(shí)現(xiàn)J2ME移植層 Porting Layer,將J2ME應(yīng)用移植到Android平臺。根據(jù)設(shè)備硬件能力的不同, 以及上層應(yīng)用對J2ME API的要求不同,J2ME Porting Layer可以實(shí)現(xiàn)J2ME 的不同功能集合,例如JTWI、 MSA、 MSA子集Subset等。但是,J2ME Porting Layer的最小功能實(shí)現(xiàn)應(yīng)該包括CLDC以及MIDP (Mobile Information Device Profile,移動信息設(shè)備配置文件)的功能。對Android Application Framework 的功能進(jìn)行增強(qiáng),在J2ME Porting Layer的基礎(chǔ)上,實(shí)現(xiàn)J2ME API,最終為 J2ME Application提供支撐。根據(jù)J2ME Porting Layer實(shí)現(xiàn)的功能集合不同, Application Framework提供的J2ME API也會有所不同,但是其J2ME API的 最小集合至少應(yīng)該包括CLDC以及MIDP的API。
步驟102,在Android平臺運(yùn)行J2ME應(yīng)用。
將J2ME應(yīng)用移植到Android平臺后,在Android平臺運(yùn)行J2ME應(yīng)用時, 不需要將J2ME的JVM整體移植到Android平臺上,而是充分利用Android 平臺的Delvik VM以及Android的Application Framework的功能,在此基礎(chǔ) 之上實(shí)現(xiàn)J2ME的業(yè)務(wù)接口 ,為J2ME的應(yīng)用提供支持。
如圖2所示,為本發(fā)明實(shí)施例中的運(yùn)行J2ME應(yīng)用的一種具體實(shí)現(xiàn)方式
流程圖,包括以下步驟
步驟201,調(diào)用J2ME應(yīng)用對應(yīng)的JSR。
為支持不同類型的應(yīng)用,J2ME定義了不同的JSR,每一個JSR規(guī)范了一 類J2ME業(yè)務(wù)接口,例如JSR118 (MIDP)等。將不同的JSR的集合在一起, 構(gòu)成了 一些常用的J2ME業(yè)務(wù)接口集合,例如JTWI, MSA,以及MSA Subset。 通常J2ME應(yīng)用正是基于相應(yīng)的業(yè)務(wù)接口集合之上構(gòu)建。因此,為支持J2ME 應(yīng)用,必須實(shí)現(xiàn)相應(yīng)的JSR。
步驟202,判斷Android平臺是否支持J2ME應(yīng)用對應(yīng)的JSR中的接口 , 如果Android平臺支持J2ME應(yīng)用對應(yīng)的JSR中的接口,則執(zhí)行步驟205;如 果Android平臺不支持J2ME應(yīng)用對應(yīng)的JSR中的接口 ,則執(zhí)行步驟203 。
步驟203,判斷JSR中的接口能否被轉(zhuǎn)換成Android平臺支持的接口,如 果JSR中的接口能被轉(zhuǎn)換成Android平臺支持的接口,則執(zhí)行步驟204;如果 JSR中的接口不能被轉(zhuǎn)換成Android平臺支持的接口 ,則執(zhí)行步驟206。
步驟204,將JSR中的接口轉(zhuǎn)換成Android平臺支持的接口 。
步驟205 ,調(diào)用Android平臺和Delvik VM實(shí)現(xiàn)JSR。
步驟206,判斷CLDC是否支持JSR中的接口,如果CLDC支持JSR中 的接口,則執(zhí)行步驟214;如果CLDC不支持JSR中的接口,則執(zhí)行步驟215。
步驟207,調(diào)用CLDC。
為支持J2ME應(yīng)用,需要對JVM層的實(shí)現(xiàn)進(jìn)行修改,以支持J2ME JVM 的基本JSR: CLDC。
步驟208,判斷Delvik VM是否支持CLDC中的接口,如果Delvik VM 支持CLDC中的接口 ,則執(zhí)行步驟211;如果Delvik VM不支持CLDC中的 接口,則執(zhí)行步驟209。
步驟209,判斷CLDC中的接口能否被轉(zhuǎn)換成Delvik VM支持的接口 , 如果CLDC中的接口能被轉(zhuǎn)換成Delvik VM支持的接口 ,執(zhí)行步驟210,如 果CLDC中的接口不能被轉(zhuǎn)換成Delvik VM支持的接口 ,執(zhí)行步驟212。
步驟210,將CLDC中的接口轉(zhuǎn)換成Delvik VM支持的接口 。
步驟211,調(diào)用Delvik VM實(shí)現(xiàn)CLDC。步驟212,將CLDC中的接口轉(zhuǎn)換成Native Platform支持的接口 步驟213,調(diào)用Native Platform實(shí)現(xiàn)CLDC。
根據(jù)分析,CLDC中90°/。以上的接口能夠基于Delvik的接口進(jìn)行筒單的 封裝而獲得,甚至其中部分接口 Delvik直接支持。剩余的10%的接口不能基 于Delvik之上實(shí)現(xiàn),該部分4妄口可以直4妄基于Native Platform進(jìn)4亍實(shí)現(xiàn)。
步驟214,將JSR中的接口轉(zhuǎn)換成Native Platform支持的接口 。
步驟215,調(diào)用Native Platform實(shí)現(xiàn)JSR。
由于許多JSR的業(yè)務(wù)接口在功能上與Android重疊,因此,該JSR^妄口 的實(shí)現(xiàn)可以基于Android的接口 ,而其余的接口實(shí)現(xiàn)又可分為可以基于CLDC 實(shí)現(xiàn)的接口 ,以及必須基于Native Platform實(shí)現(xiàn)的接口 。
步驟216,在Android平臺運(yùn)行J2ME應(yīng)用。
將J2ME應(yīng)用移植到Android平臺后,在Android平臺運(yùn)行J2ME應(yīng)用時, 不需要將J2ME的JVM整體移植到Android平臺上,而是充分利用Android 平臺的Delvik VM以及Android的Application Framework的功能,在此基礎(chǔ) 之上實(shí)現(xiàn)J2ME的業(yè)務(wù)接口 ,為J2ME的應(yīng)用提供支持。
如圖3所示,為本發(fā)明實(shí)施例中的一種運(yùn)行J2ME應(yīng)用的終端結(jié)構(gòu)圖, 包括
移植模塊301 ,用于將J2ME應(yīng)用移植到Android平臺。 本發(fā)明實(shí)施例基于Android平臺自身的Delvik VM實(shí)現(xiàn)J2ME移植層 Porting Layer,將J2ME應(yīng)用移植到Android平臺。根據(jù)設(shè)備硬件能力的不同, 以及上層應(yīng)用對J2ME API的要求不同,J2ME Porting Layer可以實(shí)現(xiàn)J2ME 的不同功能集合,例如JTWI、 MSA、 MSA子集Subset等。但是,J2ME Porting Layer的最小功能實(shí)現(xiàn)應(yīng)該包括CLDC以及MIDP (Mobile Information Device Profile,移動信息i殳備配置文件)的功能。對Android Application Framework 的功能進(jìn)行增強(qiáng),在J2ME Porting Layer的基礎(chǔ)上,實(shí)現(xiàn)J2MEAPI,最終為 J2ME Application提供支撐。根據(jù)J2ME Porting Layer實(shí)現(xiàn)的功能集合不同, Application Framework提供的J2ME API也會有所不同,但是其J2ME API的 最小集合至少應(yīng)該包括CLDC以及MIDP的API。運(yùn)行模塊302,用于在Android平臺運(yùn)行移植模塊301移植的J2ME應(yīng)用。 將J2ME應(yīng)用移植到Android平臺后,在Android平臺運(yùn)行J2ME應(yīng)用時,
不需要將J2ME的JVM整體移植到Android平臺上,而是充分利用Android
平臺的Ddvik VM以及Android的Application Framework的功能,在此基礎(chǔ)
之上實(shí)現(xiàn)J2ME的業(yè)務(wù)接口,為J2ME的應(yīng)用提供支持。
如圖4所示,為本發(fā)明實(shí)施例中的一種運(yùn)行J2ME應(yīng)用的終端具體結(jié)構(gòu)
圖,包括
移植模塊400,用于將J2ME應(yīng)用移植到Android平臺。 本發(fā)明實(shí)施例基于Android平臺自身的Delvik VM實(shí)現(xiàn)J2ME移植層 Porting Layer,將J2ME應(yīng)用移植到Android平臺。根據(jù)設(shè)備硬件能力的不同, 以及上層應(yīng)用對J2ME API的要求不同,J2ME Porting Layer可以實(shí)現(xiàn)J2ME 的不同功能集合,例如JTWI、 MSA、 MSA子集Subset等。但是,J2MEPorting Layer的最小功能實(shí)現(xiàn)應(yīng)該包括CLDC以及MIDP (Mobile Information Device Profile,移動信息設(shè)備配置文件)的功能。對Android Application Framework 的功能進(jìn)行增強(qiáng),在J2ME Porting Layer的基礎(chǔ)上,實(shí)現(xiàn)J2MEAPI,最終為 J2ME Application提供支撐。根據(jù)J2ME Porting Layer實(shí)現(xiàn)的功能集合不同, Application Framework提供的J2ME API也會有所不同,但是其J2ME API的 最小集合至少應(yīng)該包括CLDC以及MIDP的API。
運(yùn)行模塊500,用于在Android平臺運(yùn)行移植模塊400移植的J2ME應(yīng)用。 將J2ME應(yīng)用移植到Android平臺后,在Android平臺運(yùn)行J2ME應(yīng)用時, 不需要將J2ME的JVM整體移植到Android平臺上,而是充分利用Android 平臺的Delvik VM以及Android的Application Framework的功能,在jt匕基礎(chǔ) 之上實(shí)現(xiàn)J2ME的業(yè)務(wù)接口,為J2ME的應(yīng)用提供支持。 上述移植模塊400,具體包括
第 一判斷子模塊401,用于判斷Android平臺是否支持J2ME應(yīng)用對應(yīng)的 JSR中的接口。
為支持不同類型的應(yīng)用,J2ME定義了不同的JSR,每一個JSR規(guī)范了一 類J2ME業(yè)務(wù)接口,例如JSR 118 (MIDP)等。將不同的JSR的集合在一起,
構(gòu)成了 一些常用的J2ME業(yè)務(wù)接口集合,例如JTWI, MSA,以及MSA Subset。 通常J2ME應(yīng)用正是基于相應(yīng)的業(yè)務(wù)接口集合之上構(gòu)建。因此,為支持J2ME 應(yīng)用,必須實(shí)現(xiàn)相應(yīng)的JSR。由于許多JSR的業(yè)務(wù)接口在功能上與Android 重疊,因此,該JSR接口的實(shí)現(xiàn)可以基于Android的接口,而其余的接口實(shí) 現(xiàn)又可分為可以基于CLDC實(shí)現(xiàn)的接口 ,以及必須基于Native Platform實(shí)現(xiàn) 的接口。
第二判斷子模塊402,用于如果第一判斷子模塊401判斷Android平臺不 支持J2ME應(yīng)用對應(yīng)的JSR中的接口 ,判斷JSR中的接口能否被轉(zhuǎn)換成Android 平臺支持的接口。
第三判斷子模塊403 ,用于如果第二判斷子模塊402判斷JSR中的接口不 能被轉(zhuǎn)換成Android平臺支持的接口 ,判斷CLDC是否支持JSR中的接口 。
第一調(diào)用子模塊404,用于如果第三判斷子模塊403判斷CLDC支持JSR 中的接口 ,調(diào)用CLDC和Native Platform實(shí)現(xiàn)JSR。
為支持J2ME應(yīng)用,需要對JVM層的實(shí)現(xiàn)進(jìn)行修改,以支持J2MEJVM 的基本JSR: CLDC。根據(jù)分析,CLDC中卯%以上的接口能夠基于Delvik的 接口進(jìn)行簡單的封裝而獲得,甚至其中部分接口 Delvik直接支持。剩余的10% 的4妄口不能基于Delvik之上實(shí)現(xiàn),該部分4妻口可以直4矣基于Native Platform 進(jìn)行實(shí)現(xiàn)。
第二調(diào)用子模塊405,用于如果第一判斷子模塊401判斷Android平臺支 持J2ME應(yīng)用對應(yīng)的JSR中的接口 ,調(diào)用Android平臺、Delvik VM和Native Platform實(shí)現(xiàn)JSR。
第一轉(zhuǎn)換子模塊406,用于如果所述第三判斷子模塊403判斷JSR中的接 口能被轉(zhuǎn)換成Android平臺支持的接口 ,將JSR中的接口轉(zhuǎn)換成Android平臺 支持的接口。
第二轉(zhuǎn)換子模塊407,用于如果第三判斷子模塊403判斷CLDC不支持 JSR中的接口 ,將JSR中的接口轉(zhuǎn)換成Native Platform支持的接口 。
第四判斷子模塊408,用于判斷DdvikVM是否支持CLDC中的接口。 第五判斷子模塊409,用于如果第四判斷子模塊408判斷Delvik VM不支
持CLDC中的接口 ,判斷CLDC中的接口能否被轉(zhuǎn)換成Delvik VM支持的接。
第三轉(zhuǎn)換子模塊410,用于如果第五判斷子模塊409判斷CLDC中的接 口能被轉(zhuǎn)換成Delvik VM支持的接口 ,將CLDC中的接口轉(zhuǎn)換成Delvik VM 支持的4妄口。
第三調(diào)用子模塊411 ,用于如果第四判斷子模塊408判斷Delvik VM支持 CLDC中的接口 ,調(diào)用Delvik VM和Native Platform實(shí)現(xiàn)CLDC。
第四轉(zhuǎn)換子模塊412,用于如果第五判斷子模塊409判斷CLDC不支持 JSR中的接口 ,將JSR中的接口轉(zhuǎn)換成所述Native Platform支持的接口 。
本發(fā)明實(shí)施例的技術(shù)方案具有以下優(yōu)點(diǎn),因?yàn)橐浦睯2ME應(yīng)用到Android 平臺,可以充分利用現(xiàn)有的大量的J2ME應(yīng)用;無需運(yùn)行兩套JVM, J2ME應(yīng) 用完全依賴于增強(qiáng)的Android平臺JVM (即Delvik JVM),能夠有效減少內(nèi)存 資源的占用;在UI (UserInterface,用戶界面)設(shè)計(jì)上,J2ME應(yīng)用能夠完全 集成到Android的UI中,無需進(jìn)行切換,增強(qiáng)了用戶的使用體驗(yàn);為J2ME 應(yīng)用與Android應(yīng)用的交互提供了可能;J2ME的JVM以及JSR的實(shí)現(xiàn)充分 利用Delvik與Android,減少了代碼的冗余,降低了存儲空間的要求。
通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā) 明可借助4欠件加必需的通用硬件平臺的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件, 但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案 本質(zhì)上或者說對現(xiàn)有技術(shù)估文出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來, 該計(jì)算機(jī)軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺終端 設(shè)備(可以是手機(jī),個人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各 個實(shí)施例所述的方法。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普 通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤 飾,這些改進(jìn)和潤飾也應(yīng)視本發(fā)明的保護(hù)范圍。
權(quán)利要求
1、一種Java 2微型版J2ME應(yīng)用的運(yùn)行方法,其特征在于,包括將J2ME應(yīng)用移植到Android平臺;在所述Android平臺運(yùn)行所述J2ME應(yīng)用。
2、 如權(quán)利要求1所述J2ME應(yīng)用的運(yùn)行方法,其特征在于,所述將J2ME 應(yīng)用移植到Android平臺,具體包括判斷所述Android平臺是否支持所述J2ME應(yīng)用對應(yīng)的Java規(guī)范請求JSR 中的接口,如果所述Android平臺不支持所述JSR中的接口,則判斷所述JSR 中的接口能否被轉(zhuǎn)換成所述Android平臺支持的接口 ;如果所述JSR中的接口不能被轉(zhuǎn)換成Android平臺支持的接口 ,則判斷 受限設(shè)備配置CLDC是否支持所述JSR中的接口 ,如果所述CLDC支持所述 JSR中的接口 ,則調(diào)用所述CLDC和本地平臺Native Platform實(shí)現(xiàn)所述JSR。
3、 如權(quán)利要求2所述J2ME應(yīng)用的運(yùn)行方法,其特征在于,所述判斷 Android平臺是否支持J2ME應(yīng)用對應(yīng)的JSR中的接口之后,還包括如果所述Android平臺支持所述JSR中的接口 ,則調(diào)用所述Android平臺、 所述Delvik虛擬機(jī)VM和所述Native Platform實(shí)現(xiàn)所述JSR。
4、 如權(quán)利要求2所述J2ME應(yīng)用的運(yùn)行方法,其特征在于,所述判斷JSR 中的接口能否被轉(zhuǎn)換成Android平臺支持的接口之后,還包括如果所述JSR中的接口能被轉(zhuǎn)換成Android平臺支持的接口 ,則將所述 JSR中的接口轉(zhuǎn)換成所述Android平臺支持的接口 ,調(diào)用所述Android平臺和 所述Native Platform實(shí)現(xiàn)所述JSR。
5 、如權(quán)利要求2所述J2ME應(yīng)用的運(yùn)行方法,其特征在于,所述判斷CLDC 是否支持JSR中的接口之后,還包括如果所述CLDC不支持所述JSR中的接口 ,則將所述JSR中的接口轉(zhuǎn)換 成所述Native Platform支持的接口 ,調(diào)用所述Native Platform實(shí)現(xiàn)所述JSR。
6、如權(quán)利要求2所述J2ME應(yīng)用的運(yùn)行方法,其特征在于,所述調(diào)用CLDC 之后,還包括判斷所述Delvik VM是否支持所述CLDC中的接口,如果所 述Delvik VM不支持所述CLDC中的接口 ,則判斷所述CLDC中的接口能否被轉(zhuǎn)換成所述Delvik VM支持的接口 ,如果所述CLDC中的接口能被轉(zhuǎn)換成 所述Delvik VM支持的接口 ,則將所述CLDC中的接口轉(zhuǎn)換成所述Delvik VM 支持的接口 ,調(diào)用所述Delvik VM和所述Native Platform實(shí)現(xiàn)所述CLDC。
7、 如權(quán)利要求6所述J2ME應(yīng)用的運(yùn)行方法,其特征在于,所述判斷Delvik VM是否支持CLDC中的接口之后,還包括如果所述Delvik VM支持所述CLDC中的接口 ,則調(diào)用所述Delvik VM 和所述Native Platform實(shí)現(xiàn)所述CLDC。
8、 如權(quán)利要求6所述J2ME應(yīng)用的運(yùn)行方法,其特征在于,所述判斷CLDC 中的接口能否被轉(zhuǎn)換成Delvik VM支持的接口之后,還包括如果所述CLDC中的接口不能被轉(zhuǎn)換成所述Delvik VM支持的接口 ,則 將所述CLDC中的接口轉(zhuǎn)換成所述Native Platform支持的接口,調(diào)用所述 Native Platform實(shí)現(xiàn)所述CLDC。
9、 一種運(yùn)行J2ME應(yīng)用的終端,其特征在于,包括 移植模塊,用于將J2ME應(yīng)用移植到Android平臺;運(yùn)行模塊,用于在所述Android平臺運(yùn)行所述移植才莫塊移植的所述J2ME 應(yīng)用。
10、 如權(quán)利要求9所述運(yùn)行J2ME應(yīng)用的終端,其特征在于,所述移植模 塊,具體包括第一判斷子模塊,用于判斷Android平臺是否支持J2ME應(yīng)用對應(yīng)的JSR 中的接口;第二判斷子模塊,用于如果所述Android平臺不支持所述J2ME應(yīng)用對應(yīng) 的JSR中的4妄口 ,判斷所述JSR中的接口能否^^皮轉(zhuǎn)換成所述Android平臺支 持的接口;第三判斷子模塊,用于如果所述JSR中的接口不能被轉(zhuǎn)換成Android平 臺支持的接口 ,則判斷CLDC是否支持所述JSR中的接口 ;第一調(diào)用子模塊,用于如果所述CLDC支持所述JSR中的接口,則調(diào)用 所述CLDC和Native Platform實(shí)現(xiàn)所述JSR。
11、 如權(quán)利要求10所述運(yùn)行J2ME應(yīng)用的終端,其特征在于,所述移植模塊,還包括第二調(diào)用子^:莫塊,用于如果所述第 一判斷子才莫塊判斷所述Android平臺支 持所述J2ME應(yīng)用對應(yīng)的JSR中的接口,調(diào)用所述Android平臺、所述Delvik 虛擬機(jī)VM和所述Native Platform實(shí)現(xiàn)所述JSR。
12、 如權(quán)利要求10所述運(yùn)行J2ME應(yīng)用的終端,其特征在于,所述移植 模塊,還包括第一轉(zhuǎn)換模子塊,用于如果所述第三判斷子才莫塊判斷所述JSR中的接口 能被轉(zhuǎn)換成Android平臺支持的接口 ,將所述JSR中的接口轉(zhuǎn)換成所述Android 平臺支持的才妄口。
13、 如權(quán)利要求10所述運(yùn)行J2ME應(yīng)用的終端,其特征在于,所述移植 模塊,還包括第二轉(zhuǎn)換子模塊,用于如果所述第三判斷子模塊判斷所述CLDC不支持 所述JSR中的接口 ,則將所述JSR中的接口轉(zhuǎn)換成所述Native Platform支持 的接口。
14、 如權(quán)利要求10所述運(yùn)行J2ME應(yīng)用的終端,其特征在于,所述移植 模塊,還包括第四判斷子模塊,用于判斷所述Delvik VM是否支持所述CLDC中的接cr;第五判斷子模塊,用于如果所述第四判斷子模塊判斷所述Delvik VM不 支持所述CLDC中的接口,則判斷所述CLDC中的接口能否被轉(zhuǎn)換成所述 Delvik VM支持的接口 ;第三轉(zhuǎn)換子模塊,用于如果所述第五判斷子模塊判斷所述CLDC中的接 口能被轉(zhuǎn)換成所述Delvik VM支持的接口 ,則將所述CLDC中的接口轉(zhuǎn)換成 所述Delvik VM支持的接口 。
15、 如權(quán)利要求14所述運(yùn)行J2ME應(yīng)用的終端,其特征在于,所述移植 模塊,還包括第三調(diào)用子模塊,用于如果所述第四判斷子模塊判斷所述Delvik VM支 持所述CLDC中的接口 ,調(diào)用所述Delvik VM和所述Native Platform實(shí)現(xiàn)所述CLDC。
16、如權(quán)利要求14所述運(yùn)行J2ME應(yīng)用的終端,其特征在于,所述移植 模塊,還包括第四轉(zhuǎn)換子模塊,用于如果所述第五判斷子模塊判斷所述CLDC不支持 所述JSR中的接口 ,將所述JSR中的接口轉(zhuǎn)換成所述Native Platform支持的 接口。
全文摘要
本發(fā)明公開了一種J2ME應(yīng)用的運(yùn)行方法,包括將J2ME應(yīng)用移植到Android平臺;在所述Android平臺運(yùn)行所述J2ME應(yīng)用。本發(fā)明公開了一種運(yùn)行J2ME應(yīng)用的終端,包括移植模塊,用于將J2ME應(yīng)用移植到Android平臺;運(yùn)行模塊,用于在所述Android平臺運(yùn)行所述移植模塊移植的所述J2ME應(yīng)用。本發(fā)明實(shí)施例移植J2ME應(yīng)用到Android平臺,能夠有效減少對內(nèi)存資源的占用。
文檔編號G06F9/44GK101339508SQ20081014745
公開日2009年1月7日 申請日期2008年8月18日 優(yōu)先權(quán)日2008年8月18日
發(fā)明者孫建華 申請人:深圳華為通信技術(shù)有限公司