13. 【Android/Kotlin】Handler(화면 천이를 지연)

소개



DreamHanks의 MOON입니다.

지난번에는 CircleImageView라는 외부 라이브러리를 사용했습니다.
12. 【Android/Kotlin】둥근 이미지(CircleImageView)

이번에는 Handler 에 대해 설명하고 Handler 에서 화면 천이를 지연해 봅니다.

Handler란?



핸들러는 간단하게 서브 thread로부터 메인 thread에 메세지를 건네주는 클래스입니다.

안드로이드에서는 UI 작업을 서브 스레드로 만드는 것이 금지됩니다.

그래서 서브스레드에 UI 작업을 하고 싶은 경우는 Handler 를 사용합니다.

화면 전환 지연



・로딩 화면의 Activity를 작성

LoadingActivity.kt
package com.example.practiceapplication

import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.os.Handler

class LoadingActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_loading)

        //ハンドラのメソッド呼び出す
        loadingDelay()
    }

    //画面の遷移を遅延するためのメソッド
    fun loadingDelay(){
        //ハンドラを生成し、遅延時間を2秒に設定
        Handler().postDelayed({
            //2秒以降に画面を遷移するためのIntent設定
            val nextIntent = Intent(this, MainActivity::class.java)
            startActivity(nextIntent)
        }, 2000)
    }
}


· 로딩 화면 레이아웃의 xml 만들기

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#2a5a4c"
    android:gravity="center">

    <TextView
        android:id="@+id/title"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="DreamHanks"
        android:textColor="#FFFFFF"
        android:textSize="50sp" />

</LinearLayout>

· 화면 전환 Activity, xml 작성
아래 링크에서 확인하십시오.
7. 【Android/Kotlin】 밸리데이션 체크

앱 시작



· 앱을 실행할 때 초기 로딩 화면


・2초 이후는 천이된 화면


끝에



이번에는 Handler에 대해 설명하고 Handler에서 화면 전환을 지연했습니다.

이후 기사는 아래 링크(DreamHanks 블로그)에서 확인할 수 있습니다.
Android/Kotlin 앱 개발

좋은 웹페이지 즐겨찾기