Purpose
안드로이드 앱 개발능력 향상을 위해서 간단하지만 실제로 사용할 수 있는 앱을 만들어본다. 실제 사용해보고 불편한 점을 보완하는 과정을 경험하기 위함이다.
여러가지 앱을 고려한 끝에 ‘리마인더’ 앱을 만드는 것으로 결정했다.
Overview
리마인더 앱은 등록한 할 일의 데드라인에 맞춰 사용자에게 알림을 하는 앱이다.
리마인더 앱을 선택한 것은
-
네트워크 없이도 기능하는 Offlinebase app이다.
-
Alarm & Notification에 대해 배울 수 있다.
-
참고할 수 있는 예제가 많다.
네트워크 기능은 서버가 필요하고 실제로 내가 실생활에 사용할 수 있는 유용한 데이터를 제공하는 API는 비용이 소요된다.
네트워크 작업없이 오프라인으로 동작하는 앱을 통해 네트워크 파트를 배제한 나머지 안드로이드 아키텍쳐에 대해 간결하게 익힐 수 있을 것이라고 판단했다.
구글에서 개발환경 개선을 위해 적극 지원중인 Jetpack 라이브러리를 적극 채용하여 프로젝트를 진행해본다.
그리고 Notification은 앱이 사용자에게 피드백을 줄 수 있는 가장 적극적인 수단 중에 하나이다. 현재 앱이 실행 중인 상태가 아니라도 원하는 알림을 전송할 수 있으며, 대부분의 앱에서 적극적으로 사용되는 컴포넌트이기 때문에 앱을 만들면서 확실하게 학습한다.
Requirement Details
프로젝트의 구조
-
Android Architecture Component
-
MVVM 구조
-
LiveData
-
Room Database
-
Navigation Component
-
-
Dependency Injection 이해
-
Dagger2
-
-
Testing code 작성
3가지 큰 틀을 가지고 프로젝트를 진행한다.
기능적 요구사항들
-
사용자는 할 일을 등록할 수 있다.
-
할 일은 제목, 내용, 데드라인, 완료여부를 가지고 있다.
-
할 일의 카테고리를 분류하기 위해 컬러를 지정할 수 있다.
-
-
등록된 할 일은 리스트로 표현된다.
-
사용자는 등록한 할 일을 완료, 수정 또는 삭제할 수 있다.
-
등록된 할 일은 시간에 의해 분류되어 리스트로 제공된다.
-
등록된 할 일은 데드라인이 되면 노티피케이션으로 사용자에게 알려준다.
-
알림의 시간을 데드라인 10분 전으로 설정할 수 있다.
-
알림의 소리를 무음 또는 소리로 설정할 수 있다.
-
-
색깔 별로 등록된 할 일 리스트를 확인 할 수 있다.
위 분류를 기준으로 Viable한 기능이라고 판단하고 반복, 점진적으로 구현을 진행한다.
'Android' 카테고리의 다른 글
Fragment에 리스트 출력하기 Part.1 (0) | 2019.09.29 |
---|---|
ViewModel Testing 코드 작성하기 (0) | 2019.09.18 |
Room Database Testing Code 작성하기 (0) | 2019.09.07 |
최소 기능 제품, Minimum Viable Product(MVP) (0) | 2019.08.08 |
CoffeeMaker 예제로 알아보는 Dagger (0) | 2019.08.05 |