Chào các bạn,
Hiện tại mình đang làm chức năng Alarm giống như các Alarm khác, chỉ có điều giờ thêm phần set Alarm cho các ngày nghỉ lễ.
Vấn đề của mình hiện tại là đang nằm ở giải pháp để tính ra ngày kế tiếp sẽ hiển thị Alarm ( Sau khi Alarm hiển thị lên rồi, sẽ hiển thị thời
điểm kế tiếp).
Nếu không có ngày nghĩ lễ thì mình tham khảo Open Source Alarm Klock là OK, tuy nhiên khi thêm ngày nghỉ vào mình
đang bị bí giải pháp để tính.
Code của Alarm Klock cho phần tính ra thời điểm kêu tiếp theo là:
Mã:
private void findNextOccurrence() {
Calendar now = Calendar.getInstance();
// If this hour/minute/second has already occurred today, move to
// tomorrow.
if (calendar.before(now)) {
calendar.add(Calendar.DATE, 1);
}
if (calendar.before(now)) {
throw new IllegalStateException("Inconsistent calendar.");
}
// If there are no repeats requested, there is nothing left to do.
if (daysOfWeek.equals(Week.NO_REPEATS)) {
return;
}
// Keep incrementing days until we hit a suitable day of the week.
for (int i = 0; i < Day.values().length; ++i) {
Day alarmDay = Week.calendarToDay(calendar
.get(Calendar.DAY_OF_WEEK));
if (daysOfWeek.hasDay(alarmDay)) {
return;
}
calendar.add(Calendar.DATE, 1);
}
throw new IllegalStateException(
"Didn't find a suitable date for alarm.");
}
Giờ mình đã thiết lập thêm ngày nghỉ lễ, vậy mình sẽ phải tính như thế nào để cho ra thời điểm tiếp theo Alarm kêu?
Các bạn giúp mình với.
View more random threads:
Tuy nhiên, việc thi công và bảo dưỡng đường bê tông nhựa đòi hỏi sự chuyên nghiệp và kỹ thuật cao từ các nhà thầu và kỹ sư. Sự linh hoạt và độ bền cao của đường bê tông nhựa cũng giúp giảm thiểu chi...
Xây Dựng Đẳng Cấp: Cùng Đại Thanh,...