코틀린으로 작성한 안드로이드 application 클래스 활용하기
오늘은 코틀린으로 안드로이드에서 application 클래스를 활용하여 각각의 엑티비티에서 공통되게 사용할 수 있게 설정해보고 사용해보려 합니다.
서론
어플리케이션안에서 공동으로 멤버 변수나 메소드를 사용할 수 있게 해주는 공유 클래스를 Application Class라고 불립니다.
클래스 구현
class App : Application() {
init {
INSTANCE = this
}
override fun onCreate() {
super.onCreate()
}
companion object {
lateinit var INSTANCE: App
}
}
생성자에서는 INSTANCE = this라고 하고, 클래스 타입의 정적 변수를 lateinit로 초기화를 나중에 해줍니다.
Manifest
<application
android:name=".App">
</application>
android:name을 구현한 클래스의 이름으로 등록합니다.
사용
App.INSTANCE.getString()
Context가 필요한 곳에 App.INSTANCE를 불러와서 사용할 수 있습니다.
toast(App.INSTANCE.user.userid)
앱이 실행되었을 때에 서로 다른 엑티비티에서 같은 객체를 가져다가 사용할 수 있습니다.
Written on July 19, 2018