Bagaimana saya bisa mendapatkan nilai bidang boolean dalam database SQLite di Android?
Saya biasanya menggunakan getString()
,, getInt()
dll. Untuk mendapatkan nilai dari bidang saya, tapi sepertinya tidak ada getBoolean()
metode.
Ini:
boolean value = cursor.getInt(boolean_column_index) > 0;
>0
lebih pendek dalam byte: PTidak ada tipe data bool dalam SQLite. Gunakan int yang Anda perbaiki ke 0 atau 1 untuk mencapai efek itu. Lihat referensi tipe data pada SQLite 3.0 .
sumber
sumber
Sebagian besar jawaban di sini dapat menghasilkan NumberFormatExceptions atau "operator tidak ditentukan untuk tipe null, int" jika kolom tempat Anda menyimpan int diizinkan juga memiliki null. Cara yang layak untuk melakukan ini adalah menggunakan
meskipun Anda sekarang terbatas untuk menyimpan string "benar" dan "salah" daripada 0 atau 1.
sumber
Implementasi yang ditemukan di Ormlite Cursor juga memeriksa Null yang tidak dilakukan oleh jawaban lain.
sumber
Anda juga bisa menggunakan
sumber
Pilihan lain
sumber
boolean
tipe data tidak tersedia diCursor
.Anda akan mendapatkan hasilnya dalam
int
, jadi Anda harus mengubahint
nilai itu menjadi aboolean
.Anda bisa menggunakan
atau
sumber
boolean b = (cursor.getInt (cursor.getColumnIndex ("item"))! = 0);
sumber
Yah, itu sangat sederhana:
sumber