200515 프로젝트 레알 개발 일지

2020. 5. 16. 05:20안드로이드 개발/레코드 루틴

드디어 알람 반복이 된다. 원래는 AlarmManager.setRepeating을 이용하려고 했는데 죽어도 안 돼서 활동하고 있는 안드로이드 개발자방의 개발자분의 조언을 듣고 알람 생성 -> 서비스 시작 -> 서비스 안에서 그 다음 알람 생성 -> 하는 식으로 반복을 하기로 했다. 반복할 때 시간을 설정하는 로직은 이렇게 했다.

 

for (i in 7 downTo 1) {
    val day = (dayOfWeek + i) % 7
    if (data.repeatDay[day]) {
        nextAlarmDay = day
    }

}

이렇게 해서 가장 가까이에 있는 미래 반복일을 계산한 다음, 오늘과 같은 요일이 반복일인지도 체크한다. 만약 오늘 날짜에 알람이 있다면, 그리고 현재보다 과거나 같은 시간에 설정이 되어 있다면, 오늘 요일과 반복 요일의 차만큼 현재에서 더하고 현재보다 미래 시간이라면 오늘로 설정한다. 

 

만약 오늘 날짜에 알람이 없다면 오늘 요일과 반복 요일의 차만큼 현재에서 더한다.

오늘은 조금 바빠서 UI 작업이나 기능 추가는 못 했다. 그러나 발목을 잡고 있던 중요한 작업이 해결되었다.

 

#개발일지 #3일차 #프로젝트레알 #1인개발