如何存储和检索一个字节数组(图像数据),并从SQLite数据库?数组、并从、字节、图像

2023-09-12 06:42:09 作者:挥刀斩不臣

我如何存储和检索字节数组(图像数据),并从Android的SQLite数据库?

How do I store and retrieve a byte array (image data) to and from a SQLite database in Android?

推荐答案

字节数组可以存储为BLOB数据类型。没有什么特别在此过程中,除了特殊的照顾分块,如:

Byte array can be stored as BLOB data type. There's nothing special in this procedure except special care for chunking, like:

InputStream is=context.getResources().open(R.drawable.MyImageFile);
try
{
    byte[] buffer=new byte[CHUNK_SIZE];
    int size=CHUNK_SIZE;
    while(size==CHUNK_SIZE)
    {
        size=is.read(buffer);  //read chunks from file
        if(size==-1)
            break;
        ContentValues cv=new ContentValues();
        cv.put(CHUNK, buffer);       //CHUNK blob type field of your table
        long rawId=database.insert(TABLE, null, cv); //TABLE table name
    }
}
catch(Exception e)
{
    Log.e(TAG, "Error saving raw image to: "+rawId, e);
}