Для своего приложения я создал класс для определения базы данных:
public final class MyApplicationDb
{
public static String DATABASE_NAME = "my_application_db";
public static int DATABASE_VERSION = 1;
public static final class Table1
{
public static String TABLE_NAME = "table1";
public static String ID = "_id";
public static String DAY = "day";
public static String NAME = "name";
public static String SOURCE = "source";
public static String[] COLUMNS = { ID, DAY, NAME, SOURCE };
}
public static final class Table2
{
public static String TABLE_NAME = "table2";
public static String ID = "_id";
public static String CONTACT_ID = "contactId";
public static String CONTACT_NAME = "contactName";
public static String LAST_WISH_DATE = "lastWishDate";
public static String[] COLUMNS = { ID, CONTACT_ID, CONTACT_NAME, LAST_WISH_DATE };
}
}
И 2 sql скрипта для создания и обновления БД res/raw/db_create.sql
и res/raw/db_update.sql
/* db_create.sql */
create table table1(
_id integer primary key autoincrement,
day char(5) not null,
name varchar(64) not null,
source varchar(64) not null);
create table table2(
_id integer primary key autoincrement,
contactId integer not null,
contactName text not null,
lastWishDate char(10) null);
/* db_update.sql */
DROP TABLE IF EXISTS table1;
DROP TABLE IF EXISTS table2
И еще один класс для создания / обновления / доступа к базе данных, аналогичный NotesDbAdapter
, за исключением того, что для создания / обновления базы данных вместо констант используется сценарий sql. (посмотрите здесь , чтобы увидеть, как это сделать)