android另一种访问包资源方式
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平台一样往往是错的。
更多相关文章
- Android中的资源与国际化
- Android系列开发博客资源汇总
- Android实现视频播放的3种实现方式
- Android使用LayerDrawable资源
- Android与H5交互,以及WebView加载进度条
- android动态加载已安装apk中的方法
- Android开发技巧:动态创建UI界面
- 创建和使用Android(安卓)library工程
- Android动态加载