MVI에 대해서.
·
안드로이드 읽어보기/5. Android Architecture
mvi android라고 구글링 하면 양질의 자료들이 많다! 최근에 Android Developer의 권장 아키텍처의 설명을 보면 1. unidirection 2. state 3. immutable등의 키워드를 볼 수 있는데, 이게 나는 MVI를 설명하고 싶은 게 아닌가?라는 생각이 들었다. 그렇다면, 기존의 MVVM구조가 어떻길래 왜 MVI가 나오게 되나?? 근데 나는 MVVM구조와 MVI가 아주 다른 구조라고 생각하지 않는다. 기존에 ViewModel의 사용법에서 ViewModel의 책임을 분산시키고, 유저의 이벤트에 대한 반응을 직관적으로 관리하기 위함? 정도라고 생각이 드는데... 일단 한번 알아보자.. MVVM에서 ViewModel내에는 View에 표현해 주기 위한 데이터들이 매우 많을 수 있다..
MVVM이 무엇인가???
·
안드로이드 읽어보기/5. Android Architecture
사실 나는 MVP MVC에 대해서 어떤 것이라는 것만 알고 있고, 실제로 그런 코드를 본 적도 구현해 본 적도 없다. 그래서 MVVM이 당연한 것처럼 느껴지고 내가 알고 구현하는 방식이 MVVM인지 확신하기도 어렵기도 하다.. 내가 이해하고 있는 방향으로 MVVM이 무엇인가를 정리해 보도록 하겠다. 사실 ViewModel과 View(Activity, Fragment, Compose) 들은 UI Layer에 속한다. UI Layer의 역할은 1)Data Model로부터 데이터를 요청하여 그 데이터를 사용자에게 보여주는 역할을 하는 것이며, 2) 사용자와의 상호작용을 하는 것이다. 다음으로 우리가 익히 아는 Activity를 생각해보자. 일단 생명주기가 존재한다. 생성되고 뷰가 그려지고, 멈추고, 다시 켜지..
Android Architecture 어떻게 해야하는가?(1)
·
안드로이드 읽어보기/5. Android Architecture
이 내용은 Android Developer내용을 읽어보면서 정리한 내용이므로, 더 자세한 내용을 알고 싶으면 공식 홈페이지에서 읽으면 됩니다!.! 우선 내가 생각했던 아키텍쳐라 함은 MVVM이니 MVI이니 MVC니 .. 하는 것들이었는데, 이런 것들도 매우 중요하겠지만, 왜 이러한 아키텍처를 고려하여 만들어야 하는가가 주된 이 글의 주된 목적인 것 같다. Android Mobile App 우선 안드로이드 앱의 환경에 대해서 얘기하면서 시작한다. 1. 우리가 잘 하는 컴퓨터 내의 프로그램과 다르게 안드로이드 어플의 경우는 다양한 진입경로가 있다. 액티비티, 브로드캐스트, 등등 4대 컴포넌트가 있고 2. 안드로이드 OS에 의해서 메모리 관리에 의해 사용자의 의지와 무관하게 임의로 종료가 될 수 있다. 그래서..
This version (1.0.1) of the Compose Compiler requires Kotlin version 1.5.21 but you appear to be using Kotlin version 1.5.31 which is not known to be compatible. Please fix your configuration (or `suppressKotlinVersionCompatibilityCheck` but don't say ..
·
시행착오 저장소
매번 새로운 프로잭트를 할때마다 골치가 아프게 되는 에러임 이번에는 SQLDelight 를 사용하면서 Compose를 같이 사용하게 되었는데. 이렇게 되면 SQLDelight는 코틀린 버전을 1.5.31로 강제로 맞춰버린다고 함.. 그래서 그냥 Compose를 1.0.1이 아닌 최신의 버전을 사용하면 된다. 나의 경우에는 1.0.4로 설정하니까 되었음..\ https://stackoverflow.com/questions/69622377/compose-compiler-requires-kotlin-version?noredirect=1&lq=1 Compose Compiler requires Kotlin version I made a Kotlin Multiplatform Mobile project using a..
android injection 종속성 삽입
·
안드로이드 읽어보기
과거 내가 쓴 글 https://doojuns-ordinary.tistory.com/42?category=994822 1. DI 종속성 주입 (sunflower 분석 ,hilt, dagger) DI Dependency Injection 프로그래밍에 많이 사용되면 방법이며 안드로이드 개발에 적합하다고 함 다음과 같은 이점이 있다고 한다. 1) 코드 재사용 가능 2) 코드 리팩토리 편의성 3) 테스트 편의성 doojuns-ordinary.tistory.com 종속성 삽입에 대해서 다시 알아본다. 종속 항목 삽입이 뭔가? 저번 글에도 사용했던 예를 사용하자면, 자동차에 엔진이 무조건 필요로 하는데, 이 엔진이라는 객체가 자동차라는 객체의 종속 항목이라고 한다. 그 필요한 종속 항목을 자동차의 객체 내부에서 생..
Android Coroutine (4)
·
코틀린/Coroutine
Dispatchers / Threads 코루틴을 실행할 스레드를 설정 할 수 있다고 했었음. Dispatcher에는 뭐가 있니? Main 안드로이드 메인 쓰레드! 유아이 작업이 이루어 질때 사용해야함, 라이브데이터를 업데이트 할 때 Default 백그라운드 공통 풀을 사용해서 설정한다. CPU리소스를 소비하는 작업에 적절! 뭐 목록 정렬이라던가 JSON파싱같은 것에 어울린다고 함 Io Disk 또는 네트워크 입출력 을 메인쓰레드 밖에서 할때 사용, 뭐 룸데이터 베이스(Disk)같은 것 관리 등 코루틴에서는 코루틴끼리 정보를 주고받을 수 있을까? 이게 채널이 한다 위의 그림만 보아도 뭘 하는지 알 수 있다. 채널의 종류 Unlimited Buffered Rendezvous Conflated 미완성인데.. ..
리워크
오늘도새맘처럼