[TIL] #13 To Switch Activity

Yeon·2023년 8월 1일
0

내일배움캠프 - Kotlin

목록 보기
17/58
post-thumbnail

Activity

1. Mean

  • 앱의 하나의 화면을 담당하는 클래스!
    + 안드로이드 앱 개발에서 사용되는 클래스
    • 사용자 인터페이스와 상호작용하는 주요 컴포넌트
  • android.app 패키지에 속해 있으며, 개발자가 이를 상속하여 자신만의 액티비티를 만들어 사용할 수 있음

2. Major Role

1) 사용자 인터페이스 제공

  • 앱의 사용자 인터페이스를 구성하고 사용자에게 표시
  • 레이아웃 파일(XML)과 코드를 사용하여 버튼, 텍스트, 이미지 등 다양한 뷰 요소들을 배치하고 조작할 수 있음

2) 라이프사이클 관리

  • 라이프사이클 메서드를 통해 앱의 상태 변화를 감지하고 관리
  • ex. 액티비티가 생성될 때(onCreate()), 사용자와 상호작용 가능한 상태가 될 때(onResume()), 액티비티가 더 이상 사용자에게 표시되지 않을 때(onStop()) 등의 상태를 감지할 수 있음

3) Intent

  • 다른 액티비티와의 상호작용은 Intent를 통해 이루어짐
  • ex. 다른 액티비티를 시작하거나, 다른 액티비티로부터 결과를 받아오는 등의 작업에 Intent를 사용

4) setOnClickListener

  • 사용자가 버튼을 클릭하거나 화면을 터치하는 등의 입력 이벤트를 처리하여 앱의 동작을 제어

5) 상태 저장 및 복원

  • Activity는 기기의 구성 변경(ex. 화면 방향 전환) 등으로 인해 상태가 변경되었을 때 이전 상태를 저장하고 복원할 수 있는 기능을 제공

setOnClickListener

1. Mean

  • 사용자가 버튼 또는 뷰를 클릭했을 때 수행할 동작을 정의하는 메서드입니다. 사용자 입력에 응답하여 원하는 작업을 처리하는 데 사용됩니다.

2. Structure

button.setOnClickListener { do Semething() }

3. Example

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.Toast

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

        val button = findViewById<Button>(R.id.button)
        button.setOnClickListener {
            Toast.makeText(this, "버튼이 클릭되었습니다!", Toast.LENGTH_SHORT).show()
        }
    }
}

Intent

  • 안드로이드 앱 내에서 컴포넌트 간에 작업을 수행하기 위해 사용되는 메시지 객체
  • 주로 화면 간의 전환, 서비스 시작, 브로드캐스트 등 다양한 작업에 사용

1. Pupose

1) 액티비티 간의 전환

  • 한 액티비티에서 다른 액티비티로 전환하기 위해 사용
  • ex. 사용자가 버튼을 클릭하면 새로운 액티비티를 시작하는 데 Intent를 사용할 수 있음
    2) 서비스 시작
  • 백그라운드에서 실행되는 서비스를 시작하는 데 사용
  • 서비스는 앱이 활성화되지 않은 상태에서도 실행되는 기능을 제공함

2. Structure

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

      nextBtn.setOnClickListener {
         val nextIntent = Intent(this, SecondActivity::class.java)
         startActivity(nextIntent)  
      }
   }
}

3. Example

  • 버튼을 클릭했을 때 SecondActivity로 이동하기 위해 Intent를 사용

    import android.content.Intent
    import androidx.appcompat.app.AppCompatActivity
    import android.os.Bundle
    
    class FirstActivity {
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_main)
    
            val button = findViewById<Button>(R.id.button)
            button.setOnClickListener {
                val intent = Intent(this, SecondActivity::class.java)
                startActivity(intent)
            }
        }
    }



[참고 사이트]

'Start an activity using an animation', developers
'[Android][Kotlin] 액티비티 전환하기', yena

0개의 댓글