我是编程Android应用程序的初学者。现在我开始编程一个,它读取一个网页并将其中的一些数据保存到数据库/表中。 我想补充一点,该应用程序将该网站置于后台服务中并将其与数据库进行比较。如果有什么变化的话,它应该弹出一个方便的通知。问题是,我已经在MainActivity中使用DatabaseHelper类创建了数据库,所以当我想在服务类中添加一些数据库时,我想我需要MainActivity意图,但我不知道如何。
MainActivity中的相关代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
myDb = new DatabaseHelper(this);
AlarmManager alarmManager = (AlarmManager) MainActivity.this.getSystemService(MainActivity.this.ALARM_SERVICE);
Intent startServiceIntent = new Intent(MainActivity.this,Hintergrundservice.class);
PendingIntent startServicePendingIntent = PendingIntent.getService(MainActivity.this, 0, startServiceIntent, 0);
c.setTimeInMillis(System.currentTimeMillis()+1000*10);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP,c.getTimeInMillis(),1000*10,startServicePendingIntent);
}
相关的DatabaseHelper类:
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table Vertretungsplan (ID INTEGER PRIMARY KEY AUTOINCREMENT,DATUM TEXT, TAG TEXT, KLASSE TEXT, STUNDE TEXT, LEHRER TEXT, FACH TEXT, RAUM TEXT, LEHRERVON TEXT, FACHALT TEXT)");
}
那就是背景服务类:
public int onStartCommand(Intent intent, int flags, int startId) {
Toast.makeText(getApplicationContext(), "Hintergrundprozess wurde ausgeführt!", Toast.LENGTH_SHORT).show();
Log.d("MyActivity","Hintergrundprozess");
//write into Database
stopSelf();
return super.onStartCommand(intent, flags, startId);
}
答案 0 :(得分:0)
您应该可以在服务中创建DatabaseHelper
的第二个实例。