从sqlite数据库设置背景图像

时间:2012-04-27 22:03:03

标签: android sqlite

在Android中,我想通过从数据库中检索图像来设置背景图像。我创建了数据库并将图像作为BLOB放入。数据库位于我的资产文件夹中,应用程序可以成功访问和查询数据库(但这可能是因为我还没有访问图像)。但现在我不知道从哪里开始。我想我已经完成了类似的代码:

bgview = (View) findViewById(R.id.bg_display);
bgview.setBackgroundResource(bgimage);

但我不知道如何开始......

2 个答案:

答案 0 :(得分:1)

您可以创建

InputStream is = new ByteArrayInputStream(TheBytesOfTheBlobYouGotFromDB);

将其保存到文件

尝试{     OutputStream out = new FileOutputStream(new File(FileName));

int read = 0;
byte[] bytes = new byte[1024];

while ((read = is.read(bytes)) != -1) { out.write(bytes, 0, read); }

is.close();
out.flush();
out.close();
} catch (IOException e) {}

然后使用解决方案将文件设置为背景: place a bitmap as background of a view

Matrix Mat = new Matrix();

/// FileName is the file where you saved the 'is'
Bitmap Source = BitmapFactory.decodeFile(FileName);
Bitmap Destination = Bitmap.createScaledBitmap( Source, DisplayWidth, DisplayHeight, true );

Source = Bitmap.createBitmap( Destination, 0, 0, Destination.getWidth(), Destination.getHeight(), Mat, true );

/// Use the 'Source' here
bgview.setBackgroundResource(Source);

答案 1 :(得分:1)

只存储数据库中的图像路径而不是图像,您可以检索路径并将其设置为背景。使用此功能可以摆脱转换为字节。