안드로이드 스튜디오 스톱워치 0.01초 단위까지 만들기

반응형

저번 시간에는 스톱워치를 만들어서, 버튼을 누르면 시간이 가고, 버튼을 다시 누르면 시간이 멈추는 것까지 어플로 만드는 것을 해보았습니다.

 

하지만 저희는 정수로 마무리를 하였죠?

이번에는 시간이 0.01초 단위까지 가는 것을 만들어보겠습니다.

안드로이드 스튜디오 스톱워치 0.01초 단위까지 만들기

 

뭔가 스탑워치라고 해서 1초씩 가면 뭔가, 허전하잖아요?

적어도 스탑워치라고 한다면 막 0.01초 단위까지는 다와야 할 것 같고 말이죠.

 

물론 더 0.001초도 가능합니다. 더 큰 숫자도 가능하죠.

다만 주로 이런형태를 만들다 보니까, 만들어보겠습니다.

 

그럼 어제 만들었던 시계를 가지고 와볼까요?

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

        var timerTask: Timer? = null
        var isRunning = false
        var sec : Int = 0
        val abc: TextView =  findViewById(R.id.text_1)
        val btn: Button =  findViewById(R.id.btn_1)


        btn.setOnClickListener {
            isRunning = !isRunning
            if (isRunning == true) {
                timerTask = kotlin.concurrent.timer(period = 1000,) {
                    sec++
                    runOnUiThread {
                        abc.text = sec.toString()
                    }
                }
            }  else {
                timerTask?.cancel()
            }}}}

어제 저희는 이것으로, 스톱워치를 만들었습니다. 

하지만 정수까지였죠. 이번에는 0.01초 단위까지 가보겠습니다.

timerTask = kotlin.concurrent.timer(period = 1000

Period를 보겠습니다. 저번에도 설명을 했지만 1000밀리 세컨드까지 되어있습니다. 

정수로 만들기 위함이죠.

그럼 소숫점 2번째 자리까지 하고 싶다 하면 0을 2개를 빼면 되겠죠?

timerTask = kotlin.concurrent.timer(period = 10)

이런 식으로 말이죠.

 

또한 텍스트부분 sec도 /100으로 나눠줘야 하죠.

abc.text = sec.toString()

이렇게 되어 있는 부분을 100분의 1로 나눠줘 봅시다.

abc.text = (sec/100).toString()

또한 Sec도 toFloat으로 변경해줘야 하죠.

abc.text = (sec.toFloat()/100).toString()

이런 식으로 변경을 해줍시다.

그러면 0.01초 단위까지. 소수점 2번째 자리까지 나오도록 변경을 해보았습니다.

그럼 위와 같은 형식으로 변경이 됩니다.

 

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

        var timerTask: Timer? = null
        var isRunning = false
        var sec : Int = 0
        val abc: TextView =  findViewById(R.id.text_1)
        val btn: Button =  findViewById(R.id.btn_1)


        btn.setOnClickListener {
            isRunning = !isRunning
            if (isRunning == true) {
                timerTask = kotlin.concurrent.timer(period = 10) {
                    sec++
                    runOnUiThread {
                        abc.text = (sec.toFloat()/100).toString()
                    }
                }
            }  else {
                timerTask?.cancel()
            }}}}

 

이런 식으로 소수점 2번째짜리까지 완성을 합니다. 그리고 어플을 돌려보면, 이런식으로 소수점 2번째 짜리까지 시간이 표시되고, 돌아가는 것을 볼 수 있죠. 

안드로이드 스튜디오 스톱워치 0.01초 단위까지 만들기 완성!

안드로이드 스튜디오 스톱워치 0.01초단위까지 만들기 외에 다른 것들도 만들고 있습니다.
한번 들어와서 확인해보세요!

코틀린 스탑워치 기능 완성! (앱 만들기#10)

 

코틀린 스탑워치 기능 완성! (앱 만들기#10)

저희는 어제 버튼을 클릭했을 때, 시간이 가는 것까지 해봤습니다. 하지만 클릭 한 번을 하고, 앞으로 계속 시간만 가면 그것은 스톱워치가 아니죠? 그냥 시계랑 똑같잖아요. 그러니까 오늘은 이

lucky1004.com

안드로이드 스탑워치 시간 가는 기능 구현하기(앱 만들기#9)

 

안드로이드 스탑워치 시간 가는 기능 구현하기(앱 만들기#9)

먼저 저희가 궁금한 것을 구글에서 스톱워치를 찾아봅시다. 앱 만들기#8에서 했던 것, 바로 아래 스톱워치 만들기가 있기에 그것을 클릭하였습니다. 그랬더니 이와 같은 것을 해야한다고 나오는

lucky1004.com

android studio설치 다운로드하기 안드로이드 앱 만들기#1

 

android studio설치 다운로드하기 안드로이드 앱 만들기#1

안드로이드 스튜디오 설치 다운로드하기 안드로이드 앱 만들기#1입니다. 오늘부터 코딩에 대해서 좀 배워보려고 합니다. 코딩에서 어떤 것을 먼저해볼까요? 그래도 저희가 가장 원하고, 그리는

lucky1004.com

 

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