Comment puis-je obtenir la valeur d'un champ booléen dans une base de données SQLite sur Android?
Je l'habitude d' utiliser getString()
, getInt()
etc. pour obtenir les valeurs de mes champs, mais il ne semble pas être une getBoolean()
méthode.
C'est:
boolean value = cursor.getInt(boolean_column_index) > 0;
>0
est plus court en octets cependant: PIl n'y a pas de type de données booléen dans SQLite. Utilisez un int que vous fixez à 0 ou 1 pour obtenir cet effet. Consultez la référence des types de données sur SQLite 3.0 .
la source
la source
La plupart des réponses ici peuvent résulter en NumberFormatExceptions ou "l'opérateur n'est pas défini pour les types null, int" si la colonne dans laquelle vous avez stocké l'int était également autorisée à contenir null. La façon décente de le faire serait d'utiliser
bien que vous soyez maintenant limité à stocker les chaînes "vrai" et "faux" plutôt que 0 ou 1.
la source
Une implémentation trouvée sur Ormlite Cursor vérifie également Null, ce qu'aucune des autres réponses ne fait.
la source
Vous pouvez aussi utiliser
la source
Une autre option
la source
boolean
le type de données n'est pas disponible dansCursor
.vous obtiendrez le résultat dans un
int
, vous devez donc convertir cetteint
valeur en aboolean
.Vous pouvez soit utiliser
ou
la source
booléen b = (cursor.getInt (cursor.getColumnIndex ("item"))! = 0);
la source
Eh bien, c'est très simple:
la source