일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Fragment 수동 추가
- ActivityTestRule
- Error:Execution failed for task ':app:mergeDebugResources'
- viewholder
- 코딜리티
- 구분선
- 안드로이드개발레벨업교과서
- 코틀린
- 안드로이드13
- 테마 아이콘
- 안드로이드
- ui test
- LayoutManger
- high order function
- searchview
- 스와이프
- IntentTestRule
- 안드로이드스튜디오
- Android
- fragment
- Fragment에서 Activity의 함수 사용하기
- recyclerview
- 리사이클러뷰
- adapter
- 고차함수
- binding adapter
- 재사용
- espresso
- 생명주기
- 뷰변경 감지
Archives
- Today
- Total
룬아님의 취중코딩
Android Data Binding Library vs Kotlin Android Extensions 본문
데이터 바인딩과 코틀린을 사용하면 findViewById를 대체할 수 있는 방법이 있다.
1. Kotlin extension
rv_repository.adapter = listAdapter
2. databinding
viewDataBinding.rvRepository.adapter = listAdapter
두 가지 방법을 같이 사용할수 있을 때 어떤 방식이 더 선호될까?
구글 블루프린트에는 databinding을 이용하는 것으로 구현이 되어 있다.
그럼 이유는 무엇일까?
databinding 문서에 의하면 databinding은 findViewById()를 사용하지 않기 때문에 좀 더 효율적일 수 있다고 나와있다.
Kotlin Extension의 경우에는 한 번 findViewById를 호출하고 뷰 참조를 캐쉬하는 방법을 사용하고 있기 때문에(view caching 관련 문서) findViewById()를 호출하지 않는 databinding이 좀 더 효율적이라고 생각된다.
또한 Google Android 팀은 kotlin extension 사용을 권장하지 않는 것 같으며 이 아티클에서는이 문제에 대한 토론을 요약한다. 또한 Google에서 준비한 새로운 Udacity 과정에서 권장 방식으로 데이터 바인딩을 사용하고 있음을 알 수 있다.
반응형
'개발 > 안드로이드 개발' 카테고리의 다른 글
Android Navigation component 안전하게 데이터 넘기기 (0) | 2019.11.11 |
---|---|
Android Navigation component 사용해보기 (0) | 2019.11.08 |
GitHub API를 사용하는 기본적인 Retrofit과 Koin 조합 (0) | 2019.10.31 |
(Databinding) databinding으로 2개의 문자열을 같이 사용하는 법 (0) | 2019.10.30 |
안드로이드 권한 요청 구현하고 예외 처리 하기 (0) | 2019.10.29 |
Comments