專利名稱:一種java應用中加載圖片的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及機頂盒領(lǐng)域,尤其涉及一種java應用中加載圖片的方法和裝置。
背景技術(shù):
目前機頂盒上已經(jīng)開始流行采用內(nèi)嵌java虛擬機,Java是一種編程語言,由s皿公司發(fā)布,通過java語言開發(fā)機頂盒軟件,尤其是機頂盒中間件,java編程有其獨特的優(yōu)勢,如平臺無關(guān)性,安全性,豐富的功能完善的包,擴展性強等等,但在嵌入式上采用Java也有一些劣勢,特別是性能問題。比起傳統(tǒng)的利用C語言開發(fā)的機頂盒軟件,java在機頂盒上運行的效果要慢,我們這里舉個例子,加載圖片資源,傳統(tǒng)的C語言開發(fā),圖片資源會被存儲為二進制格式,C語言直接讀取,進行必要的解碼后就可以顯示出來。[OOO3] 而現(xiàn)在采用java加載圖片,一般采用如下方式j(luò)ava中awt包加載圖片時,通過Toolkit. getDefaultToolkit 0 . getlmage ( 〃 image/background, jpg 〃 )形式力口載圖片,其內(nèi)部實現(xiàn)原理為在當前的java程序運行時配置的classpath的image路徑下查找圖片,如果找到,則讀取之。 但這種方式支持的功能有限,當java應用程序?qū)С龀蒵ar文件發(fā)布后,通過網(wǎng)絡(luò)下載保存到本地機頂盒,再由機頂盒的應用管理器通過自定義的類加載器classloader加載運行時,圖片無法正常加載顯示,原因是這種方式只能在啟動虛擬機時配置的類路徑classpath目錄下查找,不支持智能的在當前運行的jar應用包所在的路徑中查找,所述jar是一種壓縮文件包,通常是開發(fā)時要引用通用類,打成jar包便于存放管理。
為了解決這些問題,現(xiàn)有的做法是重載getlmage方法,將當前運行的jar應用包所在的絕對路徑傳入getlmage方法,然后利用Java的zip包提供的功能從對應的jar應用包中讀取圖片數(shù)據(jù),然后再通過native方法傳到C語言底層中去構(gòu)造圖片,最后顯示出來。 發(fā)明人在實施過程中發(fā)現(xiàn)上述現(xiàn)有解決方案存在兩方面缺點,首先現(xiàn)有解決方案通過Java方法把圖片數(shù)據(jù)讀取到Java層,然后又通過native把數(shù)據(jù)傳遞到C層,不僅浪費時間,而且浪費內(nèi)存;其次現(xiàn)有解決方案沒有解決如何獲取到當前jar應用包在機頂盒中的絕對路徑,仍然不支持加載一個從網(wǎng)絡(luò)上下載下來的jar應用包中的圖片,如果需要支持加載jar應用包中的圖片,則需要Java的開發(fā)人員和機頂盒應用管理器的開發(fā)人員事先協(xié)商,非常不方便。
發(fā)明內(nèi)容
鑒于上述現(xiàn)有技術(shù)所存在的問題,本發(fā)明實施例提供了一種java應用中加載圖片的方法和裝置,通過獲取存儲jar應用包的絕對路徑,直接在C語言底層解壓并找到需要加載的圖片,減輕了機頂盒開發(fā)人員工作的同時,實現(xiàn)了高效加載圖片,提高了效率。
為了解決現(xiàn)有技術(shù)存在的問題,本發(fā)明實施例提供了一種java應用中加載圖片的方法,用于機頂盒中間件中,包括
Java層獲取存儲jar應用包的絕對路徑; Java層將獲取到的所述存儲jar應用包的絕對路徑和jar應用包中預先寫入的需要加載的圖片的相對路徑傳到C語言底層中; C語言底層獲取到存儲所述jar應用包的絕對路徑后,解壓打開所述jar應用包,根據(jù)所述jar應用包中的需要加載的圖片的相對路徑找到對應圖片,讀出所述圖片的二進制數(shù)據(jù)到緩存中; C語言底層調(diào)用圖形引擎,根據(jù)所述圖片的二進制數(shù)據(jù)構(gòu)造出圖片并解碼顯示。
相應的,本發(fā)明實施例還提供了一種廣告系統(tǒng),用于機頂盒中間件,包括獲取單元,路徑傳遞單元,圖片查找讀取單元和解碼顯示單元,其中
所述獲取單元,用于獲取存儲jar應用包的絕對路徑; 所述路徑傳遞單元與所述圖片查找讀取單元相連,用于將所述獲取模塊獲取到的存儲所述jar應用包的絕對路徑和jar應用包中預先寫入的需要加載的圖片的相對路徑傳到所述圖片查找讀取單元中; 所述圖片查找讀取單元,用于根據(jù)獲取到的存儲所述jar應用包的絕對路徑,解壓打開所述jar應用包,根據(jù)所述jar應用包中的需要加載的圖片的相對路徑找到對應圖片,讀出所述圖片的二進制數(shù)據(jù)到緩存中; 解碼顯示單元,用于調(diào)用圖形引擎,將存儲在所述圖片查找讀取單元的緩存中的圖片的二進制數(shù)據(jù)構(gòu)造出圖片并解碼顯示。 實施本發(fā)明實施例,通過Java層獲取存儲jar應用包的絕對路徑;Java層將獲取到的存儲所述jar應用包的絕對路徑和jar應用包中預先寫入的需要加載的圖片的相對路徑傳到C語言底層中;C語言底層獲取到存儲所述jar應用包的絕對路徑后,解壓打開所述jar應用包,根據(jù)所述jar應用包中的需要加載的圖片的相對路徑找到對應圖片,讀出所述圖片的二進制數(shù)據(jù)到緩存中;C語言底層調(diào)用圖形引擎,根據(jù)所述圖片的二進制數(shù)據(jù)構(gòu)造出圖片并解碼顯示,減輕了開發(fā)機頂盒應用人員工作的同時,實現(xiàn)了高效加載圖片,提高了效率。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。 圖1是本發(fā)明實施例Java應用中加載圖片的方法的一流程示意 圖2是本發(fā)明實施例java應用中加載圖片的方法的另一流程示意 圖3是本發(fā)明實施例java應用中加載圖片的裝置的結(jié)構(gòu)示意 圖4是圖3裝置中獲取單元的結(jié)構(gòu)示意 圖5是圖4中第一獲取單元的結(jié)構(gòu)示意 圖6是圖3中路徑傳遞單元的結(jié)構(gòu)示意圖。
具體實施方式
本發(fā)明實施例提供了一種Java應用中加載圖片的方法和裝置,通過獲取存儲jar應用包的絕對路徑,直接在C語言底層解壓并找到需要加載的圖片,減輕了開發(fā)機頂盒應用人員工作的同時,實現(xiàn)了高效加載圖片,提高了效率。 機頂盒中采用內(nèi)嵌Java虛擬機,通過Java語言開發(fā)機頂盒軟件,尤其是機頂盒中間件時,首先在本地機頂盒內(nèi)嵌一個java虛擬機,在虛擬機之上部署好一個j肌a應用管理器,當應用管理器從網(wǎng)絡(luò)上下載一個jar應用包形式的應用后,例如music. jar(音樂播放軟件),保存在機頂盒存儲設(shè)備中,假設(shè)路徑為/flash/music. jar。 當需要啟動該應用(即該音樂播放軟件)時,應用平臺需要進行以下步驟首先創(chuàng)建一個URL類加載器(URLClassLoader)加載這個應用,將該應用所在的路徑/flash/music. jar傳入URLCloassLoader ;然后由應用管理器找到music. jar中的入口類并啟動該音樂播放應用。 開發(fā)人員在開發(fā)music, jar這個應用時,界面上如果需要顯示一張圖片,仍然按照最常用的方式編寫代碼,如Toolkit. getDefaultToolkit () getlmage ( 〃 image/background, jpg〃 ),這表明需要在當前jar應用包中查找image/background, jpg這個圖片并加載;本發(fā)明實施例通過改造機頂盒內(nèi)嵌的虛擬機,主要修改getlmage方法,使其能自動識別出當前運行的jar應用包是從哪個路徑下加載運行的。所述getlmage方法指加載圖片的方法,為Toolkit類的方法,用于加載圖片;所述Toolkit為標準的Java類。
下面結(jié)合附圖詳細說明本發(fā)明的優(yōu)選實施例。 參見圖l,為本發(fā)明實施例java應用中加載圖片的方法的一流程示意圖,包括
步驟101 :Java層獲取存儲jar應用包的絕對路徑; 具體的,在步驟101之前還包括從網(wǎng)絡(luò)端下載所述jar應用包并保存在機頂盒存儲設(shè)備中,所述網(wǎng)絡(luò)端的jar應用包是開放人員新建一個Java工程,在Java路徑中通過相對路徑加載圖片,導出并存放在網(wǎng)絡(luò)服務(wù)器端的jar應用包。假設(shè)開發(fā)人員在開發(fā)music,jar這個應用時,界面上需要顯示一張圖片,則開發(fā)人員可以按照最常用的方法編寫代碼,如Toolkit. getDefaultToolkit (). getlmage (〃 image/background, jpg"),這表明需要在當前jar應用包中查找image/background, jpg這個圖片并加載,將這個應用打包放在網(wǎng)絡(luò)服務(wù)器端,供機頂盒應用管理者下載。 步驟101中Java層獲取存儲jar應用包的絕對路徑具體包括如下步驟
A :獲取調(diào)用getlmage方法的類,所述getlmage方法指加載圖片方法,getlmage是Toolkit類中的方法,用于加載圖片,所述Toolkit是標準的java類,本步驟是通過在getlmage方法中新增一個native方法,專門用來獲取調(diào)用getlmage的類,所述native方法是一種Java和C語言互相調(diào)用的方法。 B :根據(jù)所述獲取到的getlmage方法的類,獲取加載jar應用包的類加載器classloader ;所述獲取到的getlmage方法的類就是music, jar中的某個類,通過getclassloader的方法獲取加載 music.jar的classloader。 C :通過所述類加載器獲取存儲所述jar應用包的絕對路徑,接上述例子,就為通過所述類加載器classloader獲取存儲所述music, jar應用包的絕對路徑,假設(shè)該絕對路徑為(/flash/music, jar)。 步驟102 : Java層將獲取到的存儲所述jar應用包的絕對路徑和jar應用包中預
6先寫入的需要加載的圖片的相對路徑傳到C語言底層中; 所述將存儲所述jar應用包的絕對路徑(/flash/music, jar) 和jar應用包中預 先寫入的需要加載的圖片的相對路徑(image/background, jpg)傳到C語言底層中,是通過 native方法將上述兩路徑傳到C語言底層中的。值得注意的是本步驟所述native方法與 步驟101中的A步驟中所示的native方法為不同的方法,兩者用途不一樣,但從廣義功能 上講均為一種java語言和C語言互相調(diào)用的方法,因此在java語言中統(tǒng)稱為native方法。
步驟103 :C語言底層獲取到存儲所述jar應用包的絕對路徑(/flash/music, jar)后,調(diào)用zip算法解壓打開所述jar應用包,根據(jù)所述jar應用包中的需要加載的圖片 的相對路徑(image/background, jpg)找到對應圖片,讀出所述圖片的二進制數(shù)據(jù)到一個 緩存中; 步驟104 :C語言底層調(diào)用圖形引擎,從所述圖片的二進制數(shù)據(jù)中構(gòu)造出圖片并解 碼顯示。該步驟中,根據(jù)所述圖片的二進制數(shù)據(jù)構(gòu)造出圖片并解碼,解碼出來的圖片用于顯 示。 參見圖2,為本發(fā)明實施例java應用中加載圖片的方法的另一流程示意圖。該流 程示意圖是結(jié)合網(wǎng)絡(luò)服務(wù)器端和機頂盒終端來描述的流程。 首先在網(wǎng)絡(luò)服務(wù)器端,開發(fā)人員新建一個java應用工程,如xlet, java應用中通
過相對路徑加載圖片,最后導出jar格式的jar應用包,存放在服務(wù)器端,供下載。 在機頂盒終端,機頂盒Java應用管理器通過網(wǎng)絡(luò)下載存放在服務(wù)器端的jar應用
包,并存儲到機頂盒中,通過一個自定義的classloader加載jar應用包。 當jar應用包下載并存儲到機頂盒中后,機頂盒終端加載jar應用包中的圖片包
括如下步驟 步驟201 :通過native方法獲取調(diào)用getlmage方法的類,所述native方法是 getlmage方法中的實現(xiàn)獲取調(diào)用類的方法; 步驟202 :根據(jù)所述獲取到的getlmage方法的類,獲取加載jar應用包的類加載 器classloader ; 步驟203 :通過所述加載jar應用包的classloader,獲取存儲所述jar應用包的 絕對路徑; 步驟204 : Java層將獲取到的所述存儲jar應用包的絕對路徑和jar應用包中預 先寫入的需要加載的圖片的相對路徑通過native方法傳到C語言底層中,所述native方 法是一種Java和C語言互相調(diào)用的方法; 步驟205 :C語言底層獲取到存儲所述jar應用包的絕對路徑后,解壓打開所述 jar應用包,根據(jù)所述jar應用包中的需要加載的圖片的相對路徑找到對應圖片,讀出所述 圖片的二進制數(shù)據(jù)到緩存中; 步驟206:C語言底層調(diào)用圖形引擎,根據(jù)所述圖片的二進制數(shù)據(jù)構(gòu)造出圖片并解 碼顯示。 實施本發(fā)明實施例java應用中加載圖片的方法,通過獲取存儲jar應用包的絕對 路徑,將所述獲取到的存儲jar應用包的絕對路徑和jar應用包中預先寫入的需要加載的 圖片的相對路徑傳到C語言底層中,在C語言底層中對jar包進行解壓處理,實現(xiàn)了高效加 載圖片,提高了效率,同時,減輕了開發(fā)人員的工作,不再需要jar應用包開發(fā)人員同機頂盒管理人員協(xié)商路徑問題。 上面詳細介紹了本發(fā)明實施例中java應用中加載圖片的方法的流程,下面將結(jié) 合圖3描述本發(fā)明實施例中Java應用中加載圖片的裝置的結(jié)構(gòu)。 參見圖3,為本發(fā)明實施例java應用中加載圖片的裝置的結(jié)構(gòu)示意圖,包括獲取 單元l,路徑傳遞單元2,圖片查找讀取單元3和解碼顯示單元4,其中
所述獲取單元l,用于獲取存儲jar應用包的絕對路徑;
具體的,參見圖4,為所述獲取單元1的結(jié)構(gòu)示意圖,包括 第一獲取單元11 ,用于獲取調(diào)用getlmage方法的類,所述getlmage方法指加載圖 片的方法;參見圖5,為所述第一獲取單元11的結(jié)構(gòu)示意圖,包括第一native單元lll,用 于獲取調(diào)用加載圖片getlmage方法的類,所述native單元111是一種實現(xiàn)Java和C語言 互相調(diào)用的單元。 第二獲取單元12,根據(jù)所述第一獲取單元11獲取到的getlmage方法的類,獲取加 載jar應用包的類加載器classloader ; 第三獲取單元13,通過所述第二獲取單元12獲取到的類加載器classloader獲取 存儲所述jar應用包的絕對路徑。 所述路徑傳遞單元2與所述圖片查找讀取單元3相連,用于將所述獲取模塊1獲 取到的存儲所述jar應用包的絕對路徑和jar應用包中預先寫入的需要加載的圖片的相對 路徑傳到所述圖片查找讀取單元3中;參見圖6,為所述路徑傳遞單元的結(jié)構(gòu)示意圖,包括 第二 native單元21,用于將所述獲取模塊1獲取到的存儲所述jar應用包的絕對路徑和 jar應用包中預先寫入的需要加載的圖片的相對路徑傳到所述圖片查找讀取單元3中。
所述圖片查找讀取單元3,用于根據(jù)獲取到的存儲所述jar應用包的絕對路徑,解 壓打開所述jar應用包,根據(jù)所述jar應用包中的需要加載的圖片的相對路徑找到對應圖 片,讀出所述圖片的二進制數(shù)據(jù)到緩存中; 解碼顯示單元4,用于調(diào)用圖形引擎,將存儲在所述圖片查找讀取單元的緩存中的
圖片的二進制數(shù)據(jù)構(gòu)造出圖片并解碼顯示。 所述Java應用中加載圖片的裝置還包括 存儲單元5,用于存儲從網(wǎng)絡(luò)端下載的jar應用包。所述jar應用包是網(wǎng)絡(luò)端開 放人員新建一個java工程(例如xlet),在java路徑中通過相對路徑加載圖片,導出Java 包存放在服務(wù)器端的java應用包。假設(shè)開發(fā)人員在開發(fā)music, jar這個應用時,界面上 需要顯示一張圖片,則按照最常用的方法編寫代碼,如-Toolkit. getDefaultToolkit(). getlmage(" image/background, jpg 〃 ),這表明需要在當前jar應用包中查找image/ background, jpg這個圖片并加載,將這個應用打包放在網(wǎng)絡(luò)服務(wù)器端,供機頂盒應用管理 者下載。 現(xiàn)有技術(shù)中,從網(wǎng)絡(luò)上下載一個java應用(打包成jar形式)到本地機頂盒,由于 現(xiàn)有技術(shù)沒有解決如何在獲取當前jar應用包在機頂盒中的絕對路徑,應用管理器通過自 定義的classloader加載這個應用,需要應用中先寫好當前應用的路徑,這需要開發(fā)Java 應用的開發(fā)人員和機頂盒應用管理器的開發(fā)人員事先協(xié)商路徑,非常不方便,而且采用現(xiàn) 有的Java方法從機頂盒存儲設(shè)備(如FLASH)的jar應用包中讀取圖片數(shù)據(jù)到Java層, 然后再傳回到C層進行解碼顯示的方式加載、顯示圖片速度非常慢,浪費了時間,降低了效
8率。本發(fā)明實施例與現(xiàn)有技術(shù)的區(qū)別在于,本發(fā)明實施例中通過改造機頂盒內(nèi)嵌的虛擬機, 主要通過修改getlmage方法,在getlmage方法中新增native方法的方式,能獲取到當前 jar應用包在機頂盒中的絕對路徑,減輕了開發(fā)機頂盒Java應用的開發(fā)人員的工作,其開 發(fā)Java應用仍然按照以前的習慣,不用考慮這個應用最終會存放在哪里應用,加載圖片和 在本地PC機運行效果一樣,且大大減少了 jar應用包應用加載圖片過程中的數(shù)據(jù)拷貝,加 快了機頂盒上加載jar應用包中的圖片的顯示速度,特別是當jar應用包采用壓縮形式時, 此方法由于在C語言底層解壓,更能體現(xiàn)出效率性。 本發(fā)明實施例通過Java層獲取存儲jar應用包的絕對路徑,并將獲取到的存儲
所述jar應用包的絕對路徑和jar應用包中預先寫入的需要加載的圖片的相對路徑傳到C
語言底層中;C語言底層獲取到存儲所述jar應用包的絕對路徑后,解壓打開所述jar應用
包,根據(jù)所述jar應用包中的需要加載的圖片的相對路徑找到對應圖片,讀出所述圖片的
二進制數(shù)據(jù)到緩存中,并調(diào)用圖形引擎,根據(jù)所述圖片的二進制數(shù)據(jù)構(gòu)造出圖片并解碼顯
示,減輕了開發(fā)機頂盒應用人員工作的同時,實現(xiàn)了高效加載圖片,提高了效率。 以上所揭露的僅為本發(fā)明一種較佳實施例而已,當然不能以此來限定本發(fā)明之權(quán)
利范圍,因此依本發(fā)明權(quán)利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。 通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助
軟件加必需的硬件平臺的方式來實現(xiàn),當然也可以全部通過硬件來實施?;谶@樣的理解,
本發(fā)明的技術(shù)方案對背景技術(shù)做出貢獻的全部或者部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,
該計算機軟件產(chǎn)品可以存儲在存儲介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使
得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例
或者實施例的某些部分所述的方法。
權(quán)利要求
一種java應用中加載圖片的方法,用于機頂盒中間件中,其特征在于,包括Java層獲取存儲jar應用包的絕對路徑;Java層將獲取到的所述存儲jar應用包的絕對路徑和jar應用包中預先寫入的需要加載的圖片的相對路徑傳到C語言底層中;C語言底層獲取到存儲所述jar應用包的絕對路徑后,解壓打開所述jar應用包,根據(jù)所述jar應用包中的需要加載的圖片的相對路徑找到對應圖片,讀出所述圖片的二進制數(shù)據(jù)到緩存中;C語言底層調(diào)用圖形引擎,根據(jù)所述圖片的二進制數(shù)據(jù)構(gòu)造出圖片并解碼顯示。
2. 如權(quán)利要求1所述的方法,其特征在于,所述java層獲取存儲jar應用包的絕對路 徑步驟具體包括獲取調(diào)用get Image方法的類;根據(jù)所述獲取到的getlmage方法的類,獲取加載jar應用包的類加載器; 通過所述類加載器獲取存儲所述jar應用包的絕對路徑。
3. 如權(quán)利要求2所述的方法,其特征在于,所述獲取調(diào)用getlmage方法的類包括 通過native方法獲取調(diào)用getlmage方法的類,所述native方法是getlmage方法中的實現(xiàn)獲取調(diào)用類的方法。
4. 如權(quán)利要求2所述的方法,其特征在于,所述Java層將所述存儲jar應用包的絕對 路徑和jar應用包中預先寫入的需要加載的圖片的相對路徑傳到C語言底層包括通過native方法將所述存儲jar應用包的絕對路徑和jar應用包中預先寫入的需要 加載的圖片的相對路徑傳到C語言底層中,所述native方法是一種Java和C語言互相調(diào) 用的方法。
5. 如權(quán)利要求3或4所述的方法,其特征在于,在所述獲取調(diào)用getlmage方法的類步 驟前,還包括從網(wǎng)絡(luò)端下載所述jar應用包并保存在機頂盒設(shè)備中。
6. —種java應用中加載圖片的裝置,用于機頂盒中間件中,其特征在于,包括獲取單 元,路徑傳遞單元,圖片查找讀取單元和解碼顯示單元,其中所述獲取單元,用于獲取存儲jar應用包的絕對路徑;所述路徑傳遞單元與所述圖片查找讀取單元相連,用于將所述獲取模塊獲取到的存儲 所述jar應用包的絕對路徑和jar應用包中預先寫入的需要加載的圖片的相對路徑傳到所 述圖片查找讀取單元中;所述圖片查找讀取單元,用于根據(jù)獲取到的存儲所述jar應用包的絕對路徑,解壓打 開所述jar應用包,根據(jù)所述jar應用包中的需要加載的圖片的相對路徑找到對應圖片,讀 出所述圖片的二進制數(shù)據(jù)到緩存中;解碼顯示單元,用于調(diào)用圖形引擎,將存儲在所述圖片查找讀取單元的緩存中的圖片 的二進制數(shù)據(jù)構(gòu)造出圖片并解碼顯示。
7. 如權(quán)利要求6所述的裝置,其特征在于,所述獲取單元包括 第一獲取單元,用于獲取調(diào)用getlmage方法的類;第二獲取單元,根據(jù)所述第一獲取單元獲取到的getlmage方法的類,獲取加載jar應 用包的類加載器;第三獲取單元,通過所述第二獲取單元獲取到的類加載器獲取存儲所述jar應用包的 絕對路徑。
8. 如權(quán)利要求7所述的裝置,其特征在于,所述第一獲取單元包括 第一 native單元,用于獲取調(diào)用getlmage方法的類。
9. 如權(quán)利要求7所述的裝置,其特征在于,所述路徑傳遞單元包括第二 native單元,將所述獲取模塊獲取到的存儲所述jar應用包的絕對路徑和jar 應用包中預先寫入的需要加載的圖片的相對路徑傳到所述圖片查找讀取單元中,所述第二 native單元是一種實現(xiàn)Java和C語言互相調(diào)用的單元。
10. 如權(quán)利要求8或9所述的裝置,其特征在于,所述裝置還包括 存儲單元,用于存儲從網(wǎng)絡(luò)端下載的jar應用包。
全文摘要
本發(fā)明提供了一種java應用中加載圖片的方法,java層獲取存儲jar應用包的絕對路徑;java層將獲取到的存儲所述jar應用包的絕對路徑和jar應用包中預先寫入的需要加載的圖片的相對路徑傳到C語言底層中;C語言底層獲取到存儲所述jar應用包的絕對路徑后,解壓打開所述jar應用包,根據(jù)所述jar應用包中的需要加載的圖片的相對路徑找到對應圖片,讀出所述圖片的二進制數(shù)據(jù)到緩存中;C語言底層調(diào)用圖形引擎,根據(jù)所述圖片的二進制數(shù)據(jù)構(gòu)造出圖片并解碼顯示。對應的,本發(fā)明還提供了一種java應用中加載圖片的裝置,減輕了開發(fā)機頂盒應用人員工作的同時,實現(xiàn)了高效加載圖片,提高了效率。
文檔編號G06F9/445GK101729753SQ20091011010
公開日2010年6月9日 申請日期2009年11月6日 優(yōu)先權(quán)日2009年11月6日
發(fā)明者胡華濤 申請人:深圳市同洲電子股份有限公司