<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)容(如圖片、音樂(lè))給用戶。而通過(guò)研究發(fā)現(xiàn)zip/jar算法對(duì)大文件的壓縮率高于對(duì)等量的多個(gè)小文件的壓縮率。
      
      當(dāng)然還有其它方法,這里簡(jiǎn)單做一下討論比如使用混淆器ProGuard的“-overloadaggressively”選項(xiàng)使jar文件縮小,但也會(huì)導(dǎo)致一些錯(cuò)誤,因?yàn)檫@種方法生成jar中的class符合java byte code標(biāo)準(zhǔn),但是與java語(yǔ)法相悖,嚴(yán)重的可能造成一些jre對(duì)Object的序列化錯(cuò)誤。
      
      所以使用Pak方法將程序中要用到的資源(圖片、音樂(lè)、文本)組合為單一文件是一個(gè)安全有效的方法。而且對(duì)于一些商用程序,完全可以在pak文件中對(duì)文件數(shù)據(jù)進(jìn)行加密,很好的保護(hù)了作者和公司的權(quán)益。本人的sample中使用了簡(jiǎn)單的“加減法”加密,對(duì)于手機(jī)這類設(shè)備來(lái)講是一個(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ù)
      
      四、程序框架:
      
      說(shuō)明:由于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文件,并使用簡(jiǎn)單的加減加密法對(duì)其進(jìn)行加密;從Pak文件中取出png圖片,構(gòu)造byte數(shù)組(可以用來(lái)構(gòu)造Image對(duì)象)或者寫(xiě)為文件。
      PakUtil類(j2me版),具備的功能:從Pak文件中取出png圖片,構(gòu)造byte數(shù)組(可以用來(lái)構(gòu)造Image對(duì)象)。

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

    Copyright © my

    主站蜘蛛池模板: 97在线视频免费播放| 亚洲黄色免费观看| 97精品免费视频| 亚洲麻豆精品果冻传媒| 国产精品怡红院永久免费| 亚洲人成电影在线观看网| 国产成人免费高清激情视频| 亚洲AV成人精品日韩一区| 免费jjzz在线播放国产| 国产裸体美女永久免费无遮挡| 国产亚洲av片在线观看18女人| 东北美女野外bbwbbw免费| 久久亚洲AV成人无码软件| 无码国产精品一区二区免费I6| 亚洲精华液一二三产区| 亚洲熟伦熟女新五十路熟妇| 中文字幕无码日韩专区免费| 亚洲综合激情视频| 精品久久免费视频| av电影在线免费看| 在线精品亚洲一区二区三区| 亚洲免费闲人蜜桃| 亚洲成a∧人片在线观看无码| 亚洲日韩国产精品乱| 在线观看免费视频网站色| 久久精品夜色国产亚洲av| 成年女人男人免费视频播放| 久久青草免费91线频观看站街| 国产精品久久久久久亚洲小说| 亚洲综合久久久久久中文字幕| 亚洲人成人无码网www国产| 一二三四在线播放免费观看中文版视频 | 亚洲熟妇无码乱子AV电影| 亚洲中文无码永久免费| 国产成人免费视频| 一级一级毛片免费播放| 亚洲精品一卡2卡3卡四卡乱码 | 男女污污污超污视频免费在线看 | 午夜精品一区二区三区免费视频| 色费女人18女人毛片免费视频| 亚洲人成高清在线播放|