DataBinding
[JETPACK개론] DataBinding + ViewModel + LiveData
앞에서 공부했던 DataBinding과 ViewModel과 LiveData를 사용하여 실습을 진행해보자!! 이렇게 과일 이름이 주어지고, 그 밑 두 개는 위의 과일이름이 섞여서 나오는 프로그램을 ViewModel과 LiveData를 사용하여 구현해보자. 데이터바인딩 준비 buildFeatures{ dataBinding true } ViewModel 준비 class MainViewModel : ViewModel() { private var _mutableWord = MutableLiveData("") val liveWord : LiveData get() = _mutableWord private var _randommutableWord = MutableLiveData("") val randomliveWord..
[JETPACK개론] View,DataBinding + Adapter
ViewBinding + Adapter view(Acitivty, Fragment)뿐만 아니라 Adapter에서도 ViewBinding을 사용할 수 있다. 먼저, Adapter를 사용하는 리사이클러뷰를 준비하자! class CustomViewAdapter (private val dataSet : ArrayList) : RecyclerView.Adapter(){ class ViewHolder(binding : TextRowItemBinding) : RecyclerView.ViewHolder(binding.root){ val myText : TextView = binding.myText } override fun onCreateViewHolder(parent: ViewGroup, viewType: Int):..
[JETPACK개론] DataBinding 과 data class
DataBinding TLOVER라는 앱을 론칭하면서 DataBinding을 계속 사용해왔고, 블로그에도 개념을 정리했었지만 강의를 들으면서 부족했던 부분을 보완하고 그 부분들을 정리하고자 한다. databinding ? 이름 처럼 데이터를 연결, 결합 해줄 수 없을까? 라고 생각해보면 된다. viewbinding을 사용했을 때 해당 뷰에 있는 id에 접근해서 값을 변경해주었다. 하지만 서버에서 받은 많은 데이터들을 활용하여 값을 변경해줄 때는 binding을 통하여 데이터를 한 번에 저장한다음 xml에서 변경하면 편리할 것이다!!! 바로 databinding을 사용하면 된다! 1. gradle 파일에 다음과 같이 작성하자 buildFeatures{ dataBinding = true } 2. xml파일안..
[Android] Data Binding(데이터 바인딩)
Data Binding ? bind : 묶다 데이터를 묶는다? 이렇게 말하면 감이 잘 안올 것이다. 안드로이드에서 데이터 바인딩이란 ? UI 요소와 데이터를 선언적 형식으로 결합할 수 있게 도와주는 라이브러리이다. 전에는 해당 클래스에서 findViewById 를 해주어 해당 UI의 텍스트를 변경해주거나, 뷰바인딩을 사용하여 binding.text 해서 UI의 데이터에 접근하였다. 그런데, data binding을 사용하게 되면 직접 호출하지 않고 레이아웃 파일에서 직접 데이터를 할당해줄 수 있다!!!!! 장점 클래스에서 호출하지 않고, xml파일에서 데이터변경이 가능하다! 리사이클러뷰를 사용할 때 각각의 item 을 지정해주는 것이 가능하다!(매우매우 효율적) data가 바뀌면 자동으로 view가 변경..