본문 바로가기

IT/Android

10/1 read post

728x90
반응형

1.

출처 : Migrating to the new coroutines 1.6 test APIs

제목 : Migrating to the new coroutines 1.6 test APIs

요약 : 1.6 에서 바뀐 api 와 이전 api 를 비교해서 설명합니다. runBlockingTest 대신 runtest 를 사용하고 TestCoroutineDispatcher 대신 TestDispatcher 를 사용해야 합니다.

 

2.

출처 : kotlinx.coroutines/MIGRATION.md at master · Kotlin/kotlinx.coroutines

제목 : Migration to the new kotlinx-coroutines-test API

요약 : 새로운 코루틴 test api 로 마이그레이션 하는 방법을 설명합니다. pauseDispatcher 와 resumeDispatcher 를 StandardTestDispatcher 로 교체하고 runBlockingTest 를 runtest(UnconfinedTestDispatcher()) 로 변경합니다.

 

3.

출처 : Coroutine 1.6 Test API 사용하기

제목 : Coroutine 1.6 Test API 사용하기

요약 : 1.6 test api 에 대해서 좀 더 자세히 살펴봅니다. runTest, TestCoroutineScheduler, TestScope 에 대해서 설명하고 TestScroutineScope 와의 차이를 설명합니다. TestDispatcher 에 대해서 설명합니다.

 

4.

출처 : Exploring Kotlin initialization with Android custom views

제목 : Exploring Kotlin initialization with Android custom views

요약 : view 의 생성자 호출 순서에 대해서 설명합니다. init 블록이 가장 먼저 호출되고 그다음 보조 생성자가 호출됩니다. 이 과정을 xml 로 로드할 때와 코드로 뷰를 생성할 때 로그로 결과를 확인합니다.

선정 : 뷰의 생성자 호출 순서에 대해 설명하고 있어 선정합니다.

 

5.

출처 : Kotlin Interface Default Implementation — How does it work ?

제목 : Kotlin Interface Default Implementation — How does it work ?

요약 : 코틀린 인터페이스에 함수 를 구현하면 자동으로 구현 클래스가 생성됩니다. 이유는 DefaultImpls 라는 객체가 만들어지며 java 에서는 참조가 가능하지만 코틀린에서는 참조가 불가능합니다. 해당 인터페이스를 자바에서 implement 하면 자바에서는 메서드를 구현해야 하지만 코틀린에서는 기본 DefaultImpls 가 참조되어 호출됩니다.

 

6.

출처 : https://yoon-dailylife.tistory.com/126

제목 : Android) Kotlin Coroutines 1.6에서 도입된 테스트 API 사용해보기

요약 : runTest 와 TestDispatchers 에 대해서 설명합니다. StandardTestDispatcher 는 자체적으로 작업을 실행하지 않고 스케쥴러에게 작업을 전달해서 실행 순서에 대해 완전한 제어가 가능하지만, 코루틴이 자동으로 실행되지 않습니다. advanceUntilIdle 을 해야 작업이 실행됩니다. UnconfinedTestDispatcher 는 기다리지 않고 즉시 실행됩니다. 따라서 advanceUntilIdle 을 호출할 필요가 없습니다. 하지만 delay 같은게 걸리면 실패가 됩니다.

 

7.

출처 : Customize ExoPlayer Overlay look like Youtube Player

제목 : Customize ExoPlayer Overlay to look like Youtube Player

요약 : exoplayer 의 화면을 youtube player 처럼 오버레이 되는 버튼 모양으로 만드는 방법을 설명합니다. rewind_increment, fastforward_increment, auto_show, surface_type 의 속성에 대해서 설명하고 xml 을 수정하여 메뉴 ui 를 변경하는 방법을 설명합니다.

 

8.

출처 : Google’s recommended way to implement Splash-Screen in your Android App

제목 : Google’s recommended way to implement Splash-Screen in your Android App

요약 : 구글이 권장하는 스플래시 스크린 구현하는 방법에 대해서 설명합니다. splashscreen library 종속성을 추가하고 테마 스타일을 정의하고 매니페스트에 추가한뒤에 installSplashScreen() 을 호출합니다. viewModel 에서 setKeepOnScreenCondition 을 사용하여 스플래시 화면 개체를 연결합니다.

 

9.

출처 : Migrating Retrofit to Ktor

제목 : Using Ktor on Android

요약 : Ktor 는 코틀린으로 작성된 젯브레인의 코루틴 기반 네트워킹 프레임워크입니다. Ktor 로 네트워크 요청하는 법과 구현을 설명합니다. Ktor 는 rest api 와 연결하는데 필요한 모든 옵션을 갖추고 있지만 retrofit 과 같은 추상화 수준에서는 작동하지 않습니다. android/JVM 전용으로는 retrofit 을 고수하고 kmp 를 하려면 ktor 를 권장합니다.

 

10.

출처 : Parcelable vs Serializable? Why and Which one?

제목 : Parcelable vs Serializable? Why and Which one?

요약 : Serializable 과 Parcelable 을 비교합니다. Parcelable 은 Serializable 에 비해 빠릅니다. 대신 구현하는데 더 많은 시간이 걸리고 구현하기가 조금 더 어렵습니다. Serializable 은 많은 임시 객체를 생성하기 때문에 상당한 양의 가비지 수집을 유발하므로 효율성이 떨어지고 reflection 에 안전하지 않습니다.

소요시간 : 3시간

728x90
반응형