のサブクラスではないクラスでデータベースを開くにはどうすればよいActivity
ですか?
のサブクラスでActivity
使用できopenOrCreateDatabase()
ますが、別のクラスでデータベースを開くことはできますか?
データベースインスタンスを静的インスタンスにして、で開いてActivity
他のクラスの静的インスタンスを取得しようとしましたが、データベースが閉じていることを示す例外がスローされます。
このチュートリアルをチェックしてください。
私はそれを経験しました、そしてそれはAndroidでSQLiteを使う方法についての本当に良いチュートリアルです。
基本的に、テーブルの作成を行うデータベースヘルパークラスを作成する必要があります。次に、でこのヘルパークラスを使用Activity
して、データベースやテーブルを作成できます。
SQLiteデータベースアダプタを使用するのが一般的な方法であり、データベースを利用しているアクティビティとは別のヘルパークラスを使用することもあります。これは、コードを使用する例へのリンクです。vogellaチュートリアルも優れていますが、ContentProviderを使用すると、SQLiteDBのみに必要なものを理解するのが少し難しくなります。
基本的に、ヘルパークラスは、DBの作成、更新、および削除を担当し、アダプタークラスは、値の変更、行の削除、および実際にヘルパーを呼び出してデータベースを開くためのメソッドを処理します。