전체 글 (103) 썸네일형 리스트형 Build Logic 모듈에는 build.gradle이라는 파일이 포함되어 있다.멀티 모듈을 사용하기 위해 모듈을 생성하면 따로 추가하지 않아도 build.gradle 파일이 포함되어 생성되며, 추가 된 모듈은 settings.gradle 파일에 include: 모듈 형식으로 자동으로 추가된다.Gradle - Groovy 언어를 기반으로 한 오픈소스 빌드 도구 빌드도구 - 애플리케이션 생성을 자동화 하기 위한 프로그램 빌드 과정을 간단히 요약하자면 다음과 같다.settings.gradle이 먼저 실행되고, 정의 된 각각의 모듈에 대한 Project 인스턴스를 생성한다.이후 각 모듈의 Project 인스턴스를 통해 빌드 설정을 진행하게 되는데, Project 인스턴스를 사용하는 부분이 바로 모듈 내에 있는 build.gradl.. 멀티 모듈 모든 클래스는 각자의 역할이 뚜렷하게 존재한다.대표적인 예로 ViewModel은 UI의 상태를 관리하기 위한 클래스로, UI 상태를 제외한 나머지는 알 필요가 없다. 그러나 데이터베이스에서 데이터를 가져오기 위해 Repository를 사용해야 하기 때문에 추상화 된 Repository를 DI를 통해 주입받아 사용하곤 한다.이처럼 각자의 역할을 정의하고 이를 의존성 주입을 통해 관리하게 되는데, 하나의 모듈에서 프로젝트를 구현하다 보면 본인도 모르는 사이에 각 코드간의 의존성이 높아지고, 나중에는 클래스마다 복잡한 관계를 갖게 되는 경우가 생기게 된다. 1. 멀티 모듈멀티 모듈을 사용하면 위와 같은 문제를 어느 정도 개선할 수 있다.역할 및 기능 별로 모듈을 생성, 관심사 분리를 통해 유지보수 및 재사용성.. [EditText] 날짜 입력하기 with Flow 개인 프로젝트에서 날짜를 입력하는 화면이 있다.조건시작일은 필수로 입력해야 하며, 종료일은 선택할 수 있다.EditText가 형식에 맞게 채워지면 초록색 테두리로 변한다.화면에 주어진 EditText가 모두 YYYY-MM-DD 형식으로 채워져야 등록버튼이 활성화된다.날짜 범위가 올바르지 않다면 Toast Massage 알림 상태 정의class DateViewModel: ViewModel() { private val _startDate = MutableStateFlow("") val startDate = _startDate.asStateFlow() private val _endDate = MutableStateFlow("") val endDate = _endDate.asStateFlo.. 이전 1 2 3 4 ··· 35 다음