天天看點

Android Room 資料庫更新 建立表注意事項注意事項:一、定義資料類二、建立資料庫表三、代碼塊示例四、其他

注意事項:

資料庫建表語句要跟定義的資料類字段屬性是否為空要一緻。

一、定義資料類

1.1、資料類屬性可以為空時如下所示,類型名稱後面帶符号“?”:

val prevKey: Int?           

1.2、資料類屬性不可以為空時如下所示:

val tId: String           

二、建立資料庫表

2.1、字段資料可以為空

`prevKey` INTEGER           

2.2、段屬性不可以為空

`tId` TEXT NOT NULL           

三、代碼塊示例

3.1、定義完整資料庫的資料類如下所示:

@Entity(tableName = "remote_keys")
data class RemoteKeys(
    @PrimaryKey val tId: String,
    val prevKey: Int?,
    val nextKey: Int?
)           

3.2、定義完整資料庫更新,建立某張表的方法如下所示:

val MIGRATION_3_4 = object : Migration(3, 4) {
    override fun migrate(database: SupportSQLiteDatabase) {
        database.execSQL(
            "CREATE TABLE `remote_keys` (`tId` TEXT NOT NULL, `prevKey` INTEGER, `nextKey` INTEGER, PRIMARY KEY(`tId`))"
        )
     }
}           

四、其他

資料庫更新時,對表添加屬性字段同理,也需要注意字段是否可以為空的處理。

繼續閱讀