安卓Sqlite中布尔类型的数据存储。

新手问题 Sqlite中查询出来的
cursor.getBlob不是布尔类型的
我该如何转换成布尔类型进行使用
如下代码会报错

 record.setDisplay(cursor.getBlob(cursor.getColumnIndexOrThrow(RecordsConstrct.RecordEntry.COLUMN_NAME_DISPLAY)));

cursor.getBlob得到的是byte类型的我如果转换成String类型再使用会报错
能帮忙看下我下面的代码应该如何修改?
谢谢大神了。

String display=new String(cursor.getBlob(cursor.getColumnIndexOrThrow(RecordsConstrct.RecordEntry.COLUMN_NAME_DISPLAY)));
            record.setDisplay(Boolean.parseBoolean(display));
            
            

如果用getString 可以得到 但是值跟我保存的不相符

 record.setDisplay(Boolean.parseBoolean(cursor.getString(cursor.getColumnIndexOrThrow(RecordsConstrct.RecordEntry.COLUMN_NAME_DISPLAY))));   
阅读 6.1k
1 个回答

Sqlite的数据类型不支持布尔型,sqlite的数据类型有5种,

  • NULL 空值

  • INTEGER 整数

  • REAL 浮点数

  • TEXT 字符串

  • BLOB 大数据

getBlob并不是取布尔值数据,而是对应的取大数据类型值数据,对应的类型是BLOB。布尔型数据可以用0,1值来存储。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题