본문 바로가기
TIL/Android

코틀린(Kotlin)/ Hello world, 클릭 이벤트, 사람 수 체크하기

by 왁왁s 2022. 8. 26.

Hello world

  • import에 적힌 부분은 라이브러리 또는 네임 스페이스
  • savedInstanceState: Bundle? 이 main activity에서 사용되기 때문에 Bundle을 import 한다.
  • class MainActivity : AppCompatActivity()는 클래스이며 코드 컨테이너 역할을 한다. 콜론은 AppCompat로 부터 상속 받는다는 의미
  • override fun onCreate() ’fun’은 기능을 의미하며 onCreate()에 오버라이딩된 기능을 의미한다. ‘compat’ 액티비티 안에 ‘onCreate’ 메서드가 있고, 그것을 코드로 오버라이딩 하는 것을 뜻한다.
  • setContentView(R.layout.activity_main) 뷰의 컨텐츠를 설정, 레이아웃 액티비티 main의 내용을 설정, R.layout.activity_main 에서 찾을 수 있다.
  • textSize : SP(Scale Independent Pixel) 단위는 어떤 장치에서 사용하든지 같은 크기로 표현, PX(픽셀)로 설정하면 스크린 크기에 따라 크기가 달라진다. 장치마다 dpi가 달라 px로 했을 때는 크기가 달라지지만 SP는 스크린의 픽셀 양에 영향을 받지 않고 스크린에 따라 비슷하게 보이도록 해준다.
  • 컨트롤 키 + 클릭 컨트롤 키 누르고 activity_main을 클릭하면 편집 창으로 바로 이동한다.
  • item ID 사용자 인터페이스 내에 모든 아이템에는 ID가 있으며, ID를 통해 실제 코드에 있는 UI 요소에 접근할 수 있다.
    • setOnclickListener을 사용해, 특정 행동이 일어나면 발생하는 이벤트를 설정할 수 있다.
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        val btnClick = findViewById<Button>(R.id.mybutton)
        val textViewClick = findViewById<TextView>(R.id.mytextView)

        btnClick.setOnClickListener {
            btnClick.text = "클릭하셨습니다."

            textViewClick.text = "잘했어요!"
        }//버튼이 눌릴 때까지 대기, 눌리면 대괄호 안에 코드가 실행
    }
}

 

버튼 클릭했을 때 버튼 및 텍스트 변경

 

 

버튼 클릭했을 때 카운트하기 - (활용) 사람 수 체크

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

        val btnClick = findViewById<Button>(R.id.mybutton)
        val textViewClick = findViewById<TextView>(R.id.mytextView)
        var peopleNumber = 0

        btnClick.setOnClickListener {
            peopleNumber += 1

            textViewClick.text = peopleNumber.toString()
            Toast.makeText(this, "카운트하였습니다", Toast.LENGTH_LONG).show()
        }
    }
}

해당 메서드 추가 시, 버튼 클릭 때마다 아래에 알림창이 뜬다.

Toast.makeText(this, "카운트하였습니다", Toast.LENGTH_LONG).show()

댓글