分享

android另一种访问包资源方式

 昵称11482448 2013-08-28

android文件资源分为两类即:资产(assets)与资源(res可以通过R类来直接资源,也可以通过getAssets().open(file)来访问,J2ME中一种常见的资源加载方式便是使用getClass().getResourceAsStream,那在android中能不能使用呢,答案是肯定,但是需要注意资源存放路径必须同类文件在一起(也即常用的SRC目录下。原理相当于类文件加载),使用这种方式可以完美解决J2ME移植到android上资源加载处理(经测试这种访问方式缺点有一个加载速度慢,完美的意义只针对移植J2ME api,使用这种方式加载可以不改动J2ME任何代码),下面给个简例:

InputStream is;

try {

    is = getClass().getResourceAsStream(

           "/example/pushpuzzle/data/jad.MF");

    if (is == null) {

       System.out.println("Could not find the game board for level ");

    } else {

        int ch = 0;

       StringBuffer str = new StringBuffer();

       while ((ch = is.read()) != -1) {

           str.append((char) ch);

       }

       String jad = str.toString();

       String[] s = jad.split("/r/n");

       for (String line : s) {

           System.out.println(line);

       }

    }

} catch (Exception ex) {

    ex.printStackTrace();

}

注意事项,这个方式请不要使用is.available(),这个返回方式同J2ME平台一样往往是错的。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多