国产精品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>

      一種java應(yīng)用中加載圖片的方法和裝置的制作方法

      文檔序號(hào):6576611閱讀:199來源:國(guó)知局
      專利名稱:一種java應(yīng)用中加載圖片的方法和裝置的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及機(jī)頂盒領(lǐng)域,尤其涉及一種java應(yīng)用中加載圖片的方法和裝置。
      背景技術(shù)
      目前機(jī)頂盒上已經(jīng)開始流行采用內(nèi)嵌java虛擬機(jī),Java是一種編程語(yǔ)言,由s皿公司發(fā)布,通過java語(yǔ)言開發(fā)機(jī)頂盒軟件,尤其是機(jī)頂盒中間件,java編程有其獨(dú)特的優(yōu)勢(shì),如平臺(tái)無關(guān)性,安全性,豐富的功能完善的包,擴(kuò)展性強(qiáng)等等,但在嵌入式上采用Java也有一些劣勢(shì),特別是性能問題。比起傳統(tǒng)的利用C語(yǔ)言開發(fā)的機(jī)頂盒軟件,java在機(jī)頂盒上運(yùn)行的效果要慢,我們這里舉個(gè)例子,加載圖片資源,傳統(tǒng)的C語(yǔ)言開發(fā),圖片資源會(huì)被存儲(chǔ)為二進(jìn)制格式,C語(yǔ)言直接讀取,進(jìn)行必要的解碼后就可以顯示出來。[OOO3] 而現(xiàn)在采用java加載圖片,一般采用如下方式j(luò)ava中awt包加載圖片時(shí),通過Toolkit. getDefaultToolkit 0 . getlmage ( 〃 image/background, jpg 〃 )形式力口載圖片,其內(nèi)部實(shí)現(xiàn)原理為在當(dāng)前的java程序運(yùn)行時(shí)配置的classpath的image路徑下查找圖片,如果找到,則讀取之。 但這種方式支持的功能有限,當(dāng)java應(yīng)用程序?qū)С龀蒵ar文件發(fā)布后,通過網(wǎng)絡(luò)下載保存到本地機(jī)頂盒,再由機(jī)頂盒的應(yīng)用管理器通過自定義的類加載器classloader加載運(yùn)行時(shí),圖片無法正常加載顯示,原因是這種方式只能在啟動(dòng)虛擬機(jī)時(shí)配置的類路徑classpath目錄下查找,不支持智能的在當(dāng)前運(yùn)行的jar應(yīng)用包所在的路徑中查找,所述jar是一種壓縮文件包,通常是開發(fā)時(shí)要引用通用類,打成jar包便于存放管理。
      為了解決這些問題,現(xiàn)有的做法是重載getlmage方法,將當(dāng)前運(yùn)行的jar應(yīng)用包所在的絕對(duì)路徑傳入getlmage方法,然后利用Java的zip包提供的功能從對(duì)應(yīng)的jar應(yīng)用包中讀取圖片數(shù)據(jù),然后再通過native方法傳到C語(yǔ)言底層中去構(gòu)造圖片,最后顯示出來。 發(fā)明人在實(shí)施過程中發(fā)現(xiàn)上述現(xiàn)有解決方案存在兩方面缺點(diǎn),首先現(xiàn)有解決方案通過Java方法把圖片數(shù)據(jù)讀取到Java層,然后又通過native把數(shù)據(jù)傳遞到C層,不僅浪費(fèi)時(shí)間,而且浪費(fèi)內(nèi)存;其次現(xiàn)有解決方案沒有解決如何獲取到當(dāng)前jar應(yīng)用包在機(jī)頂盒中的絕對(duì)路徑,仍然不支持加載一個(gè)從網(wǎng)絡(luò)上下載下來的jar應(yīng)用包中的圖片,如果需要支持加載jar應(yīng)用包中的圖片,則需要Java的開發(fā)人員和機(jī)頂盒應(yīng)用管理器的開發(fā)人員事先協(xié)商,非常不方便。

      發(fā)明內(nèi)容
      鑒于上述現(xiàn)有技術(shù)所存在的問題,本發(fā)明實(shí)施例提供了一種java應(yīng)用中加載圖片的方法和裝置,通過獲取存儲(chǔ)jar應(yīng)用包的絕對(duì)路徑,直接在C語(yǔ)言底層解壓并找到需要加載的圖片,減輕了機(jī)頂盒開發(fā)人員工作的同時(shí),實(shí)現(xiàn)了高效加載圖片,提高了效率。
      為了解決現(xiàn)有技術(shù)存在的問題,本發(fā)明實(shí)施例提供了一種java應(yīng)用中加載圖片的方法,用于機(jī)頂盒中間件中,包括
      Java層獲取存儲(chǔ)jar應(yīng)用包的絕對(duì)路徑; Java層將獲取到的所述存儲(chǔ)jar應(yīng)用包的絕對(duì)路徑和jar應(yīng)用包中預(yù)先寫入的需要加載的圖片的相對(duì)路徑傳到C語(yǔ)言底層中; C語(yǔ)言底層獲取到存儲(chǔ)所述jar應(yīng)用包的絕對(duì)路徑后,解壓打開所述jar應(yīng)用包,根據(jù)所述jar應(yīng)用包中的需要加載的圖片的相對(duì)路徑找到對(duì)應(yīng)圖片,讀出所述圖片的二進(jìn)制數(shù)據(jù)到緩存中; C語(yǔ)言底層調(diào)用圖形引擎,根據(jù)所述圖片的二進(jìn)制數(shù)據(jù)構(gòu)造出圖片并解碼顯示。
      相應(yīng)的,本發(fā)明實(shí)施例還提供了一種廣告系統(tǒng),用于機(jī)頂盒中間件,包括獲取單元,路徑傳遞單元,圖片查找讀取單元和解碼顯示單元,其中
      所述獲取單元,用于獲取存儲(chǔ)jar應(yīng)用包的絕對(duì)路徑; 所述路徑傳遞單元與所述圖片查找讀取單元相連,用于將所述獲取模塊獲取到的存儲(chǔ)所述jar應(yīng)用包的絕對(duì)路徑和jar應(yīng)用包中預(yù)先寫入的需要加載的圖片的相對(duì)路徑傳到所述圖片查找讀取單元中; 所述圖片查找讀取單元,用于根據(jù)獲取到的存儲(chǔ)所述jar應(yīng)用包的絕對(duì)路徑,解壓打開所述jar應(yīng)用包,根據(jù)所述jar應(yīng)用包中的需要加載的圖片的相對(duì)路徑找到對(duì)應(yīng)圖片,讀出所述圖片的二進(jìn)制數(shù)據(jù)到緩存中; 解碼顯示單元,用于調(diào)用圖形引擎,將存儲(chǔ)在所述圖片查找讀取單元的緩存中的圖片的二進(jìn)制數(shù)據(jù)構(gòu)造出圖片并解碼顯示。 實(shí)施本發(fā)明實(shí)施例,通過Java層獲取存儲(chǔ)jar應(yīng)用包的絕對(duì)路徑;Java層將獲取到的存儲(chǔ)所述jar應(yīng)用包的絕對(duì)路徑和jar應(yīng)用包中預(yù)先寫入的需要加載的圖片的相對(duì)路徑傳到C語(yǔ)言底層中;C語(yǔ)言底層獲取到存儲(chǔ)所述jar應(yīng)用包的絕對(duì)路徑后,解壓打開所述jar應(yīng)用包,根據(jù)所述jar應(yīng)用包中的需要加載的圖片的相對(duì)路徑找到對(duì)應(yīng)圖片,讀出所述圖片的二進(jìn)制數(shù)據(jù)到緩存中;C語(yǔ)言底層調(diào)用圖形引擎,根據(jù)所述圖片的二進(jìn)制數(shù)據(jù)構(gòu)造出圖片并解碼顯示,減輕了開發(fā)機(jī)頂盒應(yīng)用人員工作的同時(shí),實(shí)現(xiàn)了高效加載圖片,提高了效率。


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