저도 아직 초보라 정답인지는 잘 모르겠네요,
제가 스케쥴 앱 해봤던 경험으로 답변 드리자면,
Service 와 AlarmManager 를 혼용하여 사용하시길 추천합니다.
단, Service를 1분에 한번씩 돌리는건 좋은 방법이 아니구요
일정을 등록할 때 당일로 등록된 경우는 AlarmManager에 바로
등록하셔도 되구, DB에 정보를 등록 후 그날 알람이 필요한 경우에만
알람 메니저에 등록되록 설정하시면 됩니다.
마찬가지로 내일 혹은 그 이후에 있을 일정 또한 DB에 넣어 두셨다가
하루에 한번 정도 (저는 00시 경에 동작하도록 했었습니다.) 서비스가
동작하여 DB 검색 후 조건에 일치할 경우 AlarmManager에 이벤트 등록하시면
될 것 같습니다.
단순히 한번의 이벤트인 경우와 반복되는 일정일 경우에 대한
쿼리 조건을 잘 생각하셔서 짜신다면 무난하게 사용 가능하실 겁니다.