Obtenir un booléen à partir d’une firebase database en utilisant Android et SQLite

Comment puis-je obtenir la valeur d’un champ booléen dans une firebase database SQLite sur Android?

J’utilise habituellement getSsortingng() , getInt() , etc. pour obtenir les valeurs de mes champs, mais il ne semble pas y avoir de méthode getBoolean() .

C’est:

 boolean value = cursor.getInt(boolean_column_index) > 0; 

Il n’y a pas de type de données bool dans SQLite. Utilisez un int que vous fixez à 0 ou 1 pour obtenir cet effet. Voir la référence des types de données sur SQLite 3.0 .

 boolean value = (cursor.getInt(boolean_column_index) == 1); 

La plupart des réponses ici peuvent donner lieu à NumberFormatExceptions ou “L’opérateur n’est pas défini pour les types null, int” si la colonne que vous avez stockée dans int in était également autorisée. La façon décente de le faire serait d’utiliser

 Boolean.parseBoolean(cursor.getSsortingng(booleanColumnIndex));` 

Cependant, vous êtes maintenant limité à stocker les chaînes “true” et “false” plutôt que 0 ou 1.

Une implémentation trouvée chez Ormlite Cursor vérifie également la présence de Null, ce qu’aucune des autres réponses ne fait.

  public boolean getBoolean(int columnIndex) { if (cursor.isNull(columnIndex) || cursor.getShort(columnIndex) == 0) { return false; } else { return true; } } 

Vous pouvez aussi utiliser

 boolean value =cursor.getSsortingng(boolean_column_index).equals("True"); 

Une autre option

 boolean value = (cursor.getSsortingng(column_index)).equals("1"); 

boolean type de données boolean n’est pas disponible dans le Cursor .

vous obtiendrez le résultat dans un int , vous devez donc convertir cette valeur en un boolean .

Vous pouvez soit utiliser

 boolean b = cursor.getInt(boolean_column_index) > 0; 

ou

 boolean b = (cursor.getInt(boolean_column_index) != 0); 

booléen b = (cursor.getInt (cursor.getColumnIndex (“item”))! = 0);