在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类中开放一个数据库连接?


陪伴而非守候
浏览 391回答 1
1回答

皈依舞

BroadcastReceiver中的onReceive()方法 method得到一个 Context。@Override public void onReceive(Context context, Intent intent){     db = new Database(context);     //more stuff }要知道在BroadcastReceiver中执行时间最多为10秒,如果超时,android就会终止Receiver。因此需要快速完成操作,如何数据库操作时间很长,就试试用单独的线程。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java