Android/Jetpack

    [Android] RecyclerView에 DiffUtil 사용하기

    [Android] RecyclerView에 DiffUtil 사용하기

    더 나은 방법이나 틀린 내용이 있을 시에 댓글 남겨주시면 감사하겠습니다. 2022-01-28 작성되었습니다. [Android] RecyclerView 기본 사용법 🔍 DiffUtil이란? 안드로이드 공식 문서에서는 두 리스트의 차이를 계산하고 첫번째 리스트를 두번째 리스트로 변환하기 위한 업데이트 동작을 출력하는 유틸리티 클래스로 정의한다. (Eugene W.Myers's difference algorithm) RecyclerView Adapter의 업데이트를 계산하는데 사용되며 notifyDataSetChanged(), notifyItemChanged() 등의 불필요한 사용을 지양할 수 있도록 도와준다. ✅ 주요 클래스 - DiffUtil.Callback 두 리스트의 차이를 계산할 때 DiffUtil에..

    [Android] RecyclerView에 DataBinding 활용하기

    [Android] RecyclerView에 DataBinding 활용하기

    더 나은 방법이나 틀린 내용이 있을 시에 댓글 남겨주시면 감사하겠습니다. 2022-01-12 작성되었습니다. [Android] RecyclerView 기본 사용법 [Android] DataBinding 살펴보기 🔍 시작하기 RecyclerView에서 사용하는 Glue Code를 최소화 하기 위해 DataBinding을 활용하는 방법을 알아본다. LiveData가 아닌 DataBinding 라이브러리의 Observable을 사용한다. ✅ 알아두어야 할 것 Observable: 데이터의 변경을 관찰할 수 있도록 해주는 기능을 보유하며 데이터 변경 시 자동으로 UI를 업데이트 해줄 수 있도록 하는 인터페이스 ✅ 구현 1. 아이템 추가 item의 layout인 sample_item을 태그로 감싸주고 사용할 da..

    [Android] DataBinding 살펴보기

    [Android] DataBinding 살펴보기

    더 나은 방법이나 틀린 내용이 있을 시에 댓글 남겨주시면 감사하겠습니다. 2022-01-12 작성되었습니다. 🔍 DataBinding 안드로이드 공식 문서에 따르면 레이아웃의 UI 구성 요소를 프로그래밍 방식이 아닌 선언적 형식으로 앱의 데이터 소스와 결합할 수 있도록 하는 라이브러리라고 한다. findViewById()의 호출만 대체하는 용도라면 ViewBinding 을 사용하는 것이 더 효율적이다. ✅ 주요 기능 Layouts and binding expressions 표현식 언어로 레이아웃의 뷰와 변수를 연결할 수 있으며 라이브러리가 필요한 클래스를 자동으로 생성해준다. 또한 레이아웃에서 사용할 수 있는 imports, variables, and includes 를 제공해준다. Work with o..

    [Android] RecyclerView 기본 사용법

    [Android] RecyclerView 기본 사용법

    더 나은 방법이나 틀린 내용이 있을 시에 댓글 남겨주시면 감사하겠습니다. 2022-01-11 작성되었습니다. 🔍 RecyclerView란? 안드로이드 공식 문서에서는 기본적으로 메모리 사용량을 최소화하며 UI에 많은 양의 데이터를 표시하는 라이브러리로 정의하며 1. 대량의 데이터 셋을 효율적으로 표시 2. 개발자가 데이터를 제공하여 각각의 아이템이 어떻게 보일지 정의 3. 필요한 요소를 동적으로 생성 하는 라이브러리라고 소개하고 있다. 왜? RecyclerView를 사용해야 할까? 해답은 바로 이름에서 확인할 수 있다. RecyclerView는 각각의 아이템(뷰)을 재활용하기 때문이다. 아이템이 스크린 밖으로 스크롤 될 때, 뷰를 Destroy 하지 않고 스크린에 보여질 새로운 아이템의 뷰로 재활용한다...