Routiner 앱링크
루티너는 습관을 등록하고 나중에 확인할 수 있는 앱입니다.
- JetPack
- AAC-ViewModel
- Room
- Coroutine
- Flow
- Hilt
- SharedPreference
- Multi-Module 적용
Android Clean Architecture에 따라 data, domain, presentation layer로 분류하였습니다.
Multi-Module을 사용하므로서 의존성을 확실히 분리할 수 있고 layer분리를 시각적으로 볼 수 있습니다.
빌드 시간을 줄일 수 있습니다. - AAC-ViewModel 적용
Activity나 Fragment에 보여줄 data를 가지고있습니다.
Activity나 Fragment가 화면 회전 등의 이유로 Destroy 상태가 되어도
AAC-ViewModel은 재 생성되지 않기때문에 데이터를 쉽게 관리할 수 있습니다. 그리고 ViewModelScope를 사용해 비동기 코드를 쉽게 작성할 수 있습니다. - Flow 적용
UI State로 Flow 사용중 안드로이드 의존성을 줄일 수 있고 다양한 연산자를 지원해
더 다양한 연산을 사용 가능 - DataBinding 적용
dataBinding을 사용하여 findViewById를 사용하지 않으며 xml 파일과 데이터 객체를 연결해줍니다. - Hilt 적용
의존성 주입을 사용해서 테스트를 쉽게 사용하고 코드 내부에서 의존관계를 만들지 않고 관심사를 외부로 돌립니다. - Room Database 적용
루틴들을 저장하고 불러오는데 Room Database를 사용하였습니다. - Uizard 적용 UI를 개선하기 위해 Uizard를 사용하였습니다.
처음으로 미니프로젝트를 진행하면서 에뮬레이션이 아닌 실제 기기에서 테스트해봤고 앱을 배포해봤습니다.
덕분에 UI, 데이터 저장 수정 관련해서 더 신경을 썼고 앞으로도 앱을 더 개선할 것입니다.