분류 전체보기
-
Gradle 훑어보기4 - 빌드파일 기본사항IT/android 2024. 12. 14. 20:58
일반적으로 빌드 스크립트에는 빌드구성, 작업, 플러그인이 자세히 설명되어 있습니다.모든 Gradle 빌드는 최소한 하나의 빌드 스크립트로 구성됩니다.빌드 파일에서는 두 가지 유형의 종속성을 추가할 수 있습니다. Gradle 과 빌드 스크립트가 의존하는 라이브러리 및 플러그인 입니다. 프로젝트 소스(즉 소스코드) 가 종속된 라이브러리 입니다.플러그인 추가플러그인은 Gradle 의 기능을 확장하고 프로젝트에 작업을 추가할 수 있습니다.빌드에 플러그인을 추가하는것을 플러그인 적용 이라고 하며 이를 통해 추가 기능을 사용할 수 있습니다.plugins { id("application")} 이 application 플러그인은 실행 가능한 JVM 애플리케이션을 만드는 것을 용이하게 합니다.Application 플러그..
-
Gradle 훑어보기3 - 설정파일 기본사항IT/android 2024. 12. 14. 20:52
설정파일은 모든 Gradle 프로젝트의 시작점 입니다. 설정파일의 주요 목적은 빌드에 하위 프로젝트를 추가하는 것입니다.Gradle 은 단일 프로젝트와 다중 프로젝트 빌드를 지원합니다.단일 프로젝트 빌드의 경우 설정파일은 선택사항입니다.다중 프로젝트 빌드의 경우 설정파일은 필수이며 모든 하위 프로젝트를 선언해야합니다.설정 스크립트setting.gradle 설정파일은 스크립트 입니다. Kotlin 으로 작성된 경우 settings.gradle.kts 로 명명됩니다.Gradle 스크립트에 허용되는 언어는 Groovy DSL 과 Kotlin DSL 뿐입니다. 설정파일은 일반적으로 프로젝트의 root 디렉토리에 있습니다.rootProject.name = "root-project" // 프로젝트의 이름을 정의합..
-
Gradle 훑어보기2 - Gradle Wrapper 기본사항IT/android 2024. 12. 14. 20:47
Gradle 빌드를 실행하는 데 권장되는 방법은 Gradle Wrapper 을 사용하는 것입니다.Wrapper 스크립트는 선언된 Gradle 버전을 호출하며, 필요한 경우 미리 다운로드 하게 됩니다.Wrapper 은 gradlew 또는 gradlew.bat 파일로서 제공됩니다. Wrapper 을 사용하면 다음과 같은 이점을 얻을 수 있습니다.주어진 Gradle 버전에 맞춰 프로젝트를 표준화 합니다.다양한 사용자에게 동일한 Gradle 버전을 제공합니다.다양한 실행 환경(IDE, CI 서버 등) 에 대한 Gradle 버전을 제공합니다.Gradle Wrapper 파일 이해하기.├── gradle│ └── wrapper│ ├── gradle-wrapper.jar // Gradle Wrapper ..
-
Gradle 훑어보기1 - 기본사항IT/android 2024. 12. 14. 20:41
Gradle 은 빌드 스크립트의 정보를 기반으로 소프트웨어 빌드, 테스트, 배포를 자동화 하는 자동화 빌드 도구 입니다. Gradle 의 핵심 개념프로젝트Gradle 프로젝트는 애플리케이션이나 라이브러리와 같이 빌드 가능한 소프트웨어 입니다.단일 프로젝트 빌드에는 root 프로젝트라는 단일 프로젝트가 포함되며, 다중 프로젝트 빌드에는 하나의 root 프로젝트와 여러개의 하위 프로젝트가 포함됩니다.빌드 스크립트빌드 스크립트는 프로젝트를 빌드하기 위해 어떤 단계를 거쳐야하는지 Gradle 에게 알려주는 스크립트 입니다.각 프로젝트에는 하나 이상의 빌드 스크립트가 포함됩 수 있습니다.종속성 관리종속성 관리란 르포렉트에 필요한 외부 리소스를 선언하고 활용하기 위한 자동화된 기술입니다.일반적으로 각 프로젝트에는..
-
DoveLetter interview question 훑어보기1IT/android 2024. 12. 9. 16:00
What is Dove Letter?Dove Letter is a private subscription repository where you can learn, discuss, and share newknowledge about Android and Kotlin. You can stay updated with the latest information througharticles and references, tips with code samples that demonstrate best practices, updates from theAndroid Open Source Project (AOSP), new releases, news about the overall Android/Kotlinecosystem,..
-
Hilt 공식문서 훑어보기2 Hilt ComponentsIT/android 2024. 12. 8. 21:58
컴포넌트 계층구조전통적인 Dagger 와는 달리 Hilt 사용자는 Dagger 컴포넌트를 직접 정의하거나 인스턴스화 시키지 않습니다. 대신에 Hilt 는 미리 정의된 컴포넌트를 제공합니다. Hilt 는 안드로이드 애플리케이션의 다양한 수명주기에 자동으로 통합되는 미리 정의된 컴포넌트들의 셋과 함께 제공됩니다. 아래의 다이어그램은 표준 hilt 컴포넌트 계층을 보여줍니다.Scope 어노테이션은 바인딩을 해당 컴포넌트의 수명주기에 바인딩 하기 위해서 사용되며, 화살표은 컴포넌트의 하위 컴포넌트를 가리킵니다. 일반적으로는 자식 컴포넌트의 바인딩은 부모 컴포넌트의 모든 바인딩에 종속성을 가질 수 있습니다. 인젝션을 위한 컴포넌트@AndroidEntryPoint 같은 hilt API를 사용할때 표준 hilt 컴포..
-
Hilt 이해를 위한 Dagger 기반지식 쌓기1IT/android 2024. 12. 8. 20:48
서론..모든 애플리케이션에서 가장 훌륭한 클래스는 실제로 무언가를 수행하는 클래스들입니다. BarcodeDecoder, KoopaPhysicsEngine, AudioStreamer와 같은 것들이죠. 이러한 클래스들은 BarcodeCameraFinder, DefaultPhysicsEngine, HttpStreamer 같은 의존성들을 가지고 있습니다.반면, 애플리케이션에서 가장 좋지 않은 클래스들은 실제로는 별로 하는 일 없이 공간만 차지하는 것들입니다. BarcodeDecoderFactory, CameraServiceLoader, MutableContextWrapper 같은 것들이죠. 이런 클래스들은 흥미로운 부분들을 어설프게 연결하는 덕트 테이프 같은 존재입니다.Dagger는 이러한 FactoryFact..
-
Hilt 공식문서 훑어보기1IT/android 2024. 12. 8. 20:00
Hilt ApplicationAll apps using Hilt must contain an Application class annotated with @HiltAndroidApp. @HiltAndroidApp kicks off the code generation of the Hilt components and also generates a base class for your application that uses those generated components. Because the code generation needs access to all of your modules, the target that compiles your Application class also needs to have all ..