이전 글에서 본격적인 어플개발을 시작했다.
(참고: 링크텍스트)
저번글에서는 화면에 띄워줄 버튼과 텍스트를 만들었다면
이번에는 그 버튼을 누를때마다 랜덤으로 번호를 생성해서 보여주는 기능을 구현해보겠다.
기능구현을 위한 코드작성은 코틀린파일(MainActivity.kt)에 작성한다.
package com.example.lab3_dice
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}
파일을 수정하지 않았다면 위의 코드처럼 보일 것이다.
기능구현을 위한 코드는 클래스안 onCreate함수 내부에 구현하면 된다.(setContentView(R.layout.activity_main)다음줄에)
아래는 완성된 코드이다.
package com.example.lab3_dice
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.TextView
import java.util.Random
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val tv_num = findViewById<TextView>(R.id.tv_number)
val btn_dice = findViewById<Button>(R.id.btn_roll)
btn_dice.setOnClickListener{
val random= Random()
val num=random.nextInt(6)+1
tv_num.text=num.toString()
}
}
}
*findViewById<>() : xml파일에서 작성한 TextView와 Button에 id를 명시해두었다. 그 id를 찾아 view와 연결시키는 작업이다. <>안에는 View(TextTView, EditView, Button 등...)를 ()안에는 id명을 적는다.
*setOnClickListener : 영어말 그대로 위를 클릭하면 어떤 작업을 할 것인지 듣고있는다는 것. 우리는 버튼을 클릭하면 랜덤으로 번호를 뽑아서 TextView에 띄우는 작업을 해주어야 한다.
*Random() : java클래스의 Random메서드. Random메서드에는 여러 속성들이 있지만 nextInt()라는 속성을 사용해 난수를 생성해주었다. nextInt(6)라고 하면 0부터 5까지의 수를 뜻하기 때문에 +1을 해주어 1~6의 숫자로 만들었다.
*난수를 만든 후 다시 TextView의 tv_nunber 텍스트에 넣어줄때는 문자형으로 바꿔주어야 한다.
간단한 주사위어플 완성이다.