Android5 Android 프로젝트에서 Clean Architecture 적용해보기 목차 개요 지난 번 아키텍처에 대해서 공부하며 Android를 module단위로 나누어 CleanArchitecure 를 적용하는것이 권장 되고 있다는 것을 알았다. Multi module은 무엇인지 MultiModule을 활용하여 CleanArchtecture를 어떻게 적용하는지에 대해 알아보고자 한다. 멀티 모듈이란? 모듈: 소스 파일 및 빌드 설정으로 구성된 모음 라이브러리: 라이브러리도 모듈의 일종 멀티모듈: 한 어플의 모듈을 개발 편이성, 이식성, 재사용성등을 위해 여러 개로 나눈 것 모듈을 나누는 기준 기능의 이식성이 높을 때 기능의 재사용성이 높을 때 기능의 빌드시간이 오래걸려 개발시간을 지체시킬 때 멀티 모듈의 장점 1) 코드의 재사용성 증가 2) 의존성 낮춤 3) 코드 유지보수 용이 4).. 2024. 4. 16. Android, Hilt를 사용해야하는 이유와 사용방법 0. 개요 프로젝트 진행하며 테스트를 코드를 작성하려는데 어려움을 겪었었다.(킅래스를 재선언하고 매개변수로 받고 하는 등의 작업에서 중복됨을 느꼈다.) 후에 Hilt 라이브러를 활용하여 재사용할 클래스에 의존성 주입을 하니 테스트 코드를 작성하는데 훨씬 수월했다. 사실 아직은 잘 모르겠다. '의존성 주입을 사용한다는 것은 무엇인지', '의존성 주입을 통해 테스트 코드 작성외에 어떤 이점이 있을지' 라는 의문이 든다. 하여 DI와 Hilt라이브러리를 이해하고 사용한다면 어떤 이점이 있는지에 대해 알아보자. Android의 Dependency Injecttion(DI) 1) DI란? 클래스에는 흔히 다른 클래스 참조가 필요 클래스가 필요한 객체를 얻는 세 가지 방법 클래스가 필요한 종속 항목을 구성. 예를 .. 2024. 4. 8. Android(Kotlin), Compose의 NavController 활용하기 Splash, Fragment만들기 0. 개요 기존의 Android Studio에선 AndroidManifest.xml에서 Theme를 무엇을 쓸 지 정해주고 res폴더에서 layout폴더를 만들어 xml로 UI를 작성해주고 MainActivity에서 바인딩을 하든 FindbyId()를 사용하든 하여 UI의 요소들을 제어했다. Compose는 이러한 절차들을 가볍게해주는 라이브러리이다.(xml이 아닌 kotlin으로 UI를 만들 수 있다.) https://developer.android.com/jetpack/compose/documentation?hl=ko 위의 공식문서에서 Compose의 모든 것을 살펴볼 수 있다. 이 글에선 Compose를 설치하고 화면을 구현하고 화면을 전환되는데 사용되는 NavController에 대해서 다룰 것이.. 2024. 4. 8. Android, Compose material2 vs material3 0. 개요 기존의 안드로이드 UI를 Compose를 사용하여 리팩토링를 하던 도중 @OptIn(ExperimentalMaterial3Api::class)를 붙여야 해결되는 문제에 봉착했다. 뭐가 다른지 봤더니 meterial3는 아직 실험용인 부분들이 있다. 만약 본인이 초심자라면 많은 reference를 찾을 수 있기 때문에 meterial버전을 낮추길 권장한다. //m2 implementation "androidx.compose.material:material:$m2-version" //m3 implementation "androidx.compose.material3:material3:$m3-version" 1. meterial Design이란? 구글이 모바일과 데스크탑 그리고 그 외 다양한 디바이스.. 2024. 4. 8. 앱 아키텍처 패턴을 먼저 알자 0. 개요 현재 내가 진행했던 프로젝트의 패키지 구조이다 뭔가 맘에들지 않는다. Package이름을 짓는 관례나 구조 정리해대한 좀 더 좋은 방법이 있는지 찾아보던 와중 MVVM 패턴에 관한 글을 읽게 되었고 앱 아키텍처 패턴을 아는 것이 먼저라는 생각이 들었다. 1. 아키텍처 패턴/ 디자인 패턴 아키텍처 패턴이란? 소프트웨어의 구조를 패턴화 한 것 디자인 패턴이란? 객체지향 프로그래밍을 설계할 때 자주 발생하는 문제에 대해서 피하기 위해 사용되는 패턴을 의미 아키텍처 패턴과 디자인 패턴의 차이 - 아키텍처 패턴은 소프트웨어 구조 자체를 패턴화한 것 디자인 패턴은 소프트웨어 구조 내에서 특정한 문제를 피하기 위해 사용되는 패턴 아키텍처패턴 > 디자인패턴 2. 안드로이드 권장 아키텍처 1) 일반적인 원칙 .. 2024. 4. 8. 이전 1 다음