在sqlite数据库中存储位图

时间:2013-11-17 17:14:14

标签: java android bitmap

我正在压缩通过手机摄像头拍摄的图像并将其转换为字节数组 - 如下所述:Android How to save camera images in database and display another activity in list view?

Bitmap b;
File f = new File (...);
FileOutputStream fs = new FileOutputStream (f);
b.compress(JPEG, 85, fs);
fs.close ();
// Reread the file f into a byte []

我面临的问题是图像太大了!应用程序现在非常慢..它们的图像越多,它就变得越慢! ...我该如何解决这个问题?有没有办法让图像更小?也许存储缩略图并在从数据库中读取后将其重新打开(不确定这是否可行)。

我还尝试按照以下步骤将字节数组存储在JSON对象中:getting image from byte array in JSON object to android app

以及此帖子实现Base64编码:Base 64 encode and decode example code

我真的不确定从哪里开始,我们将非常感谢任何帮助...

1 个答案:

答案 0 :(得分:1)

直接将图像保存在SDCard上或对其进行编码,并将该URL保存在数据库中。按照需要动态地恢复图像。

您可以将图像保存到SDCard中here将文件位置保存到数据库。您可以使用Universal Image Loader显示图像,它将向您解释如何从图像路径中检索图像。