[Hilt] Hilt 의존성 주입 기초 예제로 살펴보기
개발/안드로이드2024. 8. 1. 16:11[Hilt] Hilt 의존성 주입 기초 예제로 살펴보기

import android.app.Applicationimport dagger.hilt.android.HiltAndroidApp@HiltAndroidAppclass App: Application() {} Hilt의 출발점은 @HiltAndroidApp 애노테이션으로부터 시작된다.이 애노테이션은 애플리케이션 클래스에 마킹하고 빌드하면 기본적인 설정이 끝난다.빌드 이후, 싱글톤 컴포넌트(Container)가 자동적으로 생성된다.  이 싱글톤 컴포넌트에 의존성을 추가할 수 있다.생성자 바인드, 모듈의 프로바이드 어노테이션을 통한 바인딩 기법 두 가지가 존재한다.컴포넌트에 의존성을 추가하는 것을 바인딩, 바인딩을 한다고 표현한다.클라이언트는 컴포넌트에 바인딩된 의존성들을 요청할 수 있다. @AndroidEntr..

13506번: 카멜레온 부분 문자열
백준/문제2024. 8. 1. 14:4813506번: 카멜레온 부분 문자열

문제 출처 : https://www.acmicpc.net/problem/13506 언어 : Kotlin 문제 설명 :문자열 S의 부분 문자열 T 중에서, 접두사(Prefix)도 될 수 있고, 접미사(Prefix)도 될 수 있고, 두 경우가 아닌 위치에도 등장하는 T를 카멜레온 부분 문자열이라고 한다. 문자열 S가 주어졌을 때, 카멜레온 부분 문자열을 구하는 프로그램을 작성하시오. 예를 들어, S = "fixprefixsuffix"와 같은 경우에는 "fix"는 접두사, 접미사도 되고, 두 경우가 아닌 위치에도 등장하는 부분 문자열로도 등장한다. 입력 :첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져있으며, 길이는 106을 넘지 않는 자연수이다. 출력 :가능한 카멜레온 부분 문자열 T 중에..

13297번: Quick Estimates
백준/문제2024. 8. 1. 13:2813297번: Quick Estimates

문제 출처 : https://www.acmicpc.net/problem/13297 언어 : Kotlin 문제 설명 :Let’s face it... you are not that handy. When you need to make a major home repair, you often need to hire someone to help. When they come for the first visit, they make an estimate of the cost. Here they must be careful: if they overestimate the cost, it might scare you off, but if they underestimate, the work might not be worth t..

[Hilt] Android에서 Hilt란? (24-07-31 내용 보충)
개발/안드로이드2024. 7. 31. 16:57[Hilt] Android에서 Hilt란? (24-07-31 내용 보충)

Hilt란? 프로젝트에서 종속 항목 수동 삽입을 실행하는 상용구를 줄이는 Andorid용 종속 항목 삽입 라이브러리이다. 종속 항목 삽입(DI)를 실행하려면 모든 클래스와 종속 항목을 수동으로 구성하고 컨테이너를 사용하여 종속 항목을 재사용 및 관리해야 한다. Hilt는 프로젝트의 모든 Android 클래스에 컨테이너를 제공하고 수명 주기를 자동으로 관리함으로써 애플리케이션에서 DI를 사용하는 표준 방법을 제공한다. Google의 Dagger를 기반으로 빌드되었기 때문에 Dagger가 누리는 이점인 컴파일 시간 정확성, 런타임 성능, 확장성 및 Android Studio 지원을 누릴 수 있다. Hilt의 등장 배경Hilt 이전에는 개인이나 회사별로 수동으로 별도의 DI 솔루션을 만들어서 사용했다. 널리 ..

27497번: 알파벳 블록
백준/문제2024. 7. 31. 01:3027497번: 알파벳 블록

문제 출처 : https://www.acmicpc.net/problem/27497 언어 : Kotlin 문제 설명 :스타는 알파벳 블록을 일렬로 조립하여 문자열을 만드는 게임을 만들었다. 각 블록에는 문자 하나가 적혀 있으며 게임에는 각각 다음 기능을 수행하는 세 개의 버튼이 있다.문자열 맨 뒤에 블록 추가문자열 맨 앞에 블록 추가문자열을 구성하는 블록 중 가장 나중에 추가된 블록 제거게임은 처음에 빈 문자열로 시작하며 빈 문자열일 때 문자열을 구성하는 블록 중 가장 나중에 추가된 블록을 제거하는 버튼을 누를 경우 아무런 동작도 하지 않는다. 버튼을 누른 횟수와 누른 버튼이 순서대로 주어질 때 완성된 문자열을 구하여라. 입력 :첫째 줄에 버튼을 누른 횟수 N이 주어진다. (1 ≤ N ≤ 1,000,000..

25178번: 두라무리 휴지
백준/문제2024. 7. 31. 01:1025178번: 두라무리 휴지

