java - usar - relacionar tablas en sqlite android
Obtener booleano de la base de datos usando Android y SQLite (9)
Es:
boolean value = cursor.getInt(boolean_column_index) > 0;
La mayoría de las respuestas aquí pueden dar como resultado NumberFormatExceptions o "el operador no está definido para los tipos null, int" si la columna en la que almacenó el int. También tiene permitido mantener nulo. La forma decente de hacer esto sería usar
Boolean.parseBoolean(cursor.getString(booleanColumnIndex));`
aunque ahora está limitado a almacenar las cadenas "verdadero" y "falso" en lugar de 0 o 1.
No hay ningún tipo de datos bool en SQLite. Use un int que arregle a 0 o 1 para lograr ese efecto. Ver la referencia de tipos de datos en SQLite 3.0 .
Otra opción
boolean value = (cursor.getString(column_index)).equals("1");
También puedes usar
boolean value =cursor.getString(boolean_column_index).equals("True");
Una implementación encontrada en Ormlite Cursor también verifica Null, que ninguna de las otras respuestas tiene.
public boolean getBoolean(int columnIndex) {
if (cursor.isNull(columnIndex) || cursor.getShort(columnIndex) == 0) {
return false;
} else {
return true;
}
}
boolean b = (cursor.getInt (cursor.getColumnIndex ("item"))! = 0);
boolean
datatype no está disponible en Cursor
.
obtendrá el resultado en un int
, por lo que necesita convertir ese valor int
en un boolean
.
Puedes usar
boolean b = cursor.getInt(boolean_column_index) > 0;
o
boolean b = (cursor.getInt(boolean_column_index) != 0);
boolean value = (cursor.getInt(boolean_column_index) == 1);