목록Android (3)
안드로이드 개발자 노트
안녕하세요. 이번 포스팅에서는 Android KTX에 대해서 알아보도록 하겠습니다. Android KTX는 Android Jetpack과 기타 Android 라이브러리에 포함된 Kotlin 확장 프로그램 세트입니다. KTX 확장 프로그램은 간결하고 직관적인 Kotlin을 Jetpack, Android 플랫폼, 기타 API에 제공합니다. 예를 들어 SharedPreferences로 작업할 때는, sharedPreferences .edit() .putBoolean("key", value) .apply() 위의 코드를 다음과 같이 간결하게 사용할 수 있게 해줍니다. sharedPreferences.edit(commit = true) { putBoolean("key", value) } Android KTX는 다..
안녕하세요. 이번 포스팅에서는 ViewModel에 대해서 알아보도록 하겠습니다. ViewModel 개념 ViewModel 은 비즈니스 로직 또는 화면 수준 상태(State) 홀더 클래스입니다. UI에 상태를 노출하고 관련 비즈니스 로직을 캡슐화합니다. 주요 이점은 상태를 캐시하여 구성 변경에도 이를 유지한다는 것입니다. 즉, 액티비티 간에 이동하거나 구성 변경(화면 회전 등)을 따를 때 UI가 데이터를 다시 가져올 필요가 없습니다. ViewModel의 이점 UI에 표시되는 데이터를 저장하는 일반 클래스를 사용하면 액티비티 또는 프래그먼트 사이를 이동할 때 문제가 될 수 있습니다. 예를 들어, 화면 회전이 이루어지게 될 때, Activity가 파괴(onDestroy)된 다음 다시 화면이 만들어지면서(onS..
안녕하세요. 이번 포스팅에서는 LiveData에 대해서 알아보도록 하겠습니다. LiveData의 개념 1. LiveData는 기본적으로 Observer Pattern을 활용하며, 말 그대로 실시간 데이터를 나타냅니다. 2. LiveData는 Observable한 데이터 홀더 클래스입니다. 3. 일반적인 Observable 클래스와 달리 LiveData는 수명 주기를 인식합니다. 즉, 액티비티, 프래그먼트, 서비스 등 다른 앱 구성요소의 수명 주기를 고려합니다. 4. 수명 주기 인식을 통해 LiveData는 활동 수명 주기 상태에 있는 앱 구성요소 Observer(관찰자)만 업데이트합니다. 5. Observer의 수명 주기가 STARTED 또는 RESUMED 상태이면 LiveData는 Observer를 활..