동식이 블로그

[Kotlin] 예외처리(Exception)

kotlin, android 예외처리 하기

[Kotlin] 예외처리(Exception) 팀장님이 강조해주시던 예외처리에 대해서 공부한 내용 🙂 예외 (Exception) 컴파일 시점에 발생하는 일반예외 와 프로그램 실행시에 발생하는 실행예외로 크게 나눌수 있다. 위의 2가지 종류의 예외를 처리하기 위해서 자바에서 java.lang.Exception이라는 최상위 부모 클래스를 ...

[Android] Fragment 생성

Fragmemnt 생성

[Android] Fragment 생성 Crashlytics에 올라온 버그 하나.. 기존 사용했던 코드 1 2 3 4 // fragment companion object { fun newInstance(param: String) = MainFragment(param) } 문제는 여기서부터 시작… 아래처럼 수정되어야 했다 ...

[Android] Fragment Lifecycle

Fragment Lifecycle

[Android] Fragment Lifecycle Activity와는 다른 Fragment의 생명주기 중 어디가 어떻게 다른지 알아보기 Fragment Lifecycle 안드로이드 디펠로퍼 사이트에 나와있는 프래그먼트의 생명주기이다 액티비티의 생명주기와는 다르게 프래그먼트의 생명주기에는 생성시에는 onViewCreated(), on...

[Kotlin] Lazy

kotlin by lazy

[Kotlin] Lazy Lazy 동작방식이 궁금하다 알고쓰자 lazy….. lazy 란? 초기화 지연 호출 시점에 by lazy 정의에 의해서 초기화를 진행한다 val(immutable) 에서만 사용이 가능하다 초기화를 위해서는 함수명이라도 적어야 한다 lazy를 사용하는 경우 기본 Synchronized 로 동작한다...

[Android] Firebase Remote Config

Firebase Remote Config

[Android] Firebase Remote Config 인앱 업데이트가 생각했던것 처럼 동작하지 않고, deprecated 대응하는데 아직 업데이트가 안되어있어서 실제 사용하는데 문제가 있다고 판단되어, 이를 대체 할만한것을 찾아봤다..! Firebase Remote Config 홈페이지 설정은 다른 블로그에 너무 잘 나와있어서 생략 …...

[Kotlin] Sealed Class

Kotlin Sealed class

[Kotlin] Sealed Class 저번글에 이어서 Sealed Class에 대해서 공부 📖 이전글 : [Kotlin] 대수적 타입 Sealed Class란? Superr class를 상속받는 child 클래스의 종류를 제한하는 특성을 갖고 있는 클래스이다. 이렇게 하위 클래스를 제한하여 얻을 수 있는 장점 중 하나는 w...

[Kotlin] 대수적 타입

Kotlin Algebraic data type

[Kotlin] 대수적 타입 (algebraic data type) SealedClass를 공부하기 전 사전지식 공부 🙃 대수적 타입이란 ? 다른 자료형의 값을 가지는 자료형 부분으로 전체를 나타내는 타입을 대수적 타입이라고 한다 대수적 데이터 타입은 합타입과 곱타입으로 이루어진다 합타입 enum class / sealed...

[Kotlin] 제네릭 #3 - 타입 파라미터 소거

Kotlin Type erasure

[Kotlin] 제네릭 #3 - 타입 파라미터 소거 (Type erasure) [Kotlin] 제네릭 #1 - 타입 상한 [Kotlin] 제네릭 #2 - 타입 파라미터 소거 에 이은 제네릭 공부 하기3편 이전글인 변성에 대해서 알아볼 때 제네릭은 타입소거 방식으로 동작한다고 작성했었는데, 정확이 더 알고싶어서 자료를 찾아보았다 ...

[Android] Retrofit2 - Cache

안드로이드 - Retrofit Cache

Retrofit2 - Cache 공식문서 Class Cahe 캐시를 사용하는 이유 Caches HTTP and HTTPS responses to the filesystem so they may be reused, saving time and bandwidth. http 및 https response를 파일 시스템에 캐시하여 재사용할...

[Kotlin] 제네릭 #2 - 변성

Kotlin 변성, 공변

제네릭 #2 - 변성(variance) [Kotlin] 제네릭 - 타입 상한 에 이어서 제네릭 2번째 변성에 대해 알아보자 변성이란 ? List과 List 와 같이 기저 타입이 같고 타입 인자가 다른 여러 타입이 서로 어떤 관계가 있는지 설명하고 있는 개념 변성을 이해하면 타입 안정성을 보장하는 API를 만들 수 있다 제네릭은...