まず、私がAndroidを初めて使用することをお知らせします。
ContentProviderを使用して、1つのアプリケーションに対してのみデータベーステーブル操作を処理することをお勧めしますか?
データベーステーブル操作を処理するために複数のクラスを作成しようとしています。次のようにデータベースヘルパーを作成しました。
パブリッククラスWSDatabaseHelperはSQLiteOpenHelperを拡張します{
private static final String DATABASE_NAME = "wsemp"; private static final int DATABASE_VERSION = 5; public WSDatabaseHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase database) { ItemTable.onCreate(database); CustomerTable.onCreate(database); } @Override public void onUpgrade(SQLiteDatabase database, int oldVersion, int newVersion) { ItemTable.onUpgrade(database, oldVersion, newVersion); CustomerTable.onUpgrade(database, oldVersion, newVersion); } }
データベーステーブル操作を処理するクラスを作成しました。
public class CustomerBean {
private WSDatabaseHelper database;
@Override
public boolean onCreate() {
database = new WSDatabaseHelper(getContext());
return false;
}
public boolean insertObject(valObj) {
SQLiteDatabase db = database.getWritableDatabase();
db.insert(CustomerTable.TABLE_CUST_ACCOUNT_INDEX, null, values);
}
}
しかし、アクティビティまたはセッションファイルからこのinsertObject関数を呼び出す方法がわかりません。CustomerBean.isnertObject(obj)で試しましたが、メソッドを静的に変更するように求められます。