我正在Android中尝试从我的服务器发送的XML文件中获取资源。它直接以Base64格式发送给我一个PNG文件。
喜欢这个:
lgrbehzlgrbezgbrhezugizgbrzbgre
我的问题是:
是否有一种方法可以将我服务器发送的PNG数据用作“R.drawable.MyNewResource”中的资源?
或者我可以在应用程序数据文件夹中的PNG文件中设置ImageResoure吗?
提前致谢!
答案 0 :(得分:1)
好的,你的问题不正确,如果我没错,那么你想要的东西,
只需转换您的网络回复base64 png string into bitmap
,然后使用该位图在imageview中设置。
Bitmap bitmap;
ImageView imgView;
byte[] decodedString;
decodedString = Base64.decode(encodedImage, Base64.DEFAULT);
bitmap = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);
imgView.setImageBitmap(bitmap);
答案 1 :(得分:0)
您可以使用此代码创建文件并在文件中编写位图。
File file = new File(imageDirectory,image_name);
OutputStream outStream = null;
try {
outStream = new FileOutputStream(file);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, outStream);
outStream.flush();
outStream.close();
Toast.makeText(cameraActivity.this, "Saved", Toast.LENGTH_LONG).show();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
Toast.makeText(cameraActivity.this, e.toString(), Toast.LENGTH_LONG).show();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
Toast.makeText(cameraActivity.this, e.toString(), Toast.LENGTH_LONG).show();
}
位图将保存在应用程序文件中,然后您就可以阅读它了。