ContractとOpenHelperのクラスを作成します。OepnHelperはSQLiteOpenHelperを継承します。
New->Other->ContentProviderから新規にcomponentを作成し、呼び出します。authorityは、packageとContentProvider名です。(self.mymemoapp.MemeoContentProvider)
package self.mymemoapp; import android.provider.BaseColumns; public final class MemoContract { public MemoContract(){} public static abstract class Memos implements BaseColumns { public static final String TABLE_NAME = "memos"; public static final String COL_TITLE = "title"; public static final String COL_BODY = "body"; public static final String COL_CREATE = "created"; public static final String TABLE_UPDATE = "updated"; } }
package self.mymemoapp; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; public class MemoOpenHelper extends SQLiteOpenHelper { public static final String DB_NAME = "myapp.db"; public static final int DB_VERSION = 1; public static final String CREATE_TABLE = "create table memos (" + "_id integer primary key autoincrement, "+ "title text, " + "body text, " + "created datetime default current_timestamp, " + "updated datetime default current_timestamp)"; public static final String INIT_TABLE = "insert into memos (title, body) values " + "('t1', 'b1'), " + "('t2', 'b2'), " + "('t3', 'b3'), "; public static final String DROP_TABLE = "drop table if exists " + MemoContract.Memos.TABLE_NAME; public MemoOpenHelper(Context c){ super(c, DB_NAME, null, DB_VERSION); } @Override public void onCreate(SQLiteDatabase sqLiteDatabase) { db.execSQL(CREATE_TABLE); db.execSQL(INIT_TABLE); } @Override public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) { db.execSQL(DROP_TABLE); onCreate(db); } }