首先讓我們知道我是Android新手。使用ContentProvider處理數據庫操作是不是很好的做法?
使用ContentProvider處理數據庫表操作僅適用於一個應用程序是不是很好的做法?
試圖創建多個類來處理數據庫表操作。創建一個數據庫幫手如下:
公共類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),但它要求將方法更改爲靜態。
我不明白你想要做什麼。 customerbean在客戶方面是什麼?爲什麼@Override什麼時候沒有被覆蓋?你跟着什麼教程? – njzk2 2013-02-21 14:53:19
我已經使用這個教程[vogella](http://www.vogella.com/articles/AndroidSQLite/article.html)。 CustomerTable僅包含create table語句和表字段的靜態名稱。忘記CustomerTable和@override。請僅讓我知道如何從Activity調用CustomerBean類的insertObject()方法? – ray 2013-02-21 15:12:15
我不明白是什麼阻止你直接調用它? – njzk2 2013-02-21 15:39:46