본문 바로가기

전체 글126

안드로이드 MVVM 아키텍처란 무엇인가 필요성과 그 배경 안드로이드 MVVM 아키텍처 MVC vs MVP vs MVVM 비교 MVVM의 탄생 이유 및 필요성 MVVM 구현 방법 MVC : View와 Controller를 Activity, Fragment에서 담당 MVC 패턴의 경우 그림과 같이 View와 Controller가 연결되어 있습니다. 즉, Controller를 Activity나 Fragment에 구현하게 됩니다. 이런 아키텍처를 사용할 경우 다음과 같은 문제가 발생할 수 있습니다. Activity의 생명주기가 변경된 경우, 이는 Activity 내부에 구현된 View나 Controller에도 영향을 미치게 된다. 규모가 클수록 어느 한 곳을 변경할 경우 같이 변경해야 하는 경우가 많아진다. View를 수정할 경우 Controller를 같이 수정해야 .. 2023. 3. 17.
안드로이드 Broadcast Receiver 테스트 하기 안드로이드 Broadcast Receiver 테스트하기 Broadcast Receiver를 테스트하는 방법에는 아래의 두 방법이 있습니다. ADB로 직접 Bradcast Receiver에 신호 주기 Instrumented Unit Test를 사용해서 애뮬레이터로 테스트해보기 둘 다 장단점이 있으며 어떻게 사용할 수 있는지 알아보겠습니다. ADB로 안드로이드 Broadcast Receiver 테스트하기 먼저 ADB로 테스트하기 위해선 다음과 같이 테스트 환경을 만들어야 합니다. Android 디바이스를 컴퓨터에 연결합니다. ADB를 사용하여 디바이스와 연결되어 있는지 확인합니다. adb devices 명령어를 입력하고 연결된 디바이스가 표시되는지 확인합니다. 브로드캐스트 이벤트를 보내기 위해 ADB 셸을 .. 2023. 3. 16.
코틀린에서 자주 사용하는 어노테이션(Annotation)@ 정리-2 코틀린에서 자주 사용하는 어노테이션(Annotation)@ 정리-2 이번 포스팅에서는 저번 포스팅에 이어서 Annotation을 커스텀하는 방법을 알아보겠습니다. 코틀린에서 자주 사용하는 어노테이션(Annotation)@ 정리-1 코틀린에서 자주 사용하는 어노테이션에 대해 알아본다 어노테이션은 메타데이터 ( 부가기능 )을 코드에 비침투적으로 추가할 수 있는 수단이다 코틀린에서 어노테이션(Annotation)의 종류 Kotlin에 android-developer.tistory.com Reflection을 사용한 Custom Annotation 코틀린에서 어노테이션을 커스텀하기 위한 방법으로는 두 가지 방법이 있습니다. Reflection을 사용한 커스텀 Code Generation을 사용한 커스텀 먼저 R.. 2023. 3. 11.
안드로이트 코틀린 Reflection(리플렉션) 기초 정의 코틀린에서 Reflection이란 런타임에 프로그램의 클래스를 조사하기 위해서 사용되는 기술입니다. 즉, 프로그램이 실행중일 때 인스턴스 등을 통해 객체의 내부 구조 등을 파악할 수 있습니다. 대표적으로 어노테이션이 그 예입니다. 하지만, 함수를 호출하거나 객체를 만들 때마다 조사를 해야 하기 때문에 남용하면 성능 저하를 유발할 수 있습니다. Reflection(리플렉션)을 사용하기 위한 의존성(라이브러리) 추가 코틀린에서 Reflection을 사용하기 위해선 아래와 같은 의존성을 추가해야 합니다. 안드로이드 스튜디오를 사용하는 경우 implementation "org.jetbrains.kotlin:kotlin-reflect:{kotlin_version}" InteliJ IDEA를 사용하고 있는 경우에는.. 2023. 3. 9.