728x90
SMALL
안녕하세요 남갯입니다 오늘은
MVVM패턴속에 context를 인자로 넘겨주지 않기때문에
application 에서 context를 가져오는 방법에 대해 알려드리려고합니다
드로우어블 리소스나 스트링 리소스를 가져올때
자바의 경우 아래와 같이 작성하면 됩니다
public class Application extends android.app.Application {
private static Application instance;
public static Application getInstance(){
return instance;
}
@Override
public void onCreate() {
super.onCreate();
instance = this;
}
public Context applicaitonContext() {
return getApplicationContext();
}
}
코틀린의경우
class MyApplication : Application() {
lateinit var context: Context
init{
instance = this
}
companion object {
private var instance: MyApplication? = null
fun applicationContext() : Context {
return instance!!.applicationContext
}
}
컨텍스트를 컴페니언 오브젝트로 생성해서
MyApplication.applicationContext() 가져오면 됩니다.
728x90
LIST
'IT > kotlin' 카테고리의 다른 글
[Kotlin] 코틀린 흐름제어 (if-else, .., for, while, do-while when) (0) | 2018.12.19 |
---|---|
[Kotlin] 코틀린 자료/ 자료형의 확인 및 변환 (==, ===, is, as, 스마트 캐스트) (0) | 2018.12.18 |
코틀린 책 추천 커니의 코틀린 (0) | 2018.08.24 |
[Kotlin] 코틀린 상속 (0) | 2018.03.14 |
[Kotlin] 코틀린 변수 선언 및 접근 제한자 (0) | 2018.03.12 |