既存の SQLite データベース内に新しい行を追加しようとしていますが、何らかの理由でそれができないようです。行をテーブルに挿入するために、このメソッドを作成しました。
public void insertToTable(ArrayList<String> courseAttributes, ArrayList<String> attributeValues){
ContentValues cv = new ContentValues();
for (int i = 0 ; i < courseAttributes.size() ; i++){
cv.put(courseAttributes.get(i), attributeValues.get(i));
}
coursesDataBase.insert("courses", null, cv);
}
ここでcourseAttributesはテーブル内のすべての列の配列リスト、attributeValuesは追加しようとしている行に対応する値の配列リスト、coursesDataBaseは SQLiteDatabase で、" course "はこのデータベース内のテーブルの名前です。デバッガーで実行してもエラーは発生しませんが、新しい行はデータベースに保存されません。次の open メソッドと close メソッドの間で、別のクラスからメソッドを呼び出します。
public void openDataBase() throws SQLException{
//Open the database
String myPath = DB_PATH + DB_NAME;
coursesDataBase = SQLiteDatabase.openDatabase(myPath, null, SQLiteDatabase.OPEN_READWRITE);
}
と
@Override
public synchronized void close() {
if(coursesDataBase != null)
coursesDataBase.close();
super.close();
}