我有一个BroadcastReceiver
课程来接听来电。我想将传入的数字与我的数据库中的数字进行比较。现在我无法理解如何在BroadcastReceiver
类中使用数据库。
我以这种方式在DBAdapter
方法中创建了onReceive()
类的对象:
@Override
public void onReceive(Context context, Intent intent) {
DBAdapter db = new DBAdapter(contenxt);
Cursor c = d.getAllData();
while(c.moveToFirst){
do{
Log.v("Data : "+c.getString(2));
}
while(c.moveToNext);
}
}
上面的代码片段抛出NullPointerException。请有人帮助我实现这一目标。
答案 0 :(得分:5)
最简单的方法如下,
SQLiteDatabase db;
@Override
public void onReceive(Context context, Intent intent) {
db = context.openOrCreateDatabase("PhoneDB2", 0, null);
Cursor cur = db.rawQuery("SELECT * From checkedNumbers", null);
if(cur.moveToFirst()) {
do {
} while(cur.moveToNext())
}
}
这是上述问题的最佳解决方案..................