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

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

[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 솔루션을 만들어서 사용했다. 널리 ..

의존성 주입이란?
개발/안드로이드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..

[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..

Fragment로만 앱을 만들면 좋은 점?
개발/안드로이드2024. 7. 18. 16:57Fragment로만 앱을 만들면 좋은 점?

Fragment란?Activity가 가진 문제를 해결하기 위해 등장했다.1. Activity 안의 코드가 길어질 경우, 유지보수가 어려워짐.2. 안드로이드 디바이스의 화면 크기 다양성에 따른 UI 디자인의 어려움.   Fragment의 주요 특징 앱의 전체 UI의 어딘가에서 반복적으로 사용 가능한 부분에 사용 가능.자체 생명 주기를 가지고 있고, 자체 입력 이벤트를 받아 처리할 수 있음.독립적인 존재가 불가능하며 반드시 Activity나 다른 Fragment에 호스팅되어야 함.Android Jetpack 라이브러리 중 Navigation, BottomNavigationView, ViewPager2 등 fragment와 호환되도록 설계되어 있어 자주 사용됨.Activity와 Fragment의 목적성이 다름..

Activity 생명 주기
개발/안드로이드2024. 7. 18. 16:40Activity 생명 주기

기본적으로 액티비티 생명주기는 다음과 같다.onCreate() -> onStart() -> onResume() -> onPause() -> onStop() -> onDestory() 메소드설명다음 메소드onCreate()액티비티 생성시 호출, 사용자 인터페이스 초기화에 사용onStart()onRestart()액티비티가 멈춘후 다시 시작되기 직전에 호출onStart()onStart()액티비티가 사용자에게 보여지기 직전에 호출onResume() / onStop()onResume()액티비티가 사용자와 상호작용하기 직전에 호출onPause()onPause()다른 액티비티가 보여질때 호출데이터 저장, 스레드 중지 등의 처리를 하기 좋은 메소드onResume() / onStop()onStop()액티비티가 더이상 사..

안드로이드 스튜디오의 Thread
개발/안드로이드2024. 7. 16. 18:05안드로이드 스튜디오의 Thread

안드로이드 스튜디오에서는 Thread는 크게 2가지로 구분된다. Main Thread(UI Thread)와 Worker Thread Main Thread는 액티비티와 컴포넌트들의 사용을 담당하고 연동하는 역할로, UI 컴포넌트들과 밀접한 연관이 있는 Thread이기에 UI Thread라고도 불린다. System Call Back Method와 Android Life Cycle 관련된 Method들은 전부 Main Thread에거 관리되어야 한다.   위에 해당하는 글들에서 계속 다루듯, 복잡한 연산, 지연되는 작업들의 경우 Main Thread에서 이뤄질 경우 ANR(Application Not Responding, UI 관련 작업이 일정기간 이상 반응되지 못하면 발생)이 발생하여 애플리케이션이 강제로 ..

개발/안드로이드2024. 7. 16. 17:56Thread와 Process의 차이점

Thread와 Process의 차이모두 프로그램의 실행과 관련된 단어로Thread는 어떠한 프로그램 내, 특히 프로세스 내에서 실행되는 흐름의 단위를 말한다.Process는 컴퓨터에서 연속적으로 실행되고 있는 프로그램을 의미한다. 이 둘의 차이로는 Process는 실행의 단위, Thread는 Process 내에서 실행되는 흐름의 단위로 볼 수 있다.Process는 독립적으로 실행되지만 Thread는 Process 내의 Thread 끼리는 Heap, Data 등을 공유한다.  멀티 프로세스와 멀티 스레드의 차이멀티 프로세싱은 하나의 응용 프로그램을 여러 개의 프로세스로 구성하여 각 프로세스가 하나의 작업을 처리하도록 하는 것이다. 여러 개의 자식 프로세스 중 하나에 문제가 발생하면 그 자식 프로세스만 죽고..

안드로이드 백그라운드 작업시
개발/안드로이드2024. 7. 1. 17:50안드로이드 백그라운드 작업시

안드로이드에서 백그라운드 작업이란?안드로이드에서 백그라운드 작업이란, 애플리케이션이 화면에서 보이지 않는 상태에서도 동작하는 작업들을 말한다. 음악 재생, 파일 다운로드, 위치 정보 수집 등등. https://small-stepping.tistory.com/1034 안드로이드 4대 컴포넌트잡설:면접때 받은 질문인 안드로이드 4대 컴포넌트.아니 정확히는 안드로이드에 액티비티, 서비스, 브로드캐스트 리시버, 콘텐츠 프로바이더에 대해 설명해보라고 들었다.맨 처음에 이 대답을small-stepping.tistory.com https://small-stepping.tistory.com/1005 WorkManager로 백그라운드 작업WorkManager란?WorkManager는 상황별 실행과 보장된 실행을 조합하여..

View와 ViewGroup의 관계
개발/안드로이드2024. 7. 1. 16:43View와 ViewGroup의 관계

View와 ViewGroup란?안드로이드 화면을 구성하는 요소로 View와 ViewGroup이 존재한다.애플리케이션을 실행시켰을때 보이는 UI 요소들이 View라고 할 수 있고, 이 View를 담아 적절히 배치하기 위해 필요한 것이 ViewGroup이다. View: 화면에 보이는 구성요소ViewGroup: N개의 View를 포함할 수 있는 컨테이너ViewGroup에는 View, ViewGroup이 포함될 수 있고, ViewGroup은 View를 포함하므로 모든 UI라는 것은 View라고 할 수 있다.  View와 ViewGroup의 종류일반적으로 View는 위젯, ViewGroup을 레이아웃이라고 한다. View에서 자주 사용되는 것들엔 당연하게도 TextView, EditText, Button, Ima..

image