Tach!
Sorry, ich war mir ziemlich sicher das es sich irgendwo schon um invalides SQL handeln muss.
Die festen Teile sehen gültig aus. Also wird man den vermeintlichen Fehler erst im zusammengebauten Zustand erkennen können.
while(!this.exists("SELECT count(*) FROM alarms WHERE "+days[day-1]+"=1 AND hour >= "+hnow+" AND minute >= "+mnow)){
Was ist der Inhalt von days?
public boolean exists(String title){
Oder besser: Lass dir hier den Inhalt von title ausgeben oder schau mit dem Debugger nach, was der Inhalt ist. Damit bekommst du das eigentliche SQL-Statement angezeigt und kannst eventuelle Fehler darin erkennen.
Cursor mCount= db.rawQuery(title+";", null);
mCount.moveToFirst();
int count= mCount.getInt(0);
mCount.close();
Und es ist eine normale Nullpointer exception, was wohl heisst der Cursor hat kein ergebniss vom Query erhalten.
Und an welcher Stelle? Was genau ist null obwohl du etwas anderes erwartet hast? Ist es vielleicht bereits db?
if(count > 0){
return true;
} else {
return false;
}
Das lässt sich zu return count > 0; abkürzen
dedlfix.