Android Jetpack 104

What is Coroutine?

간단하게 코루틴에 대해서 잠시 보고 가겠습니다. 강의가 뒤에 ROOM과 Retrofit에 대해서 알아보는 순서로 되어 있다 보니, ROOM과 Retrofit을 쓰면서 간단하게 ViewModel에서 데이터를 다루는 로직을 넣어놨는데, 그 때 코루틴을 잠시 사용합니다. 저희가 코틀린을 사용하다 보면, 앞이 코(Ko)라는 단어가 있죠. 그러면 이게 코루틴의 코와 같은 것인가 보면 코루틴은 코(co)루틴(routine)입니다. 위의 협동 루틴 어쩌고 하는 설명들이 나와 있고 아래에는 다양한 언어들에서 지원한다 라고 나와있습니다. 저도 코틀린에서밖에 코루틴을 사용해보지 않았기 때문에, 다른 언어는 잘 모르겠습니다. 그런데 여기까지 하면 협동 루틴 어쩌고 하면서 나와있는데, 잘 이해가 가지 않습니다. 그러면 구글 ..

Android Jetpack 2022.04.10

Android LiveData - 6 (ViewModel + LiveData + DataBinding)

lifecycleOwner = this 라는 애도 있는데 구글 공식문서에서는 아래와 같이 설명하고 있습니다. A class that has an Android lifecycle. These events can be used by custom components to handle lifecycle changes without implementing any code inside the Activity or the Fragment. 즉, 라이프사이클 관리해주는 친구라고 생각해주시면 됩니다. - 참조 https://developer.android.com/reference/android/arch/lifecycle/LifecycleOwner

Android Jetpack 2022.04.03

WorkManager - 4 (WorkManager Data Transfer)

개복치개발자 강의는 아래의 링크에서 확인할 수 있습니다. 개복치개발자 | Linktree uyalae@naver.com linktr.ee 자, 여기까지 왔으면, WorkManager에 데이터는 어떻게 넘겨주는가? 그리고 완료된 데이터는 어떻게 받는가? 에 대해서 슬슬 궁금할 것도 같습니다. 하나씩 한번 살펴볼까요? 데이터를 넘기고 받아주는 MainActivity 그리고, 데이터를 받고 넘겨주는 WorkManager 그러면 아래와 같이 나옵니다. - 참고 https://developer.android.com/topic/libraries/architecture/workmanager/advanced WorkManager 고급 주체 | Android 개발자 | Android Developers WorkManag..

Android Jetpack 2022.03.07

Paging - 1 (Paging이란)

개복치개발자 강의는 아래의 링크에서 확인할 수 있습니다. 개복치개발자 | Linktree uyalae@naver.com linktr.ee 이번에는 안드로이드 Paging에 대해서 알아보겠습니다. 구글 공식문서에는 아래와 같이 나와있습니다. 페이징 라이브러리 개요 Android Jetpack의 구성요소 페이징 라이브러리를 사용하면 로컬 저장소에서나 네트워크를 통해 대규모 데이터 세트의 데이터 페이지를 로드하고 표시할 수 있습니다. 이 방식을 사용하면 앱에서 네트워크 대역폭과 시스템 리소스를 모두 더 효율적으로 사용할 수 있습니다. 페이징 라이브러리의 구성요소는 권장 Android 앱 아키텍처에 맞게 설계되었으며 다른 Jetpack 구성요소와 원활하게 통합되고 최고 수준으로 Kotlin을 지원합니다. 페이징..

Android Jetpack 2022.03.07

WorkManager - 3 (WorkManager + Coroutine)

개복치개발자 강의는 아래의 링크에서 확인할 수 있습니다. 개복치개발자 | Linktree uyalae@naver.com linktr.ee WorkManager를 사용하다보면, 비동기 작업을 하고 싶을 떄가 있습니다. 이럴 때, 코루틴을 사용하면 어떨까 하면서 찾아보다 보면, WorkManager에서는 코루틴을 지원하고 있습니다. 구글 문서를 보시면 아래와 같이 나와 있습니다. CoroutineWorker의 스레딩 WorkManager는 Kotlin 사용자에게 코루틴을 위한 최고 수준의 지원을 제공합니다. 시작하려면 gradle 파일에 work-runtime-ktx를 포함해야 합니다. Worker를 확장하는 대신 doWork()의 정지 버전인 CoroutineWorker를 확장해야 합니다. 예를 들어 간단..

Android Jetpack 2022.03.06

WorkManager - 2 (WorkManager Simple Ex)

개복치개발자 강의는 아래의 링크에서 확인할 수 있습니다. 개복치개발자 | Linktree uyalae@naver.com linktr.ee 기본적인 쓰레드를 하나 만들고 실행해보겠습니다. 코드는 아래와 같습니다. 자 그런데, 이러면 문제가 생기는데, 앱을 중간에 끄거나 하면 지금까지 나온 상태에서 멈춰버리는 문제가 있습니다. 그러면, 어떻게 해야할까 생각해보면 WorkManager를 사용하면 됩니다. 이렇게 앱을 꺼도 Log가 찍히도록 해보겠습니다. WorkManager에서 Notifiaction이 뜨도록 이렇게 변경해볼 수도 있습니다.

Android Jetpack 2022.03.06

WorkManager - 1 (WorkManager란)

개복치개발자 강의는 아래의 링크에서 확인할 수 있습니다. 개복치개발자 | Linktree uyalae@naver.com linktr.ee 이번에는 WorkManager에 관한 설명입니다. 사용방법은 구글 문서를 볼 수 있으니깐, 이걸 왜 쓰는지부터 알고 가겠습니다. 구글에서는 어떻게 설명하고 있나 공식문서부터 보겠습니다. WorkManager는 지속적인 작업에 권장되는 솔루션입니다. 앱이 다시 시작되거나 시스템이 재부팅될 때 작업이 예약된 채로 남아 있으면 그 작업은 유지됩니다. 대부분의 백그라운드 처리는 지속적인 작업을 통해 가장 잘 처리되므로 WorkManager는 백그라운드 처리에 권장하는 기본 API입니다. 강력한 예약 관리 WorkManager를 사용하면 가변 일정 예약 기간을 통해 한 번 또는..

Android Jetpack 2022.03.06