我有訪問SQLite表的代碼,該表完全適用於我的「主」活動。我試圖通過創建一個單獨的類來處理數據插入,刪除等操作來使代碼更加優雅。如何從Android中的「獨立」方法引用SQLite數據庫
當我將完全相同的代碼從主活動移動到單獨的類時,出現以下錯誤:
The method openOrCreateDatabase(String, int, null) is undefined for the type BarCode
我注意到,通過擴展我的數據庫類與「活動」錯誤消失。但是,現在我得到NullPointerException當我運行代碼。
如何正確抽象數據庫代碼並仍然能夠從Android中的活動中引用它?
對不起,如果我聽錯了行話,因爲我是Android和Java的新手。
下面是完整的代碼:
package com.example.stockcontrol;
import java.util.Locale;
import android.app.Activity;
import android.content.ContentValues;
import android.database.sqlite.SQLiteDatabase;
public class BarCode extends Activity {
public BarCode() {
}
public void insertBarCode(String upc) {
SQLiteDatabase db;
db = openOrCreateDatabase(
"StockControl.db"
, SQLiteDatabase.CREATE_IF_NECESSARY
, null
);
db.setVersion(1);
db.setLocale(Locale.getDefault());
db.setLockingEnabled(true);
ContentValues mUpc = new ContentValues();
mUpc.put("upc", "444");
mUpc.put("description", "Box o toast");
mUpc.put("scan_count", "1");
db.insertOrThrow("tbl_upc", null, mUpc);
}
}
@ccheneson感謝您捕捉我的複製和粘貼錯誤! – 2011-01-19 21:07:54
另外,`openOrCreateDatabase和setXXXX`部分在open方法中會更好。如果他想插入幾行,他不需要每次都通過`openOrCreateDatabase`進程 – ccheneson 2011-01-19 21:12:08