Android

    RxBus - Rxjava로 전역 callback으로 구현하기

    앱을 개발하다 보면 콜백함수를 활용해서 구현할 일이 많다. 예를들어 사용자가 설정화면에서 로그인을 하는 과정을 생각해보자. 처음에는 프로필사진도 비어있을테고 유저 이름도 '게스트'로 되어있을 것이다. 로그인을 완료했으면 이러한 UI들을 사용자 정보에 맞게 변경해주어야 한다. Activity간에 Intent도 넘기며 다양하게 구현할수 있지만 클래스간 의존성이 강하게 생긴다. 어느 클래스간 원할때 콜백을 쉽게 하는 방법을 알아보자. 구현 app.gradle 내에 다음과 같이 rxjava 라이브러리를 추가해준다. dependencies { // reactiveX Programming implementation 'io.reactivex.rxjava2:rxjava:2.2.13' } 이후에 다음과 같이 객체를 생성..

    [Android] Firebase Remote Config 사용하기

    Firebase 내에 Remote Config라는 기능이 존재합니다. 이를 활용하여 업데이트될 필요가 있는 정적 데이터에 대해 서버 없이 저장할 수 있습니다. 초기화 앱내에 remote_config_defaults.xml을 만들어줍니다. 파일 존재 이유는 아래서 다시 설명하겠습니다. 경로는 res > xml에 생성합니다. Application 클래스 onCreate() 함수 부분에 다음과 같이 초기화를 해줍니다. class MyAppApplication : android.app.Application() { override fun onCreate() { super.onCreate() Firebase.remoteConfig.run { setDefaultsAsync(R.xml.remote_config_defa..

    Activity / Fragment ViewBinding Boilerplate Class

    현업에서 다양한 개발자와 명세를 맞추어 개발하는 것은 매우 중요하다. 파편화된 코드 스타일은 곧 가독성을 해치고, 버그가 발생하거나 기능을 추가할 때 자칫하면 개발 효율성을 크게 저하시킬 수 있다. MVVM 패턴을 사용할때 다음은 ViewBinding을 강제하는 Activity, Fragment BoilerPlate Class이다. Generic을 활용하기 때문에 모든 하위 클래스는 이를 상속받아 보다 쉽게 ViewBinding을 강제한 코드를 빠르게 구현할 수 있다. 뷰 바인딩 https://developer.android.com/topic/libraries/view-binding?hl=ko 뷰 결합 | Android 개발자 | Android Developers 뷰 결합 뷰 결합 기능을 사용하면 뷰와 ..