【发布时间】:2011-01-19 20:05:56
【问题描述】:
我有代码可以从我的“主要”活动中访问一个完美运行的 SQLite 表。我试图通过创建一个单独的类来处理数据插入、删除等来使代码更优雅。
当我将完全相同的代码从主要活动移动到单独的类时,我收到以下错误:
方法 openOrCreateDatabase(字符串,整数, null) 未定义该类型 条码
我注意到,通过使用“Activity”扩展我的数据库类,错误消失了。但是,现在我在运行代码时收到 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);
}
}
【问题讨论】: