我想找到一种方法来保存sdcard中sqlite数据库中的图像,如果我使用简单的查询,我可以找到图像数据但是如何保存它们,例如sdcard/temp
我搜索了很多,但找不到符合我想要的东西
答案 0 :(得分:0)
我假设你要从数据库中提取blob并从中获取位图或其他任何内容。您可能需要查看http://developer.android.com/reference/java/io/File.html。您可以使用File。
中的方法为给定路径创建文件如何将位图编码为blob将影响您对这些位图进行重新序列化的方式。
从这篇文章: Android: problem retrieving bitmap from database
编码到db:
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
mBitmap.compress(Bitmap.CompressFormat.JPEG, THUMB_QUALITY, outputStream);
mByteArray = outputStream.toByteArray(); // write this to database as blob
从db:
重新序列化ByteArrayInputStream inputStream = new ByteArrayInputStream(cursor.getBlob(columnIndex));
Bitmap mBitmap = BitmapFactory.decodeStream(inputStream);
保存到文件:
String path = Environment.getExternalStorageDirectory().toString();
File filename = new File(path, "myImg.png");
FileOutputStream out = new FileOutputStream(filename);
bitmapp.compress(Bitmap.CompressFormat.PNG, <<COMPRESSION_AMT>>, out);
out.flush();
out.close();