2015-01-06 36 views
-3

蔭試圖打開數據庫,但IAM越來越錯誤我的代碼有如下如何訪問SQLite數據庫在廣播接收器

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 

回答

2

使用Context.MODE_PRIVATEContext類訪問靜態常量:

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

建議:

因爲BroadcastReceiver持續時間是非常少的,所以它不是可以在onReceive執行長時間運行的操作。因此在廣播接收時使用IntentService來執行數據庫操作。