비내리는... 거리에서...
오늘은 챌린지반 특강이 있는 날이었습니다.
오늘 배운 내용은 리사이클러뷰와 프래그먼트에 대한 내용이었습니다.
먼저, ViewHolder가 View를 일시적으로 잡아두어서 RecyclerView가 올라가게 되는 점과
아키텍처 패턴처럼 액티비티는 Adapter를 보고, 리사이클러뷰는 통지가 내려오는 것만 바라본다는 것입니다.
RecyclerView 특징상 재활용을 하는데, 데이터를 바인딩해뒀다가 재활용을 얼마나 할지, 사라지면 어떻게 할지 등을 정할 수도 있습니다.
저희가 화면을 구성할 때 리사이클러뷰만으로 구성을 하게 되는데, 여러 리사이클러뷰를 사용하고,
리사이클러뷰 안에 리사이클러뷰를 사용할 수도 있습니다.
이때, 리사이클러뷰는 뷰타입이라는 걸 제공하여, 이를 구현할 수 있습니다.
이 뷰 타입에 따라 리사이클러뷰는 다양한 레이아웃을 만들 수 있고, 그 레이아웃 종류에 따라 뷰홀더도 하나씩 필요합니다.
그리고, 프래그먼트를 사용하는 이유에 대해서도 배웠습니다.
프래그먼트는 사용자에게 편의성을 제공할 수 있고, 한 액티비티 내에 여러 창을 띄울 수 있게 됩니다.
ListAdapter도 있습니다. 기존의 RecyclerView.Adapter보다 List를 만드는 데 특화된 Adapter입니다.
이때, DiffUtil을 사용하며, 이전 객체와 같은지, 데이터는 같은지를 비교합니다.
이 두개를 정의해두면, 백그라운드 스레드에서 알아서 정리해줍니다.
현재 배운 내용은 이 정도이며, 이 내용을 가지고 과제를 진행하고 있습니다.
오늘은 복습과 과제 진행을 위주로 해서 딱히 적을 게 없네요.
과제하고 내일 내용 정리해서 오겠습니다.
끝.