본문 바로가기

livedata

(4)
Android 양방향 데이터 바인딩 사용하기 (Two-way DataBinding With LiveData) 이전에 DataBinding에 LiveData를 사용해 데이터가 변경될 때마다 실시간으로 UI에 반영되도록 했습니다. 이번에는 사용자가 입력한 값을 가져와서 처리할 때 유용한 양방향 데이터 바인딩(Two-way DataBinding)을 사용해보겠습니다. 기존에 사용하는 단방향 데이터 바인딩의 경우 다음과 같이 LiveData가 가진 데이터를 사용자에게 보여줄 때 유용했습니다. android:text="@{String.valueOf(myViewModel.countData)}" 하지만 사용자가 입력한 값을 사용하려면 여전히 EditText에서 Text를 가져오는 과정을 직접 작성을 해야 했습니다. EditText에 사용자가 입력한 값을 LiveData가 가지고 있어서 처리가 필요할 때마다 ViewModel에..
DataBinding에 ViewModel, LiveData와 함께 사용하기 지난 LiveData 사용하기에 이어서 DataBinding을 ViewModel, LiveData와 함께 사용해보려고 합니다. 결과물 버튼을 클릭하면 1을 더한 결과를 보여줍니다. 주요 처리 사항 ViewModel을 Databinding에 사용하기 덧셈 결과(LiveData)가 버튼 클릭으로 인해 변경될 때마다 실시간으로 TextView에 반영이 됩니다. MainActivity.kt에서 덧셈 결과(LiveData)를 관찰하는 코드를 명시 안 해도 됩니다. MainActivity.kt ViewModel을 생성한 이후 binding의 변수로 사용합니다. layout에서 ViewModel이 가지고 있는 LiveData, 함수 등을 사용할 수 있습니다. 또한 LiveData를 DataBinding에서 사용할 때..
[안드로이드/Android] LiveData 사용하기 LiveData은 무엇이고 왜 사용할까? LiveData는 Data의 변경을 관찰할 수 있는 Data Holder 클래스입니다. (LiveData is lifecycle aware observable data holder class) lifecycle aware app components인 activities, fragments, or services 들의 생명 주기를 고려합니다.(lifecycle aware) lifecycle aware를 한 특징으로 인해 active 한 생명 주기를 가진 관찰자만(activities, fragments, or services) 업데이트할 수 있습니다. ** Observer (관찰자)란 LiveData가 가지고 있는 데이터 변화를 관찰하는 대상입니다. 데이터가 변할 때..
모던 안드로이드 앱 만들기 (1) - 소개 (using Java, MVVM, RxJava) 앱 소개 및 목적 안녕하세요 이번에는 Jetpack의 다양한 라이브러리를 활용하여 리액티브 하고 확장에 유연한 안드로이드 앱 개발을 할 것입니다. 만들 앱은 나라의 정보(이름, 수도, 국가 이미지)를 보여주는 기능을 가지고 있습니다. 이 앱을 만드는 목적은 Java를 사용해 모던 안드로이드 앱을 개발하는 것이며 여러 Jetpack LIbrary의 역할을 알고 사용해보는 것입니다. (Kotlin 버전은 추후에 업데이트할 예정입니다.) Language, Libraries and tools 🛠 Java LiveData Retrofit RxJava Glide butterknife Architecture 이 앱은 MVVM [Model-View-ViewModel] 아키텍처를 사용하여 단방향 데이터 흐름(unidir..