アプリでボタンを押すだけで SQLite データベースを削除する機能が必要です。ただし、データベースを削除する関数を配置すると、コンパイラ エラーが発生します。機能を使用するにはどうすればよいですか?
問題は、この方法をどのように使用するかです。ourContext.deleteDatabase(DATABASE_NAME); DATABASE_NAMEも定義するDBcontrollerクラスでメソッドを定義しますか、それともonclickリスナーでメソッドを呼び出したい他のクラスで定義しますか。アプリケーションでエラーなしでこの deleteDatabase() メソッドを使用するにはどうすればよいですか?
deleteDB() メソッド内に deleteDatabase を配置し、SQLiteExample という他のクラスの onclick リスナーでこのメソッドを呼び出したい
これは、定義されたデータベースを削除する機能を持つクラスです。
public class DBcontroller {
public static final String KEY_ROWID="_id";
public static final String KEY_NAME="persons_name";
public static final String KEY_NUMBER="persons_number";
private static final String DATABASE_NAME="sampledb";
private static final String DATABASE_TABLE="peopleTable";
private static final int DATABASE_VERSION = 1;
private DbHelper ourHelper;
private final Context ourContext;
private SQLiteDatabase ourDatabase;
private static class DbHelper extends SQLiteOpenHelper{
// DbHelper methods
}
// function to delete database defined here
public void deleteDB(){
ourContext.deleteDatabase(DATABASE_NAME);
}
そして、これが SQLiteExample という 2 番目のクラスです。このクラスでは、他のクラスから deleteDB メソッドを呼び出して、DATABASE_NAME というデータベースを削除します。
public class SQLiteExample extends Activity implements OnClickListener {
public void onClick(View arg0){
switch(arg0.getId()){
case R.id.deleteDatabase:
// want to put code to call delete database here
// so database is deleted with a button click