오늘은 Retrofit을 통해 API와 통신하는 기능을 구현해봤습니다. 요즘 CometChat이라는 API를 이용해서 간단한 채팅앱을 구현하는 중인데 아이디로 친구추가하는 기능을 REST API와 통신하는 방식으로 구현하게 되서 이번 포스트를 작성하게 되었습니다. 우선 build.gradle(Module:app) 파일에 다음 dependencies를 추가...
오늘은 애니메이션을 사용하여 현재 액티비티에 있는 이미지를 공유하면서 다음 액티비티를 실행하는 법을 정리 해보겠습니다. 우선 이 기능을 사용하려면 Android 5.0(API 21) 이상이어야 합니다. 이전 버전과 호완성을 유지하려면 아래처럼 버전을 확인하는 코드를 작성하셔야 합니다. 그 다음 트랜지션을 설정해야 하는데 해당 액티비티가 사용하는 them...
LiveData란? Observer에게 데이터 변경에 대한 알림을 보내는 클래스. 일반 클래스들과 다르게 LiveData는 애플리케이션의 life cycle을 인식한다. LiveData의 이점 UI와 데이터 상태의 일치 보장 LiveData는 관찰자 패턴을 따릅니다.
받아올 JSON 데이터 받아온 데이터를 저장할 dto 객체
AppDatabase Singleton 패턴 TypeConverter Dao LiveData
안드로이드에서 Koin과 더불어 DI (Dependency Injection)시에 가장 많이 사용되는 툴이다. Koin은 Kotlin에서만 사용할 수 있는 반면에 Dagger2는 Java와 Kotlin 둘 다에서 사용될 수 있다는 장점이 있다. 대신 Koin에 비해 l
저번 시리즈에서 만든 Tire 객체의 컨스트럭터에 airPressure 이라는 int 변수가 들어간다고 가정해보자. 이때 이 값을 런타임시에 사용자에게 받아서 사용하고 싶다면 어떻게 해야할까.Tires 객체를 제공하는 WheelsModule에 airPressure에 들
@Singleton 어노테이션은 Dagger2가 해당 객체를 제공할때 단 하나의 인스턴스만 만들수 있도록 한다. 사용하는 방법은 간단하다. 싱글턴 패턴을 적용하고자 하는 객체 클래스에 @Singleton 어노테이션을 붙히거나 @Provides 혹은 @Binds 메소드에
Dagger2에서 스코핑은 객체의 인스탄스를 보존하고 특정 구간의 싱글턴 패턴을 적용할때 사용된다. 예를 들어, A 컴포넌트가 Activity의 라이프타임 동안 사용할 수 있는 @PerActivity 스코프를 가지고 있고 해당 컴포넌트에서 같은 스코프를 가진 B 객체를
안드로이드의 오피셜 가이드라인은 AAC 의 하나인 ViewModel의 사용을 권장하고 Dagger 2는 안드로이드에서 가장 많이 쓰이는 DI 툴이다. 따라서, 이 둘이 굉장히 잘 호완되길 바라지만, 사실은 그렇지 않다. 이번 글에서는 Dagger 2를 사용하여 View