创建了一个类管理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。因此需要快速完成操作,如何数据库操作时间很长,就试试用单独的线程。