gpt4 book ai didi

android - 从 Sqlite 数据库访问图像

转载 作者:行者123 更新时间:2023-11-30 04:44:04 26 4
gpt4 key购买 nike

我的代码有一个问题,我正在存储从 sqlite 数据库访问学生数据的学生姓名、年龄和照片。我完美地存储了所有这些数据,但无法仅访问图像字段。

图像在屏幕上显示空白,

我不知道为什么。请检查我的代码并给我有用的建议。

谢谢你..

代码如下:

package com.ex.imageStore;

import java.util.Locale;

import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.widget.ImageView;
import android.widget.TextView;

public class NewScreen extends Activity{
SQLiteDatabase db;

@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.newscreen);
TextView name = (TextView)findViewById(R.id.textView1);
TextView age = (TextView)findViewById(R.id.textView2);
ImageView img = (ImageView)findViewById(R.id.imageView1);

db = openOrCreateDatabase(
"StudentData.db"
, SQLiteDatabase.CREATE_IF_NECESSARY
, null
);

db.setVersion(1);
db.setLocale(Locale.getDefault());
db.setLockingEnabled(true);

Cursor cur = db.query("stuData",
null, null, null, null, null, null);
//cur.moveToFirst();
cur.moveToPosition(0);
name.setText(cur.getString(1));
age.setText(cur.getString(2));
byte[] bb = cur.getBlob(3);
Bitmap theImage = BitmapFactory.decodeByteArray(bb,0,bb.length);
img.setImageBitmap(theImage);//-->It //cannot convert bytearray to bitmap
/* while (cur.isAfterLast() == false) {
tv.append("n" + cur.getString(1));
cur.moveToNext();
}*/
cur.close();


}

}

theImage 变量总是被赋值为 null.........

最佳答案

byte[] bb 转换为 ByteArrayInputStream。对于您的程序,这将是

ByteArrayInputStream is = new ByteArrayInputStream(bb);
Bitmap theImage = BitmapFactory.decodeStream(is);
ImageView img = (ImageView)findViewById(R.id.imageView1);
img.setImageBitmap(theImage);

我想这对你有帮助。

关于android - 从 Sqlite 数据库访问图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5415666/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com