Holen Sie sich boolean aus der Datenbank mit Android und SQLite

Wie kann ich den Wert eines booleschen Feldes in einer SQLite- Datenbank auf Android erhalten?

Ich verwende normalerweise getString() , getInt() , etc., um die Werte meiner Felder zu erhalten, aber es scheint nicht eine getBoolean() Methode zu sein.

  • Zeichnen Sie Overlay (HUD) auf Android VideoView?
  • Starten Sie den ICS-Emulator ohne Menütaste
  • Android installLocation und BOOT_COMPLETED
  • RuntimeException: native Schrift kann nicht gemacht werden
  • Wie sende ich eine SMS von einer Shell?
  • Android-Set-Navigations-Schublade Liste, um genaue Hälfte des Bildschirms für alle Geräte-Bildschirm zu öffnen
  • Wie man Android Direct Reply Notification Feature Arbeit in Pre - Android N Geräte?
  • Cordova / Phonegap: Live Update Codebase
  • Welches Paket für MultiDexTestRunner? Android.support.multidex oder com.android.test.runner
  • Android-Layout: Dieses Tag und seine Kinder können durch eine <TextView /> und eine zusammengesetzte Zeichnung ersetzt werden
  • Simulieren von SMS auf Android-Geräten bei der Entwicklung
  • Reagiere native, wie man android dev mode deaktiviert
  • 9 Solutions collect form web for “Holen Sie sich boolean aus der Datenbank mit Android und SQLite”

    Es ist:

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

    Es gibt keinen bool-Datentyp in SQLite. Verwenden Sie eine int, die Sie auf 0 oder 1 zu beheben, um diesen Effekt zu erzielen. Siehe die Datentypen auf SQLite 3.0 .

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

    Die meisten Antworten hier können dazu führen, dass NumberFormatExceptions oder "Operator für die Typen null, int" undefined "ist, wenn die Spalte, in der Sie die int gespeichert haben, auch null behalten durfte. Der anständige Weg, dies zu tun, wäre zu verwenden

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

    Obwohl du jetzt beschränkt bist, die Saiten "wahr" und "falsch" anstatt von 0 oder 1 zu speichern.

    Eine Implementierung, die bei Ormlite Cursor gefunden wird, überprüft auch auf Null, die keiner der anderen Antworten macht.

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

    Sie können auch verwenden

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

    Andere Option

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

    boolean Datentyp ist im Cursor nicht verfügbar.

    Sie erhalten das Ergebnis in einem int , also müssen Sie diesen int Wert in einen boolean konvertieren.

    Sie können entweder verwenden

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

    oder

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

    Boolean b = (cursor.getInt (cursor.getColumnIndex ("item"))! = 0);

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.