我需要将.svg保存在Android应用程序的内部存储中并检索它并将其设置为ImageView。
我无法保存.svg文件。我正在使用这种方法 -
File cacheDir = ctx.getCacheDir();
f = new File(cacheDir, name + ".png");
try {
InputStream in = new java.net.URL(imageurl).openStream();
mIcon = BitmapFactory.decodeStream(in);
try {
FileOutputStream out = new FileOutputStream(
f);
mIcon.compress(
Bitmap.CompressFormat.JPEG,
100, out);
out.flush();
out.close();
return f;
} catch (FileNotFoundException e) {
return null;
} catch (IOException e) {
return null;
}
} catch (Exception e) {
return null;
}
答案 0 :(得分:0)
为什么要将SVG解码为位图?我不确定是否有可能。
但是如果要将SVG文件保存到存储,只需将输入流复制到输出流。
简单的java解决方案:
byte[] buffer = new byte[1024];
int len;
while ((len = in.read(buffer)) != -1) {
out.write(buffer, 0, len);
}
如果要显示SVG文件,请查看https://github.com/pents90/svg-android/tree/master/svgandroid