鸿 网 互 联 www.68idc.cn

当前位置 : 服务器租用 > 手机系统开发 > J2ME > >

将资源文件打包成.bin文件

来源:互联网 作者:佚名 时间:2015-09-25 05:43
为了使自己游戏 资源 不被泄露,在网上查询了一些资料,找到了BinCompiler这个工具,感觉挺好用的,不但能够将 资源 文件 打包 成.bin(这个后缀可以随便起)而且能够压缩大

为了使自己游戏资源不被泄露,在网上查询了一些资料,找到了BinCompiler这个工具,感觉挺好用的,不但能够将资源文件打包成.bin(这个后缀可以随便起)而且能够压缩大小。以下是使用方法。因为都是java语法,因此对代码做了点小修改,将他改成了支持 J2ME 和 Android平台以下是用法。至于BinCompiler怎样使用大家可以百度下。


for Android

这里的资源文件放在android工程assets包下

public Bitmap createBitMapToAssets( String binfile, int pos ){
       
        byte buffer[];
        int len;

        try {
            
            InputStream is = getResources().getAssets().open(binfile);
            
            is.skip(pos);

            len  = (is.read() & 0xFF) << 24;
            len  |= (is.read() & 0xFF) << 16;
            len  |= (is.read() & 0xFF) << 8;
            len  |= (is.read() & 0xFF);

            buffer = new byte[len];
        
            is.read(buffer, 0, buffer.length);

            is.close();
            is = null;
        
            System.gc();
        } catch (Exception e) {
            buffer = null;
            e.printStackTrace();
            System.gc();
            return null;
        }
     
        Bitmap bitmap = BitmapFactory.decodeByteArray(buffer, 0, buffer.length);
     
        return bitmap;
        
    }

for J2ME:

public Image readImage(String binfile, int pos)
    {
        byte buffer[];
        int len;

        try {
            InputStream is = this.getClass().getResourceAsStream("/" + binfile);
            
            is.skip(pos);
            
            len  = (is.read() & 0xFF) << 24;
            len  |= (is.read() & 0xFF) << 16;
            len  |= (is.read() & 0xFF) << 8;
            len  |= (is.read() & 0xFF);

            buffer = new byte[len];
        
            is.read(buffer, 0, buffer.length);

            is.close();
            is = null;
        
            System.gc();
        } catch (Exception e) {
            buffer = null;
            e.printStackTrace();
            System.gc();
            return null;
        }

        return Image.createImage(buffer, 0, buffer.length);
    }







网友评论
<