Android Sqlite使用rawquery()将Drawable插入db

时间:2013-09-09 19:47:54

标签: android sqlite drawable

我有一个包含Blob数据类型列的表,用于保存配置文件图片(小Drawlable个对象)。

通常我会使用SqLiteDatabse.insert()对象运行ContentValues方法,因此所有转换内容都不会由我实现。

根据我自己的原因,我需要使用"Insert or Replace" Sqlite查询并使用字符串查询插入个人资料图片的Drawable,因此我必须实现自己从byte[]到{{1}的转换}以便使用SqLiteDatabse.rawQuery()方法。

请您提供一种手动方式,而不是使用String对象?

P.S

我可以通过创建2个查询来解决这个问题:

  1. 检查原始文件是否存在
  2. 如果不是 - 创建它,如果是 - 更新它
  3. 然后我就可以方便地使用ContentValue对象了。但这听起来效率很低......

1 个答案:

答案 0 :(得分:0)

要使用SQL字符串插入blob值,必须将字节转换为十六进制并使用blob literal

INSERT INTO MyTable(blob) VALUES(x'123456abcdef')