为了账号安全,请及时绑定邮箱和手机立即绑定

将Drawable类的对象存储在数据库中

将Drawable类的对象存储在数据库中

人到中年有点甜 2023-08-04 15:17:46
我使用IconDialog库为我的 ImageView 设置一个图标,用户将设置它们。该库将返回一个 Drawable 对象。当我没有数据库时,我使用这个库没有问题,因为我只是调用了 setDrawable 函数并将返回的可绘制对象传递给它,但现在我想将此可绘制对象的引用存储到数据库,但我在 Drawable 中找不到任何方法.class 来获取可绘制对象或其他内容的引用,但我在库中找不到任何返回任何引用的函数。任何想法?
查看完整描述

3 回答

?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

您可以使用Resource.getIdentifier

int imgId = res.getIdentifier(resourceName, "drawable", context.getPackageName());


查看完整回答
反对 回复 2023-08-04
?
达令说

TA贡献1821条经验 获得超6个赞

对于所有使用该库并与我有同样问题的人。我通过探索图书馆代码找到了答案。有一个名为Icon的类,IconDialog返回该变量的实例。由于 Icon 的构造函数是私有的,您无法从该类实例化,因此您应该首先将它们转换为Drawable,然后将这些Drawable转换为Bitmap。

查看完整回答
反对 回复 2023-08-04
?
一只名叫tom的猫

TA贡献1906条经验 获得超2个赞

我想你的意思是你想在你的 SQLite 数据库中存储一个 Drawable ?你可以去


val icon = BitmapFactory.decodeResource(this.resources, R.drawable.minus_vector_black)

val stream = ByteArrayOutputStream()        

icon.compress(Bitmap.CompressFormat.PNG, 100, stream)

val iconAsByteArray = stream.toByteArray()

然后将其作为 BLOB 保存到数据库中

查看完整回答
反对 回复 2023-08-04
  • 3 回答
  • 0 关注
  • 96 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信