양방향 데이터 바인딩이란 데이터와 뷰를 직접 연결하여 서로가 서로에게 영향을 주는것입니다.이를 통해 ViewModel, Activity, XML사이의 상호 작용이 가능해집니다.실제 코드를 통해 확인해봅시다.우선 프로젝트 수준 gradle에 데이터바인딩에 대한 종속성을
DiffUtil은 리사이클러뷰를 사용할때 데이터가 변동이 있을경우, 전체 데이터를 갱신하는것이 아닌 변동된 부분만 갱신하여 더욱 효율적으로 데이터를 관리할수 있도록 해준다. 예를들어 아래와 같은 데이터가 있다고 했을때여기서 cat3 가 cat6로 변경되면, 이전에는 전
flow는 kotlin에서 제공하는 비동기 스트림을 나타내는 개념이다.Flow는 대량의 데이터를 처리하거나, 시간이 지남에 따라 변하는 데이터를 처리해야 할 때 유용하게 사용한다.flow는 연속적으로 데이터를 생성하며, 이 데이터는 비동기적으로 처리될수 있다Flow는
안드로이드 앱 개발을 하다보면, 화면 회전이나 생명주기 변화에 따른 데이터 유지를 위해 ViewModel을 사용합니다. 이 때, ViewModel의 사용범위에 따라 by activityViewModels(), by viewModels(), ViewModelProvide
데이터베이스를 사용하다 보면 스키마, 즉 테이블의 구조가 변경되는 경우가 있습니다. 예를 들어, 새로운 기능을 추가하면서 테이블에 새로운 컬럼을 추가해야 하거나, 더 이상 사용하지 않는 컬럼을 제거해야 할 때가 있죠. 이렇게 데이터베이스의 스키마가 바뀌는 것을 '마이그
안드로이드의 Room 데이터베이스에서는 기본적으로 SQLite가 지원하는 데이터 타입만을 저장할 수 있습니다. 즉, INTEGER, REAL, TEXT, BLOB 타입만을 사용할 수 있습니다. 하지만 때때로 이런 기본 타입 외에 다른 타입의 데이터, 예를 들어 날짜와
SharedPreferences는 안드로이드에서 제공하는 경량의 데이터 저장 방식입니다. 주로 앱의 설정값이나, 간단한 사용자 정보 등을 저장하기 위해 사용됩니다. 데이터는 Key-Value 쌍으로 저장되며, 이를 통해 원하는 데이터를 쉽게 불러올 수 있습니다.Shar
DataStore는 Android Jetpack의 일부로, SharedPreferences를 대체하기 위해 제공되는 새로운 데이터 저장 방식입니다. DataStore는 데이터의 일관성을 보장하고, 메인 스레드에서의 I/O 작업을 피할 수 있습니다. 이는 SharedPr