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 |