首页 > 解决方案 > 如何将来自 url 的图像存储在 Room 数据库中(Java)

问题描述

我正在对 Room 数据库进行整个 API 响应以进行离线访问。我已设法存储所有字符串值,但我也想将图像(获取图像 url 作为响应)存储到数据库中。由于我没有使用 Room 数据库的经验,我对如何在 Room db 列中存储图像感到困惑 下面是 API 响应

{
"beast": [{
        "id": "1",
        "name": "The Griffin of Edward III",
        "description": "The English Beast has always been a lion",
        "image": "www.google.com/uploads/beast-images/2.png"
    },
    {
        "id": "2",
        "name": "The Lion of England",
        "description": "The English Beast has always been a lion",
        "image": "www.google.com/uploads/beast-images/2.png"
    }]
}

标签: androidandroid-room

解决方案


您可以将图像作为 blob 类型存储在房间数据库中。您应该将图像转换为字节数组并保存。例子:

@ColumnInfo(name = "image", typeAffinity = ColumnInfo.BLOB)
private byte[] image;

推荐阅读