創建了一個類管理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。因此需要快速完成操作,如何數據庫操作時間很長,就試試用單獨的線程。