본문 바로가기

전체 글

(83)
[Android][Kotlin] Dagger2 #1 - 기본 개념 Dagger2 #1 - 기본 개념 Dagger 관련 글 DI (Dependency Injection) - 의존성 주입 Dagger2 #1 - 기본 개념 (현재 글) Dagger2 #2 - Scope / Binds / MultiBinding Dagger2 #3 - @Named @Qualifier Dagger2 #4 - context 주입방법 @BindsInstance @Component.Builder @Component.Factory Dagger2 #5 - Android Dagger 사용방법 3가지 : HasAndroidInjector, DaggerApplication, DispatchingAndroidInjector Dagger2 #6 - Retrofit + DaggerApplication Factory..
[Design pattern] DI (Dependency Injection) - 의존성 주입 DI - Dependency Injection DI 와 IoC DI Dependency Injection(의존성 주입)의 약어 정의 " 프로그래밍에서는 구성요소간의 의존 관계가 소스코드 내부가 아닌 외부의 설정파일 등을 통해 정의되게 하는 디자인 패턴 중의 하나 " 의존성 주입 ? - 외부에서 의존 객체를 생성하여 넘겨주는 것을 의미 : A Class가 B Class를 의존할 때, B Object가 A를 new(생성자)로 직접 생성하지 않고 외부에서 생성한 객체를 B Object에게 넘겨주면 그것을 DI(의존성 주입)이라고 합니다 DI Framework : DI를 구현하기 위해서는 객체를 생성하고 넘겨주는 외부 역할 : DI Framework를 스프링에서는 컨테이너, Dagger에서는 Component와..
[Android/Kotlin] AAC #5 - Room AAC #5 - Room AAC 연관 글 AAC #1 - Android Architecture Components AAC #2 - LifeCycle / LifecycleOwner AAC #3 - LiveData AAC #4 - ViewModel AAC #5 - Room (현재 글) ORM ORM은 Object Relational Mapping의 약어로 DB와 객체지향 프로그래밍 언어간의 호환되지 않는 데이터를 변환하는 프로그래밍 기법을 의미합니다 즉, DB테이블과 매핑되는 객체(인스턴스)를 만들고 그 객체에서 DB를 관리하는 것을 말합니다 Room Room은 위에서 말한 ORM 기반의 라이브러리 SQLite 위에 추상화계층을 제공하여 SQLite에 객체를 매핑하는 역할을 하는 Library 즉, SQLi..
[Android/Kotlin] AAC #4 - ViewModel AAC - ViewModel AAC 연관 글 AAC #1 - Android Architecture Components AAC #2 - LifeCycle / LifecycleOwner AAC #3 - LiveData AAC #4 - ViewModel (현재 글) AAC #5 - Room INDEX ViewModel ? Gradle 설정 ViewModel 생성방법들 #01 파라미터가 없는 ViewModel - Lifecycle Extensions #02 파라미터가 없는 ViewModel - ViewModelProvider.NewInstanceFactory #03 파라미터가 없는 ViewModel - CustomFactory #04 파라미터가 있는 ViewModel - CustomFactory #05 파라미터..
[Android/Kotlin] AAC #3 - LiveData AAC - LiveData AAC 연관 글 AAC #1 - Android Architecture Components AAC #2 - LifeCycle / LifecycleOwner AAC #3 - LiveData (현재 글) AAC #4 - ViewModel AAC #5 - Room LiveData LiveData는 식별가능한 데이터 홀더클래스로 식별가능한 일반클래스와 달리 수명주기를 인식합니다 식별가능한 데이터 홀더클래스 : LiveData, MutableLiveData, MediatorLiveData 등 식별가능한 일반클래스 : ObservableField, ObservableBoolean, ObservableObject 등 식별가능한이란 의미는 데이터(값)이 변경되면 구독자(Observer)에게 변..
[Android/Kotlin] AAC #2 - LifeCycle / LifecycleOwner AAC - LifeCycle / LifecycleOwner AAC 연관 글 AAC #1 - Android Architecture Components AAC #2 - LifeCycle / LifecycleOwner (현재 글) AAC #3 - LiveData AAC #4 - ViewModel AAC #5 - Room LifeCycle Package androidx.lifecycle Package : lifecycle을 갖는 Activity/Fragment의 lifecycle에 따른 동작을 정의할 수 있는 class / interface 집합 LifeCycle androidx.lifecycle.Lifecycle 클래스는 Activity/Fragment Component의 lifecycle 상태를 가지며, 다..
[Android] AAC #1 - Android Architecture Components AAC - Android Architecture Components AAC 연관 글 AAC #1 - Android Architecture Components (현재 글) AAC #2 - LifeCycle / LifecycleOwner AAC #3 - LiveData AAC #4 - ViewModel AAC #5 - Room [ 코드랩 : Android Room with a View - Kotlin ] Android Room with a View - Kotlin Your Room database class must be abstract and extend RoomDatabase. Usually, you only need one instance of a Room database for the whole ap..
[Kotlin] Kotlin @annotation 정리 Kotlin 자주 사용하는 @annotation 정리 Annotations @JvmName : JAVA에서 호출되는 Kotlin의 함수, 변수, 파일명을 Renamed(변경) @JvmMultifileClass : 여러 파일, 클래스들이 같은 이름으로 Renamed 될 경우 선언해서 같은 이름으로 사용 @JvmStatic : static 변수의 Getter/Setter 함수를 자동으로 생성하라는 애노테이션, 즉 static Getter/Setter @JvmField : Getter/Setter를 자동으로 생성하지 말라는 애노테이션 @Throws : 해당 코틀린 함수가 예외를 던질 수 있다는 의미의 애노테이션 @JvmOverloads : 인자의 기본값(Default Value)이 없는 Java를 위해, 오버..