kotlin

    [Android/kotlin] List vs MutableList vs ArrayList vs LinkedList

    📌 List vs MutableList vs LinkedList vs ArrayList 🐳 List와 MutableList의 차이 Kotlin은 많은 변수들을 Mutable 여부로 나누고 있다는 것을 잊지말자. List Collcection에서도 List와 MutableList의 차이는 Read-Only인지 아닌지의 차이이다. 그러나, Compile Time에는 둘다 List로써 인식된다. 이는 MutableList가 List를 상속하여 만들어졌기 때문이다. 결국 둘 다 컴파일 결과로 java.util.List 이 된다. public interface MutableList : List, MutableCollection { ... } 🐬 MutableList와 ArrayList의 차이 MutableList..

    [Kotlin] Coroutine 연습 문제

    Coroutine을 공부하면서, 문서를 꼼꼼히 읽어봐도 실전에서는 분명 헷갈리는 부분이 적지 않았다. 그래서 다시 Unit Test를 통하여 연습하던 중에, 이를 문제 - 정답 형식의 문서로 작성해두면 좋을 것 같아 남기게 되었다. 🤔 Coroutine 연습문제 Unit Test 내에서의 결과이기 때문에 상대적으로 긴 런타임을 가지는 실제 상황과는 다른 결과가 나타날 수 있습니다. 그러나 오히려 그렇기에 공부하기에는 더 확실한 방법이므로, 출력의 보장 결과 여부는 Unit Test Runtime 기준으로 합니다. 🕐 문제 1. 출력 결과를 예상하시오. class ExampleUnitTest { @Test fun assert_test() { runBlocking { println("start") /** A..

    [Android/문제 해결] java.lang.IllegalArgumentException: You must call this method on the main thread In Kotlin

    📌 Glide works with background thread Glide에서 BItmap을 얻고자 하는 등의 행위를 할 때, background thread 내에서 작업하라는 에러 문구가 등장합니다. 이는 사실 공식 문서에서 가이드를 제공 중입니다. Ref) 아래는 kotlin 내에서 이를 구현했을 때의 모습입니다 Glide.with(context) .asBitmap() .load(url) .into(object: CustomTarget() { override fun onLoadCleared(placeholder: Drawable?) { // 아래 resource가 들어간 뷰가 사라지는 등의 경우의 처리 } override fun onResourceReady(resource: Bitmap, trans..

    [Android/kotlin] ktlint 설치

    📌 Ktlint 설치 kotlin 언어로 코드를 작성하다 보면, 작성 표준에 잘 맞추어 작성하고 있는지 궁금할 때가 있다. 이는 구글 공식 가이드라인과 kotlin 공식 가이드라인이 존재하기 때문에, 이 문서들로도 해결된다. 그러나 실제로 코드를 짜다보면, 이를 간과하고 작성하게 되는 부분이 많다. 하지만 ktlint를 사용하게 되면, 작성한 코드에 대해 검사를 실시해주어 곧바로 수정이 가능하다. 또한 지속적으로 자각하여 코딩을 진행할 수 있게 된다. 📍 코드 검사 예시 > Task :app:ktlint ../Adapter.kt:3:1: Imports must be ordered in lexicographic order without any empty lines in-between ../Adapter.k..

    [Android] Retrofit With Coroutine (In MVVM Architecture)

    📌 Retrofit with Coroutine (In MVVM Architecture) 이 문서는 Coroutine 선행 공부가 되신 분들이 보기 쉽게 작성되었습니다 Coroutine에 대하여 좀 더 공부하고 싶다면 아래와 같은 페이지를 참조하세요! https://zladnrms.tistory.com/116 [Kotlin] Coroutine 연습 문제 Coroutine을 공부하면서, 문서를 꼼꼼히 읽어봐도 실전에서는 분명 헷갈리는 부분이 적지 않았다. 그래서 다시 Unit Test를 통하여 연습하던 중에, 이를 문제 - 정답 형식의 문서로 작성해두면 좋을 것 같아 남기.. zladnrms.tistory.com Coroutine을 학습하기 전 까지는 네트워크 비동기 처리를 위하여 Retrofit2을 사용하..