アプリケーションが始めて起動した直後に、データの事前取り込み(初期状態の設定)を必要とする場合があります。
事前取り込みの方法ついて、まとめました。
SQLite API(Android SDK)でデータベースを構築した場合です。
※環境:Android Studio Ladybug | 2024.2.1 Patch 2
Kotlin 2.0.0
※サンプルの全体像は「SQLite APIでデータベースを構築」を参照
スポンサーリンク
事前取り込みとは
「事前取り込み」とは、アプリケーションが始めて起動した直後の、データベースの初期状態を設定することです。
事前取り込みが必要かどうかはアプリケーションに依存します。ですので、事前取り込みはオプション的な実装です。
スポンサーリンク
事前取り込みの実装
onCreateがデータベースの利用を開始した時に一度だけ呼ばれる特徴を利用して、onCreateで行います。
data class Player(
val id: Int = -1,
val name: String = "XXXXXXXX",
val score: Int = 0
)
class GameDb(context: Context, version: Int = DB_VERSION)
: SQLiteOpenHelper(context, DB_NAME, null, version) {
...
//
// Lifecycle operation
//
override fun onCreate(db: SQLiteDatabase?) {
db?.execSQL(createTable)
initialize(db)
}
...
private fun initialize(db: SQLiteDatabase?) {
val _player = Player()
val _values = ContentValues().apply {
put(nameField, _player.name)
put(scoreField, _player.score)
}
repeat(10) {
db?.insert(tableName, null, _values)
}
}
...
}
スポンサーリンク
事前取り込みの結果
アプリが始めて起動した直後に事前取り込みしたデータが表示されます。
スポンサーリンク
関連記事:
Android JetpackAndroid SDKDatabaseMySQLPostgreSQLRDBMSRelationalRoomSQLSQLiteSQLite APIデザインデータベース永続性
Androidは標準でSQLiteというRDBMS(Relational Database Management System)を扱います。 SQLiteは少し個性的なデータベースです。 データベース全般の説明を通して、SQLiteと他の違いをまとめます。 ※環境:Android Studio Ladybug | 2024.2.1 Patch 2 Kotlin 2.0.0 ...
データベースを扱うアプリケーションの開発で、動作を確認するためにデータベースの閲覧が出来ると便利です。 データベースは、マネージメントシステムを介してアクセスされるため、プログラムからブラックボックスに見えます。 ですので、データベース内部の問題は見つけ難いです。 デバックおいてデータベースの閲覧が出来れば、内部の問題を用意に確認できます。 ※環境:Android Studio Ladybug | 2024.2.1 Patch 2 DB Browser for SQLite バージョン 3.13.1 ...
Androidが標準で扱うデータベースはSQLiteです。 ※詳細は「Androidで扱うデータベース」を参照 データベースを構築する方法は「SQLite API(Android SDK)」と「Room(Android Jetpack)」の2通りがあります。 今回は「SQLite API」でデータベースを構築する方法を紹介します。 ※環境:Android Studio Ladybug | 2024.2.1 Patch 2 Kotlin 2.0.0 ...
SQLite API(Android SDK)でデータベースを構築した場合、アプリのパフォーマンスを考えると、識別子の共有が必要になってきます。 この点について、まとめました。 ※環境:Android Studio Ladybug | 2024.2.1 Patch 2 Kotlin 2.0.0 ※サンプルの全体像は「SQLite APIでデータベースを構築」を参照 ...
SQLite API(Android SDK)でデータベースを構築した場合、データベースへアクセスする際に、データベースのOpenとCloseという処理を伴います。 この点について、まとめました。 ※環境:Android Studio Ladybug | 2024.2.1 Patch 2 Kotlin 2.0.0 ※サンプルの全体像は「SQLite APIでデータベースを構築」を参照 ...
SQLite API(Android SDK)でデータベースを構築した場合、アクセスはスレッドセーフになります。 この点について、まとめました。 ※環境:Android Studio Ladybug | 2024.2.1 Patch 2 Kotlin 2.0.0 ※サンプルの全体像は「SQLite APIでデータベースを構築」を参照 ...
スポンサーリンク
