と呼ば:getWritableDatabaseは、私は次のコードで私のデータベーステーブルを更新しようとしてる再帰的
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
String query = "ALTER TABLE names ADD COLUMN hidden integer default 0";
dbHelper.getWritableDatabase().rawQuery(query, null);
}
しかし、私は、アプリケーションを起動し、それは私が次の例外を取得するデータベースのアップグレードしようとしたとき:
を...Caused by: java.lang.IllegalStateException: getWritableDatabase called recursively
誰もがこの問題を回避する方法を知っていますか、それを正確に引き起こしているのは誰ですか?
おかげ
これはコードのこの部分が呼び出される唯一の場所ではありませんか? – JoxTraex
はい、これはコードが呼び出される唯一の場所です。私は関数にもlog文を入れて、一度だけ呼び出されます。 – Nick
その後、古いバージョンが<新しいバージョンであるかどうかをチェックします。なぜ新しいバージョンであるのかはわかりませんが、複数回呼び出されているのはわかりません。 – JoxTraex