1. 목표 TodoList 제작하기 Item을 CardView 이용해서 조금 더 깔끔하게 UI 디자인 하기 Room Database를 이용하여 추가 수정할 수 있도록 만들기. 삭제 버튼을 구현하여 언제든지 삭제할 수 있도록 만들기 2. 사용 기술 RecyclerView Room database MVVM databinding 3. 제작 구조 이런 구조로 제작하였다. 안드로이드 체계에 맞추어 data와 domain, ui 파트로 나누어 작업하였다. 1편에서는 xml과 Room Database 요소인 Todo와 AppDatabase, TodoDAO에 대해 살펴보았다. 2편인 오늘은 MVVM databinding에 대해 살펴볼 것이다. 4. 코드 구성 4-1. MVVM 원리 MVVM은 Model-View-Vie..
1. 정의 라이브 데이터는 안드로이드 앱에서 사용되는 데이터 홀더 클래스이다. 데이터를 관찰하고 데이터가 변경될 때 관찰자에게 알리는 데 주로 사용된다. 옵저버 패턴을 구현하며, 데이터 소스가 변경될 때마다 관찰자(뷰나 프래그먼트)에게 변경 사항을 알려준다. 라이브 데이터는 일반적으로 ViewModel 클래스와 함께 사용된다. ViewModel은 UI와 관련된 데이터를 처리하고 보고나하며, 라이브 데이터를 사용하여 이러한 데이터를 관찰할 수 있다. 이를 통해 UI 컴포턴트와 비즈니스 로직을 분리하고, 유지보수성과 확장성을 향상시킬 수 있다. 2. 사용 예시 2-1. 상황 ViewModel에서 라이브 데이터를 사용하여 데이터를 관찰하고, UI 컴포넌트에서 라이브 데이터를 구독하여 데이터가 변경될 때마다 업..
1. 정의 1-1. 코루틴이란? 코루틴은 비동기 프로그래밍을 지원하는 Kotlin의 라이브러리이다. 스레드와 비슷한 역할을 하지만, 비교적 가벼우며, 쉽게 사용할 수 있다. 1-2. 비동기 작업은? 비동기 작업은 애플리케이션에서 시간이 오래 걸리는 작업을 수행할 때, 결과를 기다리지 않고 다른 작업을 수행하는 방식을 말한다. 한 번에 여러가지 일을 처리하기 위함이라고 생각하면 편하다. 일반적으로 네트워크 요청, 데이터베이스 조회, 파일 다운로드 등과 같은 작업을 비동기적으로 처리한다. 비동기 작업을 수행하면 애플리케이션의 응답성이 향상되고, 화면이 멈추는 등의 문제를 방지할 수 있다. 이를 구현하는 방식으로는 콜백, 스레드, 코루틴 등이 있다. 1) 콜백이란? 콜백은 비동기 작업이 완료되면 호출되는 함수..