투케이2K

390. (kotlin/코틀린) 안드로이드 Application 애플리케이션 클래스 정의 방법 본문

Kotlin

390. (kotlin/코틀린) 안드로이드 Application 애플리케이션 클래스 정의 방법

투케이2K 2023. 8. 23. 20:36
반응형

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Kotlin

 

[소스 코드]

 

[1] : AndroidManifest.xml 파일에서 Application 클래스 지정 수행

    <application
        android:name=".A_Application"

        android:allowBackup="false"

        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

    </application>





[2] : Application 클래스 생성 수행

package com.example.kotlinproject

import android.app.Application
import android.content.Context
import android.content.Intent

class A_Application : Application() {


    /**
     * // --------------------------------------------------------------------------------------
     * TODO [클래스 설명]
     * // --------------------------------------------------------------------------------------
     * 1. 애플리케이션 프로세스 관리 클래스
     * // --------------------------------------------------------------------------------------
     * 2. AndroidManifest.xml 파일에서 application 부분에 등록 필요
     *
     *    <application
     *       android:name="com.example.testapp.S_Application"
     *    </application>
     * // --------------------------------------------------------------------------------------
     * */





    /**
     * // --------------------------------------------------------------------------------------
     * // TODO [빠른 로직 찾기 : 주석 로직 찾기]
     * // --------------------------------------------------------------------------------------
     * // [SEARCH FAST] : []
     * // --------------------------------------------------------------------------------------
     *
     * // --------------------------------------------------------------------------------------
     *
     * // --------------------------------------------------------------------------------------
     *
     * // --------------------------------------------------------------------------------------
     *
     * // --------------------------------------------------------------------------------------
     * */





    // --------------------------------------------------------------------------------------
    // TODO [companion object >> static 선언 실시]
    // --------------------------------------------------------------------------------------
    companion object {


        // ----------------------------------------------------------------------------------
        // TODO [전역 변수]
        // ----------------------------------------------------------------------------------
        private val ACTIVITY_NAME = "S_Application"


    } // [companion 종료]





    // -----------------------------------------------------------------------------------------
    // TODO [프로세스 생명주기 관리]
    // -----------------------------------------------------------------------------------------
    override fun attachBaseContext(base: Context) {
        try {
            super.attachBaseContext(base)
            // ===============================================================
            S_Log._D_(S_FinalMsg.LOG_Application_attachBaseContext, null)
            // ===============================================================
        }
        catch (e: Exception) {
            S_Log._printStackTrace_(null, S_FinalMsg.LOG_BUG_STATE, null, e)
        }
    }





    // -----------------------------------------------------------------------------------------
    // TODO [프로세스 생명주기 관리]
    // -----------------------------------------------------------------------------------------
    override fun onCreate() {
        try {
            super.onCreate()
            // ===============================================================
            S_Log._W_(S_FinalMsg.LOG_Application_onCreate, null)
            // ===============================================================
        }
        catch (e: Exception) {
            S_Log._printStackTrace_(null, S_FinalMsg.LOG_BUG_STATE, null, e)
        }
    }


} // TODO [클래스 종료]

 

반응형
Comments