Androidアプリ開発の教科書 [SQLite Activity内での処理のみざっくりと]
目次
データ保存の種類
- SQLite DB(Android OSに備え付けのものを使用する)
- プレファレンス(簡易データをkeyとvalueとして保存する)
- 内部ストレージ(端末内部にファイルとして保存)
- 外部ストレージ(SDカードなどに保存)
- クラウド(ネットワーク経由でサーバーにデータを保存)
端末間のやり取りをするときは「クラウド」を使用する必要がある
データ更新の流れ
//DBヘルパーオブジェクトを生成 DatabaseHelper helper = new DatabaseHelper(MainActivity.this); //ヘルパーからデータベース接続オブジェクトをもらう / onCreate/onUpgradeなどが呼ばれる SQLiteDatabase db = helper.getWritableDatabase(); try{ //SQL分記述 …VALUES(?,?); //ステートメントオブジェクト = データベースに対して実行できる文 SQLiteStatement stmt = db.compileStatement(sqlDelete); //VALUES(?)の?に値を埋め込む //bind + 型(bind + Long型 = bindLong) stmt.bindLong(index, value); //ステートメントがdeleteなら`executeUpdateDelete` //Insertなどなら`executeInsert` stmt.executeUpdateDelete(); }finally { //DB接続オブジェクトの参照を解放(ステートメント作成時にカーソルが開く。閉じないとカーソルが開けなくなるので閉じた方がいい) db.close(); }
知ったこと
カーソルオブジェクト
- SELECT文の結果表が丸々格納されているオブジェクト
- データを条件付きで取り出す際に使用します。
- rawQuery()などで取得する
番外編
クリック処理について
<Button : //クリックできない状態にする android:enabled="false" android:onClick="onSaveButtonClick" : />