+-+-+ +-+ +-+-+-+-+
|G|O| |4| |H|I|V|E|
+-+-+ +-+ +-+-+-+-+

 --- A GOPHER-LIKE INTERFACE FOR HIVE BLOCKCHAIN ---

[Andoird] 2. MVVM에서 꼭 필요한 데이터 바인딩(DataBinding) 라이브러리

BY: @jeonghamin | CREATED: Jan. 21, 2018, 8:43 a.m. | VOTES: 4 | PAYOUT: $0.74 | [ VOTE ]

[IMAGE: https://steemitimages.com/DQmSY5jrYYD8htaNrf6ASzrhfg3q1zqkoc3KJK7GEF3P9nB/android_title_image.jpg]

데이터 바인딩(DataBinding)

'데이터(Data)를 묶다.(Bind)' 라고 쉽게 생각하면 됩니다. [데이터]는 Entity(Data객체 일반적으로 String, int, boolen)의 값과 ViewEvent(EventListener 일반적으로 뷰에대한 처리)이고 [바인딩]의 대상은 XML파일입니다. 즉 값과 이벤트를 바로 뷰에 적용하는 것입니다. 또한 개발자가 뷰를 사용하기 위해 필요한 전처리(findViewById)를 자동으로 해주기 때문에 번거러운 코드 작성이 없어집니다.

사용 이점

TextView textView = (TextView)findViewById(R.id.textview);
textView.~

DataBinding은 이런 전처리를 자동으로 해주기 때문에 번거러운 코드 작성이 필요 없어져 아주 편리합니다.

binding.textView.~

View가 많아져도 id와 해당 View의 목록을 보여줍니다.
[IMAGE: https://steemitimages.com/DQmUwNC1JuXzUYqvzisCbajz4Wn1gAAHSm96pytA4C4FnYx/image.png]

textView.setText("Hello world!");
String msg = eiditText.getText().toString();

DataBinding 라이브러리에서 제공하는 Observable 클래스를 사용하여 데이터를 뷰에 바인딩하면 set함수를 사용하지 않아도 자동으로 데이터가 뷰에 적용됩니다.


데이터 값이 변경되어 뷰를 업데이트 할 때 데이터의 변경 사실만 알려주면 됩니다.

        notifyPropertyChanged(BR.message);

즉 데이터가 변경되어서 set을 따로 해줄 필요가 없습니다.

참고 사이트

DataBinding 사용에 대한 상세한 내용은 밑의 사이트에서 잘 나와있습니다.
* Developer 데이터 바인딩 라이브러리
* Android Data Binding(영문)
* Android Data Binding Part 2(영문)

TAGS: [ #kr ] [ #kr-dev ] [ #kr-newbi ] [ #kr-newbie ] [ #android ]

Replies

@wonnieyoon | Jan. 21, 2018, 9:41 a.m. | Votes: 0 | [ VOTE ]

오~ 잘보고 갑니다.

[ BACK TO TRENDING ] [ BACK TO MENU ]
CMD>