28 lines
791 B
Kotlin
28 lines
791 B
Kotlin
package jp.juggler.subwaytooter.table
|
|
|
|
import android.content.ContentValues
|
|
import android.database.Cursor
|
|
import android.database.sqlite.SQLiteDatabase
|
|
|
|
// SQLite にBooleanをそのまま保存することはできないのでInt型との変換が必要になる
|
|
|
|
// boolean to integer
|
|
fun Boolean.b2i() = if(this) 1 else 0
|
|
|
|
// integer to boolean
|
|
fun Int.i2b() = this != 0
|
|
|
|
fun Cursor.getBoolean(keyIdx : Int) =
|
|
getInt(keyIdx).i2b()
|
|
|
|
fun Cursor.getBoolean(key : String) =
|
|
getBoolean(getColumnIndex(key))
|
|
|
|
interface TableCompanion {
|
|
fun onDBCreate(db : SQLiteDatabase)
|
|
fun onDBUpgrade(db : SQLiteDatabase, oldVersion : Int, newVersion : Int)
|
|
}
|
|
|
|
fun ContentValues.putOrNull(key : String, value : String?) =
|
|
if(value == null) putNull(key) else put(key, value)
|