본문 바로가기
Kotlin의 Coroutine, 코루틴 #1 Co-Routine, Co(접/함께, 동시에) 코틀린의 코루틴은 무엇인지, 그리고 왜 사용되는지 알아보겠습니다. 안드로이드 가이드 문서를 살펴보면 비동기 프로그래밍을 하는 경우, Coroutine을 사용하도록 권장하고 있습니다. Kotlin Document : Coroutine Wikipedia Document : Coroutine 공식문서에서는 suspendable computations라는 표현을 통하여 Coroutine에 대한 설명을 시작합니다. 중단시킬 수 있는 계산 정도로 해석하면 좋을 것 같은데, 이 표현 자체가 비동기 프로그래밍을 가장 적절하게 표현할 수 있다는 생각이 듭니다. 상기 그림과 같이 코루틴은 프로세스의 시작 이후 프로세스가 중단되었다가 그 이후 중단된 그 시점에 다시 재개될 수 .. 2023. 1. 31.
Navigation, 아주 간단하게 Fragment간의 전환을 구현하는 방법. 안드로이드 앱은 개발자의 구현에 따라 다양한 화면 구성을 가집니다. 어떤 사람은 하나의 Activity에 여러 Fragment를 쌓아 관리하기도 하고, Activity만을 두어 처리하기도 하죠. 각 개발자의 관점과 그때그때의 상황에 따라 우리는 우리가 원하는 기능들을 표현하기 위한 화면들을 구현합니다. 언제나 그렇듯 개발에서의 명확한 답은 없습니다. 가장 합리적인 방법을 선택하는 것이 개발자의 역할이라고 생각합니다. 다만 더 빠르게 더 편리하게 코드를 구성할 수 있다면 우리는 그것들을 선택하고 적용해야 합니다. 그래서 오늘은 안드로이드 내에서 편리하게 화면들을 구성하고 연결할 수 있는 Navigation Componenet에 대한 이야기를 해보려고 합니다. Navigation Library, Naviga.. 2022. 10. 20.
[Android Build Issue] : [hilt] 이번에 맥북을 한번 밀고 새롭게 개발환경을 세팅하면서 기존 코드와 버전들이 맞지 않아서 여러 날을 괴롭게 보냈었습니다. 특히 안드로이드 스튜디오는 버전 때문에 문제를 일으키는 경우가 왕왕 있어서 업그레이드를 할 때마다 두려운 마음으로 진행을 하곤 하는데, 이번에 hilt build issue 때문에 꽤나 고생을 했었습니다. 사실 아직도 정확한 이유는 모르겠습니다. 왜 그러는 건지…😂 처음에 Project의 build.gradle 에서 아래와 같이 설정을 해주었습니다 // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { google.. 2022. 10. 19.
쉽고 빠르게 이미지 처리하는 방법, Glide Library 오늘은 안드로이드에서 이미지를 로드하기 위해서 사용하는 Glide 라이브러리에 대해서 정리를 해보려고 합니다. 저는 현업에서 개발을 할 때에도 이미지와 관련한 처리는 Glide를 통해서 개발을 해왔었습니다. 왜 Glide를 사용했느냐고 한다면 “… 빨라서…”라고밖에 답을 할 수 없을 것 같습니다. 보통 이미지를 불러올 때에는 app자체의 drawable 이미지를 로드해오기도 하지만 서버 혹은 외부 이미지를 불러오는 경우가 대다수입니다. 따라서 빠르게 이미지 로드 기능을 처리하고 편리하게 코드를 완성하는 것의 주된 목적입니다. 이때 Glide에서 지원하는 다양한 메소드 및 클래스들을 이용하면 정말 쉽게 다양한 이미지 로드를 구현해낼 수 있습니다. Glide 적용 방법 Module 의 build.gradle.. 2022. 10. 18.
DI(의존성 주입)은 무엇인가? 그리고 Koin DI를 적용하는 과정 저번의 MVVM과 같이 많은 실무 프로젝트에서 사용되는 Dependency Injection에 대해서 알아보겠습니다. Andorid에서도 좋은 App Architecture를 구현하기 위하여 권장하고 있는 원칙이기도 합니다. 다들 DI라고 부릅니다. 좋은 App Architecture를 위해서 AAC패턴을 적용하는 것처럼 DI도 같은 목적을 위해서 적용하기를 권장하는 것입니다. 코드의 재사용성 리팩토링의 용이성 테스트 편의성 Android에서는 아래와 같은 코드를 제시하면서 DI에 대하여 소개하고 있습니다. class Car { private val engine = Engine() fun start() { engine.start() } } fun main(args: Array) { val car = Ca.. 2022. 9. 14.
MVVM에 대하여, 그리고 간단한 샘플코드를 만들어보기 안드로이드에서는 MVVM을 제외하고 MVC, MVP 등의 구조를 제공하고 있습니다 MVVM 만큼이나 많이 쓰이는 구조들이므로 AAC(**Android Architecture Component)**는 모두 알아두는 것이 좋습니다. 하지만 오늘은 제가 실무 프로젝트에서 사용하였던 MVVM패턴에 대하여 자세히 알아보고 관련 내용의 가장 기본 골격을 어떻게 앱 프로젝트에 적용할 수 있는지 하나씩 알아보도록 하겠습니다. AAC 중 MVVM은 [Model / View / ViewModel]라고 생각하시면 됩니다. Android Developer에서는 아래의 이미지를 App Architecture Diagram으로 소개하고 있습니다. 즉, 앱의 구조를 아래와 같이 구성하고 주요 살들을 붙여나가면 Android에서 권.. 2022. 8. 31.
728x90
반응형