Notepad Tutorial (1)

現実トウヒ、と言ってましたが、今日はなんやかやでトウヒの暇もなかった。とりあえず帰宅後に NotepadCodeLab.zip を download してきて解凍。eclipse でプロジェクトを作成。
中身を見てみたらソースファイルは

の二つ。Step 2 にて NotesDBAdapter クラスについて色々な記述がありますが、基本的に androidSQLite 云々な模様。import されてるのが以下。

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;

うーん。どうもローカルな SQLite 使ってる模様。これ、木南さん本 だと 8 章らへんな模様。しかも同じ章にコンテントプロバイダ云々な情報もあり。
で、tutorial にも記述があるんですが、クラス定義の先頭部分にて属性 (一部定数) が定義されている。

    public static final String KEY_TITLE = "title";
    public static final String KEY_BODY = "body";
    public static final String KEY_ROWID = "_id";

    private static final String TAG = "NotesDbAdapter";
    private DatabaseHelper mDbHelper;
    private SQLiteDatabase mDb;
    
    /**
     * Database creation sql statement
     */
    private static final String DATABASE_CREATE =
            "create table notes (_id integer primary key autoincrement, "
                    + "title text not null, body text not null);";

    private static final String DATABASE_NAME = "data";
    private static final String DATABASE_TABLE = "notes";
    private static final int DATABASE_VERSION = 2;

    private final Context mCtx;

TAG って何だよ、とか Context って何だよ、とか色々あるんですが以下な模様。

  • 先頭三つは列名な模様
    • DATABASE_CREATE 属性にてテーブル定義な SQL が書いてある
    • DB 一つでテーブル一つ? とかツッコミ所満載な気もしますが、細かい部分はスルー
  • Context 型について確認必要
  • TAG は SQLiteOpenHelper を継承するクラス内でログ出力時に使われている模様

明日は時間が確保できるはずなので、今日はこれで終了。