inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

모던 안드로이드 - 코틀린과 Jetpack 활용

[Kotlin] DataBinding

라이브 데이터 + 데이터 바인딩 질문드립니다!

218

정지원

작성한 질문수 2

0

var todos : LiveData<List<Todo>> = getAll()
android:text="@{viewModel.todos.toString()}"

궁금한 부분이 todos가 라이브 데이터여서 관찰이 가능한데 데이터가 바뀌는 게 감지가 되면, getAll() 함수가 실행되는 구조라고 이해했습니다. getAll() 함수에 로그를 남겼는데 데이터를 추가해도 getAll()에 남긴 로그가 찍히지
않아서 질문드립니다..!

kotlin android jetpack

답변 1

0

오준석

아마도 로그는 한번만 실행될 것 입니다.

내용이 바뀌면 getAll() 이 실행되는 것이 아니고 최초에 getAll() 로 todos를 통해 접근할 객체들을 지정해 주게 되는데 내용이 바뀌게 되면 todos를 observe 하고 있는 쪽에서 로그를 찍어야 합니다.

코드를 보면 DataBinding을 사용하고 계시기 때문에 딱히 로그를 작성할 수 있는 부분은 없습니다.

데이터 바인딩 대신 라이브데이터를 observe() 하신다면 여기에 로그를 작성하셔야 변경되었을 때 마다 로그가 출력되게 됩니다.

결론적으로 getAll()은 최초에 한번만 실행이 될 겁니다.

Room_DB코틀린 버전에서 에러 나시는 분들

1

294

1

Room db kotlin 관련질문

0

282

2

Room db kotlin 강의중에서

0

420

3

공적 마스크 조회 앱 자바 버전 질문입니다.

0

388

1

RecyclerView Adapter에서 ViewModel 접근에 관하여 질문 드립니다.

0

1401

1

네비게이션 그래프

0

229

1

Repository에서 Error처리를 하고 싶은데 잘 모르겠습니다.

0

755

1

getAll을 직접부를 때 무한무프 질문있습니다.

0

209

1

/?m=5000 에 대해서 질문드립니다.

0

228

2

@Inject lateinit var repository: MyRepository

0

284

1

이번편 강의의 3:52 부분까지 공부했는데 에러가 걸립니다

0

412

2

let이나 apply는 주로 어떤 상황에 사용하나요?

0

262

2

Call<StroeInfo> 를 StoreInfo로 바꾸는 부분 질문

0

240

1

Room DB 파일을 확인하고 싶어요.

0

2338

1

SavedStateHandle 앱 종료 시킨 후, 다시 열면 0으로 초기화 되어있습니다ㅠ

0

475

1

안녕하세요.

0

442

4

NullPointerException이 뜨는데 이것도 마스크 재고 API 중지 때문인가요

0

287

1

viewModel 질문 있습니다.

0

390

1

suspend

0

241

2

retrofit2에서 코루틴을 이용하는 이유가 무엇인가요?

1

270

2

UpdateItems 생성

0

145

1

질문있습니다.

1

232

3

질문있습니다!

0

267

1

리사이클러뷰 어댑터에서 뷰모델

0

233

1