像这样重启电话后,我从SQLi查询数据以放入警报管理器
Dish
重新启动后,我再次打开应用程序,它显示这样的错误。
public class AlarmReset extends BroadcastReceiver {
SQLiteDatabase db;
DBHelper dbHelper;
Cursor cursor;
String type_number;
String op_name;
String sNotes;
@Override
public void onReceive(Context context, Intent intent) {
AlarmUtils au = new AlarmUtils();
if (intent.getAction().equals("android.intent.action.BOOT_COMPLETED")) {
// Set the alarm here.
db = dbHelper.getWritableDatabase();
String[] queryColumns = new String[]{DBHelper.COL_DATE,DBHelper.COL_RQCODE , DBHelper.COL_VEHICLE_TYPE, DBHelper.COL_OPTION_NAME};
cursor = db.query(DBHelper.TABLE_NAME, queryColumns, null,null,null,null,null);
while (cursor.moveToNext()) {
au.setAlarm(cursor.getString(0), Integer.parseInt(cursor.getString(1)), "Test !");
}
}
db.close();
}
}
我认为在查询数据库时出现问题,但是我重新检查了代码,我认为查询没有问题。如何解决?
答案 0 :(得分:0)
您需要先初始化dbHelper
,然后再调用getWritableDatabase()
或其他任何方法。