data binding (3) 썸네일형 리스트형 [Android / Kotlin] DataBinding을 사용해 뷰와 데이터를 연결해주기 뷰를 데이터를 연결하는 과정 1. 데이터 클래스를 만든다. data class MyName(var name: String = "", var nickname: String = "") 2. 레이아웃 태그 안에 data 태그를 만들고, 을 정의한다. name은 데이터를 layout xml 파일에서 view에 연결할 때 사용된다. type은 1번에서 만든 데이터 클래스를 사용한다는 의미이다. 3. MainActivity에서 data class의 객체를 만든다. private val myName: MyName = MyName("Seung") 4. 바인딩 오브젝트에 1번에서 만든 data class의 객체로 설정한다. binding.myName = myName 5. XML 파일에서 뷰의 텍스트를 에서 정의한 nam.. [Android / Kotlin] DataBinding을 사용해 findViewById()를 대체하기 데이터 바인딩을 사용해 findViewById()을 대체하는 과정 1. build.gradle 파일의 안드로이드 섹션에 data binding을 가능하게 한다. buildFeatures { dataBinding true } 2. XML layout 파일에 태그를 root view로 선언한다. '''''' 3. MainActivity에 바인딩 변수를 선언한다. private lateinit var binding: ActivityMainBinding 4. 바인딩 객체를 만들고, 기존의 setContentView를 대체한다. binding = DataBindingUtil.setContentView(this, R.layout.activity_main) 5. findViewById()를 바인딩 객체로 대체한다. .. 안드로이드에서 Data Binding을 왜 사용할까? Data Binding을 왜 쓰는가? 앱의 한 Activity에 View 계층 구조가 복잡한 경우 findViewById()는 비용이 많이 들고 앱 속도가 느려지는데, 안드로이드는 원하는 View를 찾을 때까지 루트부터 보기 계층을 통과하기 때문이다. 이에 대한 해결책으로 각 View에 대한 참조가 포함된 객체를 만드는 것이다. Binding 오브젝트라고 불리는 이 오브젝트는 앱 전체가 사용할 수 있다. 이 기술을 데이터 바인딩이라고 한다. 앱에 대한 바인딩 개체가 생성되면 뷰 계층을 통과하거나 데이터를 검색할 필요 없이 바인딩 개체를 통해 View 및 기타 데이터에 액세스할 수 있다. Data Binding의 이점 코드가 짧아지고 읽기 쉬워진다. findByView()를 사용하는 것보다 유지, 보수하기.. 이전 1 다음