Como posso obter o valor de um campo booleano em um banco de dados SQLite no Android?
Eu costumo usar getString()
, getInt()
etc. para obter os valores dos meus campos, mas não parece haver um getBoolean()
método.
Isto é:
boolean value = cursor.getInt(boolean_column_index) > 0;
>0
é mais curto em bytes: PNão há tipo de dados bool no SQLite. Use um int corrigido para 0 ou 1 para obter esse efeito. Veja a referência de tipos de dados no SQLite 3.0 .
fonte
fonte
A maioria das respostas aqui pode resultar em NumberFormatExceptions ou "operador não está definido para os tipos nulos, int" se a coluna na qual você armazenou o int tiver permissão para manter também nulo. A maneira decente de fazer isso seria usar
embora agora você esteja limitado a armazenar as strings "true" e "false" em vez de 0 ou 1.
fonte
Uma implementação encontrada no Cursor Ormlite também verifica Null, o que nenhuma das outras respostas faz.
fonte
Você também pode usar
fonte
Outra opção
fonte
boolean
tipo de dados não está disponível emCursor
.você obterá o resultado em um
int
, então precisará converter esseint
valor em aboolean
.Você pode usar
ou
fonte
booleano b = (cursor.getInt (cursor.getColumnIndex ("item")))! = 0);
fonte
Bem, isso é muito simples:
fonte