如何在BroadcastReceiver中访问SQLITE数据库

时间:2015-01-06 04:48:21

标签: android

我试图打开数据库但是我的代码出现了错误

 public class MyReceiver extends BroadcastReceiver
    {
     SQLiteDatabase db;
    @Override
     public void onReceive(Context context, Intent intent)
    {
        Cursor c;
        db=openOrCreateDatabase("Mydb",MODE_PRIVATE,null);
        c=db.rawQuery("SELECT * from mytable",null);
        c.moveToFirst();
        String name;
        name=c.getString(0);
        Toast.makeText(context, "Today is " + name, Toast.LENGTH_LONG).show();



     }

    }

错误:

MODE_PRIVATE can not be resolved to a variable

1 个答案:

答案 0 :(得分:2)

使用Context.MODE_PRIVATEContext类访问静态常量:

    db=openOrCreateDatabase("Mydb",Context.MODE_PRIVATE,null);

<强> 建议:

由于BroadcastReceiver持续时间非常短,因此无法在onReceive中执行长时间运行操作。所以在广播接收时使用IntentService来执行数据库操作。