android - 安卓Sqlite中布尔类型的数据存储。
本文介绍了android - 安卓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))));
解决方案
Sqlite的数据类型不支持布尔型,sqlite的数据类型有5种,
NULL 空值
INTEGER 整数
REAL 浮点数
TEXT 字符串
BLOB 大数据
getBlob并不是取布尔值数据,而是对应的取大数据类型值数据,对应的类型是BLOB。布尔型数据可以用0,1值来存储。
这篇关于android - 安卓Sqlite中布尔类型的数据存储。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文