π‘ μλλ‘μ΄λ 4λ μ»΄ν¬λνΈ μ€ νλμΈ μ‘ν°λΉν°μ λνμ¬ μμΈνκ² νμ΅νμμ΅λλ€ !
Activity?
- μ‘ν°λΉν°λ μλλ‘μ΄λ μ ν리μΌμ΄μ μμ μ¬μ©μ μΈν°νμ΄μ€λ₯Ό λ΄λΉνλ κ΅¬μ± μμμ λλ€.
- μ ν리μΌμ΄μ μ νλμ νλ©΄μ λνλ΄λ©°, μ¬μ©μκ° μνΈμμ©ν μ μλ UIλ₯Ό μ 곡ν©λλ€.
- μΌλ°μ μΌλ‘λ νλ©΄μ μ±μ°λ UI μ°½μ΄μ§λ§, νμμ λ°λΌμ λ€λ₯Έ μ°½ μμ μκ² λμΈ μ μμ΅λλ€.
μ‘ν°λΉν°μ νΉμ§
- UI νλ©΄
- XML λ μ΄μμ νμΌμ ν΅ν΄ UI μμλ€μ μ μνκ³ , μ΄ μμλ€μ μ½λμμ μ μ΄ν©λλ€.
- μ ν리μΌμ΄μ
μ μ§μ
μ (λ°μ³ μ‘ν°λΉν°)
- μ¬μ©μκ° μ²« λ²μ§Έλ‘ μ νλ μ‘ν°λΉν°λ₯Ό ν΅ν΄ μ ν리μΌμ΄μ κ³Ό μνΈμμ©μ μ§ννλ©°, μ΄λ₯Ό λ°μ³ μ‘ν°λΉν°λΌκ³ ν©λλ€.
- AndroidManifest.xml νμΌμμ intent-filterμ MAINκ³Ό LAUNCHER μμ±μΌλ‘ μ§μ ν μ μμ΅λλ€.
μ‘ν°λΉν°μ ꡬμ±
// MainActivity.kt
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}
- μ‘ν°λΉν°λ μΌλ°μ μΌλ‘ Kotlin(java) ν΄λμ€ νμΌκ³Ό λ μ΄μμ XML νμΌλ‘ ꡬμ±λμ΄ μμ΅λλ€.
- μΌλ°μ μΌλ‘ μ‘ν°λΉν°λ₯Ό μμνλ λ‘μ§μ ν΄λμ€ νμΌμ μ μν©λλ€.
- μ΄λ₯Ό ν΅ν΄μ λ μμ΄μ μ½λμ λμ λ‘μ§ μ½λλ₯Ό λ°λ‘ μ 리νμ¬ κ΄μ¬μ¬λ₯Ό λΆλ¦¬νκ³ , μ μ°νκ² μ± UIλ₯Ό λΉλν μ μμ΅λλ€.
λ€λ₯Έ νΉμ§μ?
λ€λ₯Έ μ‘ν°λΉν°μ μνΈμμ©
- νλμ μ±μ μ¬λ¬ κ°μ μ‘ν°λΉν°λ₯Ό κ°μ§ μ μμΌλ©°, μλ‘ κ°μ λ°μ΄ν°λ₯Ό μ£Όκ³ λ°μ μ μμ΅λλ€.
- μ¬μ©μκ° λͺ©λ‘μμ νλͺ©μ μ ννλ©΄ λ€λ₯Έ μ‘ν°λΉν°κ° μμλμ΄ μΈλΆ μ 보λ₯Ό 보μ¬μ€ μ μμΌλ©°, μ΄λ₯Ό μν΄ IntentλΌλ κ°μ²΄λ₯Ό νμ©ν μ μμ΅λλ€.
λ©ν°νμ€νΉ λ° λ΄λΉκ²μ΄μ μ§μ
- μλλ‘μ΄λ μμ€ν μ μ¬λ¬ μ‘ν°λΉν°λ₯Ό λ°±κ·ΈλΌμ΄λμμ κ΄λ¦¬νλ©°, μ¬μ©μκ° μλ€λ‘ μ΄λν μ μλλ‘ λ΄λΉκ²μ΄μ μ€νμ μ 곡ν©λλ€.
- μ¬μ©μκ° λ€λ‘ λ²νΌμ λλ μ λ μ΄μ μ‘ν°λΉν°κ° λ€μ νμ±νλ©λλ€.
μ‘ν°λΉν° μλͺ μ£ΌκΈ°
- μλλ‘μ΄λμμλ μ‘ν°λΉν°μ μν λ³νμ λ°λΌ μνλ₯Ό νΈλνΉν μ μλ ν¨μλ₯Ό μ 곡ν©λλ€.
- μ‘ν°λΉν° μλͺ μ£ΌκΈ°λ onCreate() → onStart() → onResume() → onPause() → onStop() → onDestory() μμΌλ‘ μ€νλ©λλ€.
- μν©μ λ°λΌμ onRestart() λ©μλκ° μ€νλ μ μκ³ , onStop(), onDestory()λ μ€νλμ§ μμ μλ μμ΅λλ€.
onCreate()
- μ‘ν°λΉν°κ° μμ±λ λ νΈμΆλλ©° μ¬μ©μ μΈν°νμ΄μ€ μ΄κΈ°νμ μ¬μ©λ©λλ€.
onRestart()
- μ‘ν°λΉν°κ° λ©μ·λ€κ° λ€μ μμλκΈ° λ°λ‘ μ μ νΈμΆλ©λλ€.
onStart()
- μ‘ν°λΉν°κ° μ¬μ©μμκ² λ³΄μ¬μ§κΈ° λ°λ‘ μ§μ μ νΈμΆλ©λλ€.
onResume()
- μ‘ν°λΉν°κ° μ¬μ©μμ μνΈμμ©νκΈ° λ°λ‘ μ§μ μ νΈμΆλ©λλ€.
onPause()
- λ€λ₯Έ μ‘ν°λΉν°κ° 보μ¬μ§ λ νΈμΆλλ©°, λ°μ΄ν° μ μ₯κ³Ό μ€λ λ μ€μ§ λ±μ μ²λ¦¬λ₯Ό ν λ μ£Όλ‘ μ¬μ©ν©λλ€.
onStop()
- μ‘ν°λΉν°κ° λ μ΄μ μ¬μ©μμκ² λ³΄μ¬μ§μ§ μμ λ νΈμΆλ©λλ€.
- λ©λͺ¨λ¦¬κ° λΆμ‘±ν κ²½μ° onStop() λ©μλκ° νΈμΆλμ§ μκ³ μ’ λ£λ μ μμ΅λλ€.
onDestory()
- μ‘ν°λΉν°κ° μλ©Έλ λ νΈμΆλλ©°, μλμ κ°μ μν©μμλ νΈμΆλ©λλ€.
- finish() λ©μλ μ¬μ©
- μμ€ν μ΄ λ©λͺ¨λ¦¬ ν보λ₯Ό μν΄ μ‘ν°λΉν°λ₯Ό μ κ±°
μλͺ μ£ΌκΈ°κ° νμν μ΄μ ?
- μ¬μ©μκ° μ΄μ© μ€μΈ μ±μ λ°±κ·ΈλΌμ΄λλ‘ μ ννλ€κ° λ€μ μ¬κ°ν κ²½μ° μ±μ λ°μ΄ν°λ₯Ό μ΄κΈ°ν νλ μν©μ΄ λ°μν©λλ€.
- μμ κ°μ κ²½μ° μλͺ μ£ΌκΈ°μ λ°λΌ λ¬Έμ λ₯Ό λ체ν μ μμ΅λλ€.
- μμ€ν μμ μ 곡νλ λΌμ΄ν μ¬μ΄ν΄μ λ°λΌμ μ½κ² ꡬνμ΄ κ°λ₯ν΄μ§λλ€.
μ 리
- μ‘ν°λΉν°λ μλλ‘μ΄λ μ ν리μΌμ΄μ μ μ€μν κ΅¬μ± μμλ‘, νλ©΄κ³Ό UIλ₯Ό κ΄λ¦¬νκ³ μ¬μ©μμ μνΈμμ©ν©λλ€.
- μ‘ν°λΉν°λ κ°μμ μλͺ μ£ΌκΈ° λμ νΉμ μ΄λ²€νΈμ λ°μνμ¬ μ ν리μΌμ΄μ μ μνλ₯Ό μ μ§νκ³ κ΄λ¦¬νλ©°, μ΄λ₯Ό ν΅ν΄ μ¬μ©μκ° μ ν리μΌμ΄μ κ³Ό ν¨μ¨μ μΌλ‘ μνΈμμ©ν μ μλλ‘ λμμ€λλ€.
μ°Έκ³
https://velog.io/@tosspayments/Android-μ±μμ-κ²°μ -μ£Όλ¬Έμ-λ§λλ-λ°©λ²
https://lkitty0302.tistory.com/18