私はドロイド開発に非常に慣れていませんが、いくつかの SQL に取り組んでいました。SQLOpenDatabaseHelper を拡張するクラスがあり、onCreate() メソッドでこれを実行します。
public static final String CREATE_DB = "CREATE TABLE " + TABLE_VOCAB_INFO
+ "(" + COLUMN_NAME + " TEXT NOT NULL PRIMARY KEY," + COLUMN_URL
+ " TEXT NOT NULL," + COLUMN_DOWNLOADED + "TEXT NOT NULL);";
ただし、次のようにデータベースに何かを追加しようとすると:
//Adding method
ContentValues cv = new ContentValues();
cv.put(COLUMN_NAME, "item " + i);
cv.put(COLUMN_URL, "random url");
cv.put(COLUMN_DOWNLOADED, "true");
open();
database.insert(TABLE_VOCAB_INFO, null, cv);
エラーが発生します:
(1) no such table: vocab_info
どうすればこれを解決できますか?
編集:詳細。
次のように、ヘルパーの onCreate() メソッドでデータベースを作成しています。
public void onCreate(SQLiteDatabase db) {
try {
db.execSQL(CREATE_DB);
} catch (SQLiteException e) {
System.out.println("Error with creation");
}
}
このような追加メソッドを使用してデータベースにアクセスします
public void onClick(View viewSelected) {
switch (viewSelected.getId()) {
case R.id.bDownload:
DatabaseManipulator dm = new DatabaseManipulator(this);
dm.open();
dm.addList(null);
dm.addList(null);
dm.addList(null);
dm.addList(null);
dm.addList(null);
for (VocabList list : dm.getAllLists()) {
System.out.println(list.getName());
}
dm.close();
break;
前もって感謝します