程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> java-在BroadcastReceiver開放數據庫

java-在BroadcastReceiver開放數據庫

編輯:編程綜合問答
在BroadcastReceiver開放數據庫

創建了一個類管理SQLite數據庫,核心代碼如下:

public class Database extends SQLiteOpenHelper {

private static final String DATABASE_NAME = "name";
private static final int DATABASE_VERSION = 1;

public Database (Context ctx) {
    super(ctx, DATABASE_NAME, null, DATABASE_VERSION);
}

然後創建了另一個類,是一個SMS監聽器(extend BroadcastReceiver),然後想用下面代碼在這類中創建數據庫,但是沒實現:

db = new Database(this);

報錯信息如下:

The constructor Database(SmsListener) is undefined

怎麼樣能在SmsListener類中開放一個數據庫連接?

最佳回答:


BroadcastReceiver中的onReceive()方法 method得到一個 Context。

@Override
public void onReceive(Context context, Intent intent){
    db = new Database(context);
    //more stuff
}

要知道在BroadcastReceiver中執行時間最多為10秒,如果超時,android就會終止Receiver。因此需要快速完成操作,如何數據庫操作時間很長,就試試用單獨的線程。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved