2

我有一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。请有人帮助我实现这一目标。

4

1 回答 1

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())
    }
}

这是解决上述问题的好方法............

于 2012-08-28T09:23:35.110 回答