Заполнение БД SQLite при её создании
Пытаюсь заполнить БД, во время создания, но не происходит ничего - нет ни сообщений об ошибках, нет внесения данных. В чем ошибка у меня?
Первый вариант, через список arrays.xml
<string-array name="question">
<item>Первый</item>
<item>Второй</item>
<item>Третий</item>
<item>Еще один</item>
</string-array>
Класс самой БД:
private final Context fContext;
public static final int DATABASE_VERSION = 1;
public static final String DATABASE_NAME = "TestLiriri";
public static final String TABLE_NAME = "questions";
public static final String KEY_ID = "_id";
public static final String KEY_QUEST = "quest";
Cursor cursor;
SQLiteDatabase database;
ContentValues contentValues = new ContentValues();;
String valueQuest;
public String getValueQuest() {
return valueQuest;
}
public void setValueQuest(String valueQuest) {
this.valueQuest = valueQuest;
}
public DataHelper(Context context) {
super(context, DATABASE_NAME, null, 1);
fContext = context;
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table " + TABLE_NAME + "(" + KEY_ID + " integer primary key," + KEY_QUEST + " text" + ");");
Resources res = fContext.getResources();
String[] cattable_records = res.getStringArray(R.array.question);
// проходим через массив и вставляем записи в таблицу
int length = cattable_records.length;
for (int i = 0; i<length; i++) {
contentValues.put("title", cattable_records[i]);
db.insert(TABLE_NAME, null, contentValues);
}
}
И вариант, второй, прямое внесение строки в таблицу:
public static final int DATABASE_VERSION = 1;
public static final String DATABASE_NAME = "TestLiriri";
public static final String TABLE_NAME = "questions";
public static final String KEY_ID = "_id";
public static final String KEY_QUEST = "quest";
Cursor cursor;
SQLiteDatabase database;
ContentValues contentValues = new ContentValues();
String valueQuest;
public String getValueQuest() {
return valueQuest;
}
public void setValueQuest(String valueQuest) {
this.valueQuest = valueQuest;
}
public DataHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table " + TABLE_NAME + "(" + KEY_ID + " integer primary key," + KEY_QUEST + " text" + ");");
WriteDB("Почему это не работает?");
}
public void WriteDB(String quest){
database = this.getWritableDatabase();
contentValues.put(KEY_QUEST, quest);
database.insert(TABLE_NAME, null, contentValues);
}