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

查看:139
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