Как я могу получить значение логического поля в SQLite данных на Android?
Я обычно использую getString()
, getInt()
и т. Д., Чтобы получить значения моих полей, но, похоже, нет getBoolean()
метода.
Это:
boolean value = cursor.getInt(boolean_column_index) > 0;
>0
короче в байтах, хотя: PВ SQLite нет типа данных bool. Используйте int, который вы устанавливаете на 0 или 1, чтобы достичь этого эффекта. См. Ссылку на типы данных в SQLite 3.0 .
источник
источник
Большинство ответов здесь могут привести к NumberFormatExceptions или «оператор не определен для типов null, int», если столбцу, в котором вы сохранили int, было разрешено также содержать значение null. Достойный способ сделать это будет использовать
хотя теперь вы ограничены хранением строк «истина» и «ложь», а не 0 или 1.
источник
Реализация, найденная в Ormlite Cursor, также проверяет наличие Null, чего не делает ни один из других ответов.
источник
Вы также можете использовать
источник
Другой вариант
источник
boolean
тип данных недоступен вCursor
.вы получите результат в
int
, так что вам нужно преобразовать этоint
значение вboolean
.Вы можете использовать
или
источник
boolean b = (cursor.getInt (cursor.getColumnIndex ("item"))! = 0);
источник
Ну, это очень просто:
источник