Dagger2를 알아보자 – Binding

Dagger2를 알아보자 – 기본편 Dagger2를 알아보자 – Scope  Dagger2를 알아보자 – Injection의 종류 Dagger2를 알아보자 – Qualifier  Dagger2를 알아보자 – Binding (You’re here) Dagger2를 알아보자 – Multibinding Dagger2를 알아보자 – SubComponent Dagger2를 알아보자 – Android Dagger2를 알아보자 – Testing(준비중) Dagger2를 알아보자 – Dynamic Feature에 적용하기 @Binds Module내에서 abstract 메소드 앞에 붙여 더보기…

Toast is not showing on Android Pie

I recently came across this fact: Some devices that running on Android Pie overwrite previous one. Toast toast1 = Toast.makeText(getApplicationContext(), “a”, Toast.LENGTH_SHORT); toast1.show(); Toast toast2 = Toast.makeText(getApplicationContext(), “b”, Toast.LENGTH_SHORT); toast2.show(); I don’t think Pie processes Toast message sequentially. It just shows last toast’s message only. (checked on my API 28 emulator) with RxJava2 더보기…

글쓴이 Charlezz,

Dagger2를 알아보자 – Injection의 종류

Dagger2를 알아보자 – 기본편 Dagger2를 알아보자 – Scope  Dagger2를 알아보자 – Injection의 종류 (You’re here) Dagger2를 알아보자 – Qualifier  Dagger2를 알아보자 – Binding  Dagger2를 알아보자 – Multibinding Dagger2를 알아보자 – SubComponent Dagger2를 알아보자 – Android Dagger2를 알아보자 – Testing(준비중) Dagger2를 알아보자 – Dynamic Feature에 적용하기 인젝션의 종류(Direct vs Lazy vs Provider) 더보기…

Dagger2를 알아보자 – Qualifier

Dagger2를 알아보자 – 기본편 Dagger2를 알아보자 – Scope  Dagger2를 알아보자 – Injection의 종류 Dagger2를 알아보자 – Qualifier (You’re here) Dagger2를 알아보자 – Binding Dagger2를 알아보자 – Multibinding Dagger2를 알아보자 – SubComponent Dagger2를 알아보자 – Android Dagger2를 알아보자 – Testing(준비중) Dagger2를 알아보자 – Dynamic Feature에 적용하기 Qualifier 때때로 자료형(Type)만으로는 의존성을 식별하기에는 충분하지 더보기…

Dagger2를 알아보자 – Scope

Dagger2를 알아보자 – 기본편 Dagger2를 알아보자 – Scope (You’re here) Dagger2를 알아보자 – Injection의 종류 Dagger2를 알아보자 – Qualifier Dagger2를 알아보자 – Binding Dagger2를 알아보자 – Multibinding Dagger2를 알아보자 – SubComponent Dagger2를 알아보자 – Android Dagger2를 알아보자 – Testing(준비중) Dagger2를 알아보자 – Dynamic Feature에 적용하기 Dagger의 Scope @Singleton Scope 애노테이션을 통해 더보기…

Dagger2를 알아보자 – 기본편

Dagger2를 알아보자 – 기본편 (You’re here) Dagger2를 알아보자 – Scope  Dagger2를 알아보자 – Injection의 종류 Dagger2를 알아보자 – Qualifier Dagger2를 알아보자 – Binding Dagger2를 알아보자 – Multibinding Dagger2를 알아보자 – SubComponent Dagger2를 알아보자 – Android Dagger2를 알아보자 – Testing(준비중) Dagger2를 알아보자 – Dynamic Feature에 적용하기 Dagger2란 무엇일까요? Dagger는 자바와 Android를 위해 완전히 정적으로 더보기…

RecyclerView에 Selection 라이브러리를 사용하기

Selection RecyclerView를 구현하고 다중 선택 기능을 추가 하기 위해서는 Selection 라이브러리를 사용할 수 있습니다. 안드로이드 내의 사진들을 Grid형식으로 구성하고 Selection으로 다중 선택하는 예제를 만들어 보도록 하겠습니다 Selection 구현하기 의존성 추가하기 //androidx 를 쓰지 않는다면 implementation “com.android.support:recyclerview-selection:28.0.0” or //androidx를 쓴다면 androidx.recyclerview:recyclerview-selection:1.0.0 Key타입 결정하기 Selection라이브러리는 3가지 타입의 Key타입을 지원합니다. Parcelable String Long 더보기…

언어 변경과 AndroidViewModel 안티패턴

https://medium.com/androiddevelopers/locale-changes-and-the-androidviewmodel-antipattern-84eb677660d9을 번역한 글입니다. ViewModel은 화면회전이나 언어 변경에 의한 액티비티 재생성에서도 다시 생성되지 않고 이전 인스턴스가 그대로 남아 유지 되는 특징이 있습니다. 시스템 언어 변경을 하기전에 아래의 ViewModel코드를 보도록 하곘습니다. //이렇게 코드를 짜지 마세요 public class MyViewModel extends AndroidViewModel { public final MutableLiveData<String> statusLabel = new MutableLiveData<>(); public SampleViewModel(Application context) { 더보기…

[Android] Annotation Processor 만들기

Annotation이란 ? 애노테이션이란 무엇일까요? 사실 우리 모두가 이미 정의된 애노테이션을 쓰고 있습니다. 예를 들면, @Override 어노테이션을 사용하여 메소드를 재정의하고 싱글톤 패턴을 사용하기 위해 @Singleton을 사용하고 @NonNull, @StringRes, @IntRes 등과 같은 애노테이션을 사용합니다. 이러한 각가의 애노테이션에 대해서 설명하고자 하는건 아닙니다. 새로운 애노테이션을 만들고, 또 동작하는 원리에 대해서 알아보고자 합니다. 애노테이션은 자바 더보기…

프레그먼트간 통신하는 3가지 방법

프레그먼트 통신(Fragment Commnication) 안드로이드 공식 문서인 Communicate with other fragments에 프레그먼트간 통신하는 방법에 대해서잘 나와있지만, 저는 또 다른 방법들에대해서 설명하고자 합니다. AAC ViewModel 이용 ViewModel을 이용하면 Activity를 라이플싸이클 오너로 등록하여 공통된 뷰모델을 이용할 수 있습니다.  app레벨의  build.gradle에 다음과 같이 의존성을 추가합니다. //LiveData and ViewModel def lifecycle_version = “1.1.1” implementation “android.arch.lifecycle:extensions:$lifecycle_version” 더보기…