ViewModel의 필요성 안드로이드에서 Activity와 fragment - UI 컨트롤러의 목적 기본적으로 UI 데이터를 표시하거나, 사용자 작업에 반응하거나, 권한 요청과 같은 운영체제 커뮤니케이션을 처리하는 것이다. 이러한 UI 컨트롤러에 데이터 관련 책임을 요구하면 클래스가 팽창되어 다른 클래스로 작업이 위임되지 않고, 단일 클래스가 혼자서 앱의 작업을 모두 처리하려고 할 수 있다. 이렇게 되면 테스트가 훨씬 더 어려워진다. -> 앱의 데이터 또는 데이터에 관한 모든 의사 결정 로직은 UI 컨트롤러 클래스에 포함해서는 안된다. 데이터에 관한 의사 결정 로직을 ViewModel에 추가해야 한다. ViewModel 클래스는 lifecycle을 고려하여 UI 관련 데이터를 저장하고 관리하도록 설계되었..
RecyclerView 여러가지 항목을 나열하는 목록 화면을 만들 때 사용한다. + 리스트뷰는 androidx 라이브러리에서 리사이클러 뷰를 제공하기 시작하면서부터 잘 사용되지 않는다. RecyclerView의 구성요소 ViewHolder: 항목에 필요한 뷰 객체를 가진다. 필수 Adapter: 항목을 구성한다. 필수 LayoutManager: 항목을 배치한다. 필수 ItemDecoration: 항목을 꾸민다. 뷰 홀더는 각 항목을 구성하는 뷰 객체를 가지며 어댑터는 뷰 홀더에 있는 뷰 객체에 적절한 데이터를 대입해 항목을 완성한다. 레이아웃 매니저는 어댑터가 만든 항목들을 어떻게 배치할지 결정하여 리사이클러 뷰에 출력한다. RecyclerView 사용 1. 리사이클러 뷰 선언 그래들 파일의 depend..