728x90
오늘은 코틀린 언어로 DefaultLifecycleObserver를 활용한 간단한 생명주기 인식 예시를 만들어 보겠습니다.
레이아웃 xml 파일 코드(activity_main.xml)
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="DefaultLifecycleObserver 예시"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
액티비티 코틀린 코드(MainActivity.kt)
class MainActivity : AppCompatActivity() {
private lateinit var lifecycleObserver: MyLifecycleObserver
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// DefaultLifecycleObserver 인스턴스 생성
lifecycleObserver = MyLifecycleObserver()
// 액티비티의 라이프사이클에 옵저버 추가
lifecycle.addObserver(lifecycleObserver)
}
}
DefaultLifecycleOvserver 구현체 자바 코드(MyLifecycleObserver.kt)
class MyLifecycleObserver : DefaultLifecycleObserver {
companion object {
private const val TAG = "MyLifecycleObserver"
}
override fun onCreate(owner: LifecycleOwner) {
Log.d(TAG, "onCreate: 액티비티 생성됨")
}
override fun onStart(owner: LifecycleOwner) {
Log.d(TAG, "onStart: 액티비티 시작됨")
}
override fun onResume(owner: LifecycleOwner) {
Log.d(TAG, "onResume: 액티비티 활성화됨")
}
override fun onPause(owner: LifecycleOwner) {
Log.d(TAG, "onPause: 액티비티 일시 중지됨")
}
override fun onStop(owner: LifecycleOwner) {
Log.d(TAG, "onStop: 액티비티 중지됨")
}
override fun onDestroy(owner: LifecycleOwner) {
Log.d(TAG, "onDestroy: 액티비티 소멸됨")
}
}
실행 결과
생명주기 변화를 인식하는 것을 확인할 수 있습니다.
'안드로이드 코틀린' 카테고리의 다른 글
[Kotlin][Android] Timber 활용 예시 만들기 (0) | 2025.06.21 |
---|---|
[Kotlin][Android] 배터리 상태 보기 (0) | 2025.03.28 |
[Kotlin][Android] 음악 재생 예시 만들기 (0) | 2025.03.22 |
[Kotlin][Android] 텍스트 뷰 글 내용 변경하기 (0) | 2025.03.15 |
[Kotlin][Android] 뷰 사이즈 변경하기 (0) | 2025.03.07 |