타이머 | 스톱워치 | 푸시알람 |
---|---|---|
default.mp4 |
default.mp4 |
default.mp4 |
여러 기능의 시계들(타이머, 스톱워치, 푸시알람)을 사용해보세요.
사용 방법
- 타이머 시간을 선택하세요.
- 시작하면 설정한 시간만큼 타이머가 작동합니다.
- 시간이 종료되면 진동이 울립니다.
- 확인하면 진동이 멈춥니다.
사용 방법
- 시작버튼을 누르면 스톱워치 시간이 흘러갑니다.
- 계속/중지 로 시간을 멈추고 진행할 수 있습니다.
- 시간 진행 중에는 기록을 할 수 있고 화면에서 기록 시간을 확인할 수 있습니다.
- 시간 중지 중에는 초기화를 해서 시간과 기록을 모두 처음으로 되돌립니다.
사용 방법
- 알람시간을 선택하세요.
- 등록버튼을 누르면 토스트를 통해 등록 시간을 다시 한번 알립니다.
- 알람 시간에 푸시알람이 도착합니다.
- 푸시알람을 클릭하면 앱을 실행합니다.
.app/ ├── common └── di (koin) │ ├── HandlerModule │ └── ViewModelModule └── handler │ ├── PushAlarmHandler │ ├── PushAlarmReceiver │ └── VibrationHandler └── presentation ├── adapter │ ├── BindingAdapter │ └── RecyclerViewAdapter ├── extensions ├── models └── utils │ └── Toast └── view (Custom View) │ └── StopWatchText └── ui ├── main (Activity, ViewModel) ├── alarm (Fragment, ViewModel) ├── stopwatch (Fragment, ViewModel) └── timer (Fragment, ViewModel)
-
MVVM
-
Koin
-
BroadCast
-
DataBinding
-
LiveData
-
Vibrator
-
AlarmManager
-
NotificationManager
-
Timer
-
ProgressBar, BottomNavigation, TimePicker
- 타이머 시간 선택 : NumberPicker
- 타이머 시각화 : Custom ProgressBar
- 시간 컨트롤 : Timer
- 타이머 종료 시 : Lottie & Vibrator
- 시간 컨트롤 : Timer
- 구간 기록 : RecyclerView
- 시작 / 정지 / 기록 / 초기화
- 알람 시간 선택 : TimerPicker
- 알림 안내 : Custom Toast
- 알람 : AlarmManager & NotificationManager
+) 처음에는 FCM(Firebase Cloud Messaging)을 사용하려 했으나 정확한 시간에 알림을 받을 필요가 있기 때문에 서버를 통하는 FCM 보다 로컬에 시간을 등록하는 AlarmManager 가 더 적합하다고 생각했다.
- Android Studio Chipmunk 2021.2.1
- minSdkVersion 29
- targetSdkVersion 32
- Test Device - Galaxy S10e