1. ホーム
  2. android

[解決済み] openOrCreateDatabase(String, int, null) メソッドは未定義です。

2022-02-28 14:14:42

質問

私は以下のようにデータベースを開こうとしています。

SQLiteDatabase myDatabase;
myDatabase = openOrCreateDatabase("sudoku.db", Context.MODE_PRIVATE, null);

このコードはServiceクラスで実装するとうまくいくのですが、AsyncTaskを実装したGeneraterThreadクラスのonPostExecuteイベントハンドラで実装しようとすると、以下のエラーが表示されます。

The method openOrCreateDatabase(String, int, null) is undefined for the type GeneraterThread

解決方法は?

このメソッドを持たないGeneraterThreadインスタンスでopenOrCreateDatabaseメソッドを呼び出そうとしているようです(Serviceクラスはメソッドを持っています)。おそらく、Contextオブジェクトへの参照を渡して、その上でメソッドを呼び出すことができるだろう。あるいは、SQLiteDatabase.openOrCreateDatabase()のstaticメソッドを使用する。