전체 글 196

[Android] Jetpack Compose - Surface

#1 개요 androidx.compose.material3  |  Android Developersandroidx.compose.desktop.ui.tooling.previewdeveloper.android.comSurface는 Composable들의 컨테이너로, Composable의 집합을 시각적으로 표현하기 쉽게 도와준다. #2 구조@Composable@ComposableInferredTargetpublic fun Surface( modifier: Modifier, // Surface에 적용될 Modifier shape: Shape, // Surface의 모양 정의 color: Color, // 배경색 contentColor: Color, // Surface 속 Composabl..

[Android] Jetpack Compose - 기초

#1 Jetpack Compose#1-1 개요 Jetpack Compose UI 앱 개발 도구 키트 - Android 개발자  |  Android Developers앱 작성 속도를 높이는 데 도움이 되는 Android의 UI 앱 개발 도구 키트와 리소스인 Jetpack Compose를 살펴보세요.developer.android.com전통적인 방식을 사용하는 기존의 안드로이드 프로젝트에서 UI 구현 방법은 명령적 프로그래밍이었다. XML 레이아웃과 해당 레이아웃을 참조하는 Java 및 Kotlin 코드로 분리되어 있다. 이 때, 새롭게 출범한 Jetpack Compose는 선언적 프로그래밍으로, XML 파일 없이 모든 UI를 Kotlin 코드로 작성한다 (UI와 로직의 통합).Jetpack Compose가..

[Android] Dagger2 - Hilt로 마이그레이션

#1 Hilt 개요 Hilt를 사용한 종속 항목 삽입  |  Android Developers이 페이지는 Cloud Translation API를 통해 번역되었습니다. Hilt를 사용한 종속 항목 삽입 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Hilt는 프로젝트에서 종속developer.android.comHilt는 Dagger2의 복잡한 부분을 더 쉽고 효율적으로 사용할 수 있게 만들어주는 추상화 계층이다. 그런 면에서 Dagger2 - Hilt 관계는 SQLite - Room의 관계와도 같다. Hilt을 사용하면 Dagger2를 생으로 사용하는 것보다 세세한 설정은 불가능하다. 하지만, 상용구 코드를 많이 줄여준다. 말 그대로 추상화 계층이니 말이다. #2 Hil..

[Android] Data Binding - View Binding

#1 View Binding#1-1 개요 뷰 결합  |  Android Developers이 페이지는 Cloud Translation API를 통해 번역되었습니다. 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 뷰 결합은 뷰와 상호작용하는 코드를 더 쉽게 작성할developer.android.com뷰 바인딩은 데이터 바인딩의 부분집합으로, XML에서 @{ ... } 및 @={ ... }가 없는 데이터 바인딩이라고 보면 된다. 즉, View Binding은 findViewById의 암시적 선언만을 수행하는 작업이다. #1-2 View Binding의 장점 1. 프로젝트 컴파일 시간이 짧음 2. xml 코드를 태그로 감쌀 필요가 없음 (= Binding할 View(XML 코..

[Android] Unit Testing - Retrofit

#1 이전 글#1-1 Unit Testing 개요 [Android] Unit Testing - 개요와 환경 설정#1 안드로이드 앱 테스트#1-1 안드로이드 앱 테스트의 종류먼저, 여기에 있는 구글 공식 문서에서 안드로이드 앱 테스트에 대한 개요를 읽으면 좋다. 해당 구글 공식 문서에서 복사해온 위의 그림kenel.tistory.com위 링크에 있는 이전 게시글에 이어서, 실제 안드로이드 프로젝트를 만들어 Retrofit의 Unit Testing을 수행해본다. 본 게시글을 읽기 전에 [Android] Unit Testing - 기초를 보고 오면 이해에 도움이 된다. #1-2 환경 설정 (build.gradle 등)이전 게시글의 #3을 토대로 본 게시글에 나오는 안드로이드 프로젝트의 Gradle, AGP, ..

[Android] Unit Testing - Room과 LiveData

#1 이전 글#1-1 Unit Testing 개요 [Android] Unit Testing - 개요와 환경 설정#1 안드로이드 앱 테스트#1-1 안드로이드 앱 테스트의 종류먼저, 여기에 있는 구글 공식 문서에서 안드로이드 앱 테스트에 대한 개요를 읽으면 좋다. 해당 구글 공식 문서에서 복사해온 위의 그림kenel.tistory.com위 링크에 있는 이전 게시글에 이어서, 실제 안드로이드 프로젝트를 만들어 Room 및 LiveData의 Unit Testing을 수행해본다. 본 게시글을 읽기 전에 [Android] Unit Testing - 기초를 보고 오면 이해에 도움이 된다. #1-2 환경 설정 (build.gradle 등)이전 게시글의 #3을 토대로 본 게시글에 나오는 안드로이드 프로젝트의 Gradle..

[Android] Unit Testing - ViewModel

#1 이전 글#1-1 Unit Testing 개요 [Android] Unit Testing - 개요와 환경 설정#1 안드로이드 앱 테스트#1-1 안드로이드 앱 테스트의 종류먼저, 여기에 있는 구글 공식 문서에서 안드로이드 앱 테스트에 대한 개요를 읽으면 좋다. 해당 구글 공식 문서에서 복사해온 위의 그림kenel.tistory.com위 링크에 있는 이전 게시글에 이어서, 실제 안드로이드 프로젝트를 만들어 ViewModel의 Unit Testing을 수행해본다. 본 게시글을 읽기 전에 [Android] Unit Testing - 기초를 보고 오면 이해에 도움이 된다. #1-2 환경 설정 (build.gradle 등)이전 게시글의 #3을 토대로 본 게시글에 나오는 안드로이드 프로젝트의 Gradle, AGP,..

[Android] Unit Testing - 기초

#1 이전 글#1-1 Unit Testing 개요 [Android] Unit Testing - 개요와 환경 설정#1 안드로이드 앱 테스트#1-1 안드로이드 앱 테스트의 종류먼저, 여기에 있는 구글 공식 문서에서 안드로이드 앱 테스트에 대한 개요를 읽으면 좋다. 해당 구글 공식 문서에서 복사해온 위의 그림kenel.tistory.com위 링크에 있는 이전 게시글에 이어서, 실제 안드로이드 프로젝트를 만들어 기초적인 안드로이드 Unit Testing을 수행해본다. #1-2 환경 설정 (build.gradle 등)이전 게시글의 #3을 토대로 본 게시글에 나오는 안드로이드 프로젝트의 Gradle, AGP, JDK의 버전 설정 및 build.gradle 설정을 진행한다. 이전 게시글의 build.gradle과 달..

[Android] Unit Testing - 개요와 환경 설정

#1 안드로이드 앱 테스트#1-1 안드로이드 앱 테스트의 종류먼저, 여기에 있는 구글 공식 문서에서 안드로이드 앱 테스트에 대한 개요를 읽으면 좋다. 해당 구글 공식 문서에서 복사해온 위의 그림은 테스트를 총 3단계로 나누고 있다. 먼저 Unit test는 함수나 클래스 등의 앱의 아주 작은 부분을 검증하는 테스트고, 본 게시글에서 다룰 내용이다. 두번째는 Integration(통합) test로, 데이터베이스 연동, API 호출 등 모듈 간의 상호작용을 검증한다. 마지막은 End-to-end(끝과 끝을 붙이는) test다. 전체 시스템의 모든 구성 요소(끝) 간의 상호작용(잘 붙는 지)을 확인한다. End-to-end test에서의 '구성 요소'는 사용자의 입력이나 시나리오 등까지 포함한다. Integr..