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

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



人到中年有点甜
浏览 131回答 3
3回答

Smart猫小萌

您可以使用Resource.getIdentifierint imgId = res.getIdentifier(resourceName, "drawable", context.getPackageName());

达令说

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

一只名叫tom的猫

我想你的意思是你想在你的 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 保存到数据库中
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java