libro
www.tuyano.com
Google androidプログラミング入門

データベースを使おう! (7/8)

作成:2009-12-28 11:22
更新:2011-07-08 16:28

■メモをテーブルに保存する

続いて、データベースへのメモの保存を行っている「saveText」を見てみましょう。最初に行うのは、保管するデータの準備です。
String t = Calendar.getInstance().
    getTime().toString();
String m = edit.getText().toString();
ここでは、現在の日時を示すString値と、それから入力されたメモのテキストを用意しておきます。そして、データベースアクセスに必要なSQLiteDatabaseを取得します。
SQLiteDatabase db = dbhelper.getWritableDatabase();
SQLiteDatabaseは、SQLiteOpenHelperクラスにある「getWritableDatabase」によって取得できます。このインスタンスにあるメソッドを使って、データをテーブルに追加します。追加の作業は、先ほどのexecSQLでクエリーを送ってやってもいいんですが、SQLiteDatabaseにはレコード追加用のメソッドも用意されているので、これを使うことにしましょう。
ContentValues values = new ContentValues();
values.put(DatabaseHelper.TITLE, t);
values.put(DatabaseHelper.MEMO, m);
レコード追加用のメソッドでは、追加するデータ類は「ContentValues」というクラスのインスタンスにまとめることになっています。ContentValuesは、「puts」というメソッドを使い、指定した名前で値を追加することができます。これで、テーブルのフィールド名で保管する値を追加しておくわけです。
db.insert(DatabaseHelper.TABLE_NAME,null,values);
準備ができたら、「insert」メソッドを呼び出してデータの追加をします。これは引数に「テーブル名」「明示的にNULLを割り当てる項目名」「データをまとめたContentValues」といったものを渡します。これで、データは指定されたテーブルに保管されます。
(by. SYODA-Tuyano.)

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

public void saveText(String data) throws IOException{
    String t = Calendar.getInstance().getTime().toString();
    String m = edit.getText().toString();
    SQLiteDatabase db = dbhelper.getWritableDatabase();
    ContentValues values = new ContentValues();
    values.put(DatabaseHelper.TITLE, t);
    values.put(DatabaseHelper.MEMO, m);
    db.insert(DatabaseHelper.TABLE_NAME,null,values);
    edit.setText(null);
}
※関連コンテンツ

<< prev next >>

「Google androidプログラミング入門」に戻る