본문 바로가기
안드로이드/데이터 입출력

안드로이드 Application Class

by 김어찐 2022. 6. 21.
728x90

안드로이드 애플리케이션에 단 하나를 지정할 수 있는 객체이다.
이 객체는 같은 안드로이드 애플리케이션이라면 어디서든 주소 값을 가져올 수 있다.
이를 통해 안드로이드의 다양한 구성요소에서 공통적으로 사용하는 데이터를 관리할 수 있다.

 

Application Class는 Application을 상속받고 AndoridManifest.xml 에 등록하면 된다

 

package com.example.applicationclass

import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_main.*

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

        button.setOnClickListener {
            val app = application as AppClass
            app.method()
            app.value1 = 100
            app.value2 = "안녕하세요"
            val secondIntent = Intent(this,SecondActivity::class.java)
            startActivityForResult(secondIntent,0)
        }
    }

    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        super.onActivityResult(requestCode, resultCode, data)
        val app = application as AppClass
        textView.text = "value1 : ${app.value1}"
        textView.append("value2 : ${app.value2}")
    }
}

 

 

package com.example.applicationclass

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import kotlinx.android.synthetic.main.activity_second.*

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

        val app = application as AppClass
        textView2.text = "value1 : ${app.value1}, value2 : ${app.value2}"
        button2.setOnClickListener {
            app.value1= 200
            app.value2 = "반갑습니다"
            finish()
        }
    }
}

 

 

Application클래스

package com.example.applicationclass

import android.app.Application
import android.util.Log

class AppClass : Application() {
    var value1 = 0
    var value2 = ""
    fun method() {
        Log.d("test","method1을 호출")
    }
}

 

manifest 파일에 등록

728x90

'안드로이드 > 데이터 입출력' 카테고리의 다른 글

안드로이드 sqlite 1  (0) 2022.06.23
안드로이드 assets  (0) 2022.06.22
안드로이드 파일 입출력  (0) 2022.06.21
안드로이드 코드 View  (0) 2022.06.20
안드로이드 xml View  (0) 2022.06.20