データベース構築
Androidでデータベースを扱うには、SQLiteDatabaseを利用します。
データベースを操作するには、SQLiteOpenHelper を拡張して、利用する方法が一般的です。
以下に、サンプルプログラムを記載していますので、参考にしてください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
package com.example.myapplication import android.content.Context import android.database.sqlite.SQLiteDatabase import android.database.sqlite.SQLiteOpenHelper public class DBHelper( context: Context, databaseName: String, factory: SQLiteDatabase.CursorFactory?, version: Int ) : SQLiteOpenHelper(context, databaseName, factory, version) { override fun onCreate(database: SQLiteDatabase?) { database?.execSQL("create table if not exists DemoTable (id text primary key, name text, detail text)") } override fun onUpgrade(database: SQLiteDatabase?, oldVersion: Int, newVersion: Int) { if (oldVersion < newVersion) { database?.execSQL("alter table DemoTable add column deleteFlag integer default 0") } } } |
データ追加
1 2 3 4 5 6 7 |
val values = ContentValues() values.put("id", UUID.randomUUID().toString()) values.put("name", "hoge") values.put("detail", "hoge_detail") db.insertOrThrow("DemoTable", null, values) |
データ検索
1 2 3 4 5 6 7 8 9 10 11 |
val cursor: Cursor = db.rawQuery("elect * from DemoTable where id > ? and id < ? ", arrayOf("1", "100")) cursor.use { while (cursor.moveToNext()) { Log.v("nullpo", "----------") //select文に書かれたフィールドの順番で取得する Log.v("nullpo", cursor.getInt(0).toString()) Log.v("nullpo", cursor.getString(1)) Log.v("nullpo", cursor.getString(2)) } } |
SQLite Databaseの確認方法
SQLite DBテーブルを確認する方法は、色々な方法があります。
手軽に確認できるツールとしては、「DB Browser for SQLite」がとても有名で、使いやすいです。
SQLiteOpenHelper
SQLiteOpenHelper | Android Developers