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 に答える