SubwayTooter-Android-App/app/src/main/java/jp/juggler/subwaytooter/table/TableUtils.kt

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)