본문 바로가기

Android Studio/Pattern

(7)
[Android] Retrofit2 사용예시 - MVP패턴 + Github API + Glide Retrofit2 사용예시 - Github REST API + MVP 패턴 + Glide 사용 패키지 구조 View : 화면 표시 및 사용자 이벤트 Presenter에게 전달해서 처리를 위임 (Activity) Presenter : View - Model 사이 매개체 (View로부터 받은 이벤트를 처리하고 Model을 업데이트) Contract : View - Presenter간의 사용할 이벤트를 정의한 인터페이스 Model : 데이터, Presenter를 통해 View와 분리한 MVP패턴 구현 Network : Retrofit REST 메서드 정의 인터페이스 + Client 구현 Adapters : RESTful API로 받아온 사용자 목록을 보여줄 RecyclerView를 관리하는 Adatper [G..
[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..