<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    j2me-Pak文件 ZT

    Posted on 2007-06-06 15:52 my 閱讀(392) 評(píng)論(0)  編輯  收藏 所屬分類: 手機(jī)相關(guān)
    一、什么是Pak文件:
      
      Pak文件就是將多個(gè)文件打包為一個(gè)單獨(dú)文件,在這個(gè)文件中保存著多個(gè)文件的數(shù)據(jù),當(dāng)然還有一些描述文件結(jié)構(gòu)的數(shù)據(jù)。所以將“Pak”作為文件的后綴是一種常規(guī)的用法,大家可以自定義其它的文件后綴。
      
      二、為什么使用Pak文件:
      
    JAVA手機(jī)網(wǎng)[www.cnjm.net]
      由于MIDP對(duì)發(fā)布安裝的j2me程序大小進(jìn)行了限制,所以縮小發(fā)布程序就意味著能夠提供更多的程序或者內(nèi)容(如圖片、音樂)給用戶。而通過研究發(fā)現(xiàn)zip/jar算法對(duì)大文件的壓縮率高于對(duì)等量的多個(gè)小文件的壓縮率。
      
      當(dāng)然還有其它方法,這里簡單做一下討論比如使用混淆器ProGuard的“-overloadaggressively”選項(xiàng)使jar文件縮小,但也會(huì)導(dǎo)致一些錯(cuò)誤,因?yàn)檫@種方法生成jar中的class符合java byte code標(biāo)準(zhǔn),但是與java語法相悖,嚴(yán)重的可能造成一些jre對(duì)Object的序列化錯(cuò)誤。
      
      所以使用Pak方法將程序中要用到的資源(圖片、音樂、文本)組合為單一文件是一個(gè)安全有效的方法。而且對(duì)于一些商用程序,完全可以在pak文件中對(duì)文件數(shù)據(jù)進(jìn)行加密,很好的保護(hù)了作者和公司的權(quán)益。本人的sample中使用了簡單的“加減法”加密,對(duì)于手機(jī)這類設(shè)備來講是一個(gè)效率較高的選擇。
      
      三、Pak文件的結(jié)構(gòu):
      
      大家可以自己設(shè)計(jì)Pak文件結(jié)構(gòu),本人這里只是拋磚引玉的作個(gè)sample。下面就是本人設(shè)計(jì)的Pak文件結(jié)構(gòu):
      
      PAK File Header:Pak文件的頭部
    JAVA手機(jī)網(wǎng)[www.cnjm.net]
      
    JAVA手機(jī)網(wǎng)[www.cnjm.net]
      * 簽名:6字節(jié)char數(shù)組 * 版本號(hào):32位float * 文件table數(shù)量:32位整數(shù) * 密碼行為:8位字節(jié) * 密碼:8位字節(jié) * 文件唯一ID:10字節(jié)char數(shù)組 * 保留位:32位整數(shù)(4字節(jié))
      
      File Table:Pak文件中包含文件的列表,在一個(gè)Pak文件中一個(gè)被包含的文件對(duì)應(yīng)一個(gè)File Table。
      
      * 文件名:30字節(jié)char數(shù)組 * 文件大小:32位整型 * 文件在pak文件中的位移:32位整數(shù)
      
      Concatenated File Data:按File Table的順序連接在一起的文件數(shù)據(jù)。
      * 文件數(shù)據(jù)
      
      四、程序框架:
      
      說明:由于Pak文件的制作和使用分別要使用兩個(gè)java應(yīng)用領(lǐng)域:j2se和j2me,所以本人將PakUtil類制作了2個(gè)版本(j2se和j2me)。
      
      程序框架如下:
    JAVA手機(jī)網(wǎng)[www.cnjm.net]
      1。PakHeader類,定義了Pak文件頭。
      2。PakFileTable類,定義Pak文件table。
      3。PakUtil類(j2se版),具備兩個(gè)功能:將多個(gè)png圖片合成一個(gè)Pak文件,并使用簡單的加減加密法對(duì)其進(jìn)行加密;從Pak文件中取出png圖片,構(gòu)造byte數(shù)組(可以用來構(gòu)造Image對(duì)象)或者寫為文件。
      PakUtil類(j2me版),具備的功能:從Pak文件中取出png圖片,構(gòu)造byte數(shù)組(可以用來構(gòu)造Image對(duì)象)。

    posts - 63, comments - 45, trackbacks - 0, articles - 99

    Copyright © my

    主站蜘蛛池模板: 一级毛片免费不卡| 香港经典a毛片免费观看看| 免费精品久久天干天干| 亚洲第一永久AV网站久久精品男人的天堂AV| 亚洲日本国产精华液| 一级毛片免费毛片一级毛片免费| 亚洲日韩一页精品发布| 久久国产精品免费| 亚洲人成图片小说网站| 国产自国产自愉自愉免费24区 | 亚洲国产无套无码av电影| 色吊丝性永久免费看码| 免费日韩在线视频| 无码精品人妻一区二区三区免费 | 亚洲成a人一区二区三区| 男人扒开添女人下部免费视频| 亚洲人成电影在线播放| 精品免费久久久久国产一区 | 久久夜色精品国产噜噜噜亚洲AV| 国精产品一区一区三区免费视频| 亚洲福利视频一区| 免费成人福利视频| 亚洲中文字幕久久精品无码VA| 国产美女a做受大片免费| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 欧洲精品免费一区二区三区| 美女羞羞免费视频网站| 亚洲一区二区视频在线观看| 在线观看免费视频网站色| 久久亚洲国产成人亚| 在线观看成人免费视频不卡| 亚洲精品国产suv一区88| jlzzjlzz亚洲乱熟在线播放| 国精产品一区一区三区免费视频| 亚洲高清视频在线播放| 91情侣在线精品国产免费| 老牛精品亚洲成av人片| 亚洲AV无码乱码在线观看富二代| 国产成人福利免费视频| 亚洲av纯肉无码精品动漫| 亚洲日韩精品一区二区三区|