public static Bitmap loadBitmap(Context context, String filename){
AssetManager assets = context.getResources().getAssets();
InputStream buf = null;
try {
buf = new BufferedInputStream((assets.open("drawable/black_circle.png")));
} catch (IOException e) {
e.printStackTrace();
}
Bitmap bitmap = BitmapFactory.decodeStream(buf);
return bitmap;
}
当我使用上面的代码时,系统会出现以下错误
09-27 12:33:44.470: W/System.err(18554): java.io.FileNotFoundException: drawable/black_circle.png
09-27 12:33:44.470: W/System.err(18554): at android.content.res.AssetManager.openAsset(Native Method)
09-27 12:33:44.470: W/System.err(18554): at android.content.res.AssetManager.open(AssetManager.java:315)
09-27 12:33:44.470: W/System.err(18554): at android.content.res.AssetManager.open(AssetManager.java:289)
我正在通过Eclipse在Samsung Galaxy上运行代码。如何使这项工作?
我需要动态更改文件名。
答案 0 :(得分:2)
尝试这种方式:
int image_id = getResources().getIdentifier("imagename", "drawable", getPackageName());
image.setBackgroundResource(image_id);
答案 1 :(得分:1)
在drawable文件夹下打开图片:
Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.black_circle);
答案 2 :(得分:0)
试试这个。
Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.addto);
如果你想从可绘制图像创建位图,那么你可以使用它。
答案 3 :(得分:0)
您可以尝试:
InputStream is = (InputStream) context.getResources().openRawResource(R.drawable.black_circle);