4.11

之后在代码中从数据库中取出byte[],然后转换成Drawable,设置图片即可。

package com.android.test;
import java.util.ArrayList;
import android.app.Activity;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.widget.ImageView;
public class TestPicture extends Activity {

@Override
protected void onCreate (Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ImageView iv = new ImageView(this);
if(getDrawable().size() != 0) {
iv.setImageDrawable(getDrawable().get(0));
}
setContentView(iv);
}


private ArrayList<Drawable> getDrawable() {
PictureDatabase pd = new PictureDatabase(this);
SQLiteDatabase sd = pd.getWritableDatabase();

ArrayList<Drawable> drawables = new ArrayList<Drawable>();

//查询数据库
Cursor c = sd.query("picture", null, null, null, null, null, null);

//遍历数据
if(c != null && c.getCount() != 0) {
while(c.moveToNext()) {
//获取数据
byte[] b = c.getBlob(c.getColumnIndexOrThrow(PictureDatabase.PictureColumns.PICTURE));
//将获取的数据转换成drawable
Bitmap bitmap = BitmapFactory.decodeByteArray(b, 0, b.length, null);
BitmapDrawable bitmapDrawable = new BitmapDrawable(bitmap);
Drawable drawable = bitmapDrawable;
drawables.add(drawable);
}
}
return drawables;
}
}

posted @   SDGVSBGDRH  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示