목록분류 전체보기 (32)
easy-1
- 종속 항목 삽입(DI : Dependency Injection)은 프로그래밍에 널리 사용되는 기법이다. - DI의 원칙을 따르면 훌륭한 앱 아키텍처를 위한 토대를 마련할 수 있다. - 이점 : 코드 재사용 가능, 리팩터링 편의성, 테스트 편의성 1. 종속 항목 추가 - 프로젝트의 루트 build.gradle 파일에 플러그인 추가 buildscript { ... dependencies { ... classpath 'com.google.dagger:hilt-android-gradle-plugin:2.28-alpha' } } 2. Gradle 플러그인 적용 및 종속 항목 추가 ... apply plugin: 'kotlin-kapt' apply plugin: 'dagger.hilt.android.plugin..
ViewModel, LiveData, DataBinding 을 사용하여 이벤트를 처리하는 방법 1. Event Class 정의 - 하나의 이벤트에 대해 한번만 처리됨 open class Event(private val content: T) { var hasBeenHandled = false private set fun getContentIfNotHandled(): T? { return if (hasBeenHandled) { // 이벤트가 이미 처리 되었다면 null // null 을 반환하고 } else { // 그렇지 않으면 hasBeenHandled = true // 이벤트가 처리되었다고 표시한 후에 content // 값을 반환함 } } // 이벤트의 처리 여부에 상관 없이 값을 반환 fun pee..
개발을 하다보면 로그를 찍어 디버깅이나 정보를 확인하는 일이 많다. 하지만 이 로그를 그대로 남겨두면 배포된 앱을 사용자들이 로그를 확인이 가능하다. 이를 방지하기 위하여 디버그 모드에서는 로그를 확인할 수 있고, 릴리즈 모드에서는 로그를 확인할 수 없게 만들어준다. 1. Debug 모드 확인 함수 생성 class Dlog { /** * Log Level Error */ companion object { val TAG = "APP_NAME" fun e(message: String?) { if (BuildConfig.DEBUG) Log.e(TAG, buildLogMsg(message)!!) } /** * Log Level Warning */ fun w(message: String?) { if (BuildC..