문제 출처 : https://www.acmicpc.net/problem/25178 언어 : Kotlin 문제 설명 :기령이는 어느 날 캠릿브지 대학의 연결구과에 대해 알게 되었다. 캠릿브지 대학의 연결구과란, 단어를 이해함에 있어 한 단어 안에서 글자들이 어떤 순서로 배열되어 있는지는 중요하지 않고, 양 끝의 글자가 올바른지만 중요하다는 이론이다. 즉 단어의 글자가 섞이더라도 양 끝의 글자만 그대로라면 원래의 단어를 쉽게 유추하여 이해할 수 있다는 것이다. 그러나 기령이는 "durumari"와 같은 단어를 "daumurri"로 바꾸게 된다면 원래의 단어를 유추하기 매우 어려워진다는 사실을 발견했다. 몇 날 며칠의 고민을 거듭한 끝에 위의 이론이 잘 작동할 수 있는 조건을 새롭게 찾아냈다. 한 단어를 재배..

의존성 주입이란?
개발/안드로이드2024. 7. 30. 14:57의존성 주입이란?

이전에도 종속 항목 삽입에 대해 이야기를 하며 개념과 예제를 다루고, Hilt에 대해 다뤄보며 이야기를 해봤지만, 솔직히 혼자 이해하기에는 아직 어려운 관계로 강의를 통해 공부하며 좀 더 자세히 알아보고 프로젝트를 진행해보고자 한다. 이전에 다뤘던 의존성 주입, 종속 항목 삽입에 대한 포스팅은 다음과 같다.https://small-stepping.tistory.com/957 종속 항목 삽입이전글에서 이어지는 내용입니다.https://small-stepping.tistory.com/956 UI 레이어와 데이터 레이어 분리레이어를 분리하는 이유코드를 여러 레이어로 분리하면 앱의 확장성이 높아지며 앱이 더 견고해small-stepping.tistory.comhttps://small-stepping.tistor..

27962번: 오렌지먹은지오렌지
백준/문제2024. 7. 30. 13:3827962번: 오렌지먹은지오렌지

문제 출처 : https://www.acmicpc.net/problem/27962 언어 : Kotlin 문제 설명 :오렌지를 먹은 지 오래된 선생님은 부족한 비타민C를 문자열 문제를 통해 보충하려고 한다. "오렌지 먹은 지 오랜지"의 "오렌지", "오랜지"와 같이, 길이가 동일하며 각각 맨 앞, 맨 뒤 문자를 포함하는 어떤 두 부분 문자열이 앞에서부터 하나씩 비교했을 때 정확히 한 문자만 다른 경우, 전체 문자열을 "비타민 문자열"이라 부르려고 한다. 주어진 문자열이 "비타민 문자열"이면 YES, 아니면 NO를 출력하라. 두 문자열 s와 t가 있을 때 t가 s에서 연속해서 나타난다면 t를 s의 부분 문자열이라 한다. 예를 들어, abcdedc의 부분 문자열로는 ab, bcde, dedc, abcdedc ..

18245번: 이상한 나라의 암호
백준/문제2024. 7. 30. 13:1418245번: 이상한 나라의 암호

문제 출처 : https://www.acmicpc.net/problem/18245 언어 : Kotlin 문제 설명 :소설을 좋아하는 하영이는 평소와 같이 이상한 나라의 앨리스라는 소설을 읽고 있었다. 책을 읽던 하영이는 정신이 멍해지더니 갑자기 자신이 이상한 나라에 떨어져 있다는 것을 깨닫게 되었다! 이상한 나라에서 길을 헤매던 하영이는 이상한 나라의 트럼프 병사들을 만나게 되었다. 하트 여왕의 부하인 트럼프 병사들은 하영이에게 자신들이 말하는 암호 문장을 제대로 해석하여 맞추면 살려주고, 하나라도 틀린다면 하트 여왕의 명령에 따라 처형하겠다고 말한다! 하영이는 이 길고 많은 줄로 이루어진 문장을 어떻게 해석해야 할지 고민하던 중, 풀숲 속에 놓인 석판을 발견하였다. [ i번째 줄의 문장은 문장의 첫 번..

[Hilt] 기존 프로젝트에 Hilt 적용해보기
개발/안드로이드2024. 7. 26. 19:02[Hilt] 기존 프로젝트에 Hilt 적용해보기

https://developer.android.com/codelabs/basic-android-kotlin-compose-practice-bus-schedule-app?hl=ko&continue=https%3A%2F%2Fdeveloper.android.com%2Fcourses%2Fpathways%2Fandroid-basics-compose-unit-6-pathway-2%3Fhl%3Dko%23codelab-https%3A%2F%2Fdeveloper.android.com%2Fcodelabs%2Fbasic-android-kotlin-compose-practice-bus-schedule-app#0 연습: Bus Schedule 앱 빌드  |  Android DevelopersRoom을 사용하여 데이터 유지 Co..

image