본문 바로가기

IT/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.
Android(Kotlin), Jetpack Compose로 구현한 UI에서 MPAndroidChart를 활용하여 그래프 그리기 0. 개요 MPAndroidCart는 Philipp jahoda라는 분이 만든 앱을 위한 차트 라이브러리이다. 이번엔 Room DB에 저장된 데이터들을 불러 그래프를 선형 그래프를 구현해보자. 1. MPAndroidChart를 활용하여 구현할 수 있는 그래프 1) LineChart - simple design - cubic lines - grdient fill 2) BarChart - simple design - grouped DataSets 3) Horizontal-BarChart 4) Combiend-BarChart(bar - andlineChart in this case) 5) PieChart(with selection, ..) 6) ScatterChart(with squares, triangles.. 2024. 4. 8.