안드로이드 어플 점수 나오게 하기. 앱 만들기#18

반응형

어제 참가자 설정까지 완료하였습니다. 이제 거의 완성이 되어가네요 이쁜 스톱워치 어플이 말이죠.

그럼 오늘은 무엇을 해볼까요?

 

참가자 1,2,3까지 만들었고, 각자 시간을 돌리며, 마지막에는 다시 최초로 돌아가는 것까지 했습니다.

그럼 이제 리스트를 넣어보겠습니다.

리스트를 넣어서, 눈에 보이게 하면 누가 얼마만의 기록을 가졌는지, 비교를 해서 내기를 하기 좋으니까요.

 

 

안드로이드 어플 점수 나오게 하기(앱만들기#18)

상단 부분을 봐볼까요?

class MainActivity() : AppCompatActivity() {
    var p_num = 3
    var a = 1

이것으로 시작합니다.

여기서 포인트 리스트를 넣기 위해서 포인트 리스를 넣어봅시다.

val point_list = mutableListOf을 넣습니다.

val point_list = mutableListOf<Float>()

이것을 넣어줍니다.

이 것을 보면, 포인트 리스트는 비어있어야 하기에 이런 식으로 만들어주는 것이죠.

 

초기에는 포인트 리스트가 이렇게 빈상태로 만들어줍니다.


이후에 3번째 참가자까지 한 후에, 점수를 넣어야 합니다.

} else if (stage == 3) {
    timerTask?.cancel()
    val point = (abs(sec-num).toFloat())/100

이 부분 아래에 아래를 추가해줍니다.

point_list.add(point)

이것을 추가해줍니다.

 

마지막에는

} else {
    println(point_list)

이런 식으로 완성을 합니다.

 

자 그럼 결과를 볼까요?

class MainActivity() : AppCompatActivity() {
    var p_num = 3
    var a = 1
    val point_list = mutableListOf<Float>()

    fun main() {
        setContentView(R.layout.activity_main)

        var timerTask: Timer? = null
        var stage = 1
        var sec: Int = 0

        val abc: TextView = findViewById(R.id.text_random)
        val abc_1: TextView = findViewById(R.id.text_time)
        val abc_2: TextView = findViewById(R.id.text_point)
        val abc_3: TextView = findViewById(R.id.text_people)
        val btn: Button = findViewById(R.id.btn_main)

        val random = Random()
        val num = random.nextInt(1001)

        abc.text = ((num.toFloat()) / 100).toString()
        btn.text = "시작"
        abc_3.text = "참가자 $a"

        btn.setOnClickListener {
            stage++
            if (stage == 2) {
                timerTask = kotlin.concurrent.timer(period = 10) {
                    sec++
                    runOnUiThread {
                        abc_1.text = (sec.toFloat() / 100).toString()
                    }
                }
                btn.text = "정지"

            } else if (stage == 3) {
                timerTask?.cancel()
                val point = (abs(sec-num).toFloat())/100
                point_list.add(point)

                abc_2.text = point.toString()
                btn.text = "다음"
                stage = 0

            } else if (stage == 1) {
                if (a < p_num) {
                    a++
                    main()
                } else {
                    println(point_list)
                }
            }
        }
    }

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        main()

     }}

 

이런 식으로 지금까지 완성을 하였습니다.

이제는 초기화면과 마지막 화면 어플을 얼굴을 마무리해볼 때입니다.

이제는 코딩을 끝냈으니, 그것을 확인하러 가보겠습니다.

반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유