어제는 숫자가 자동으로 랜덤하게 생성되고,
그 아래 숫자는 스탑워치 처럼 시간이 흘러가고, 멈추게 하는 기능 까지 만들어보았습니다.
그럼 오늘은 랜덤한 시간에, 내가 멈췄던 시간을 뺀 텍스트를 앱 상으로 구현하는 것을 만들어 보겠습니다.
그래서 아무래도 직관적으로 확실하게 눈에 보여야,
게임같아 보이니까요.
정해져 있는 숫자에, 내가 멈춘 숫자 빼는 기능입니다.
안드로이드 스탑워치 숫자에서 내가 멈춘 숫자 빼기(앱#14)
먼저 텍스트 뷰를 하나 더 만들어보겠습니다.
액티비티 메인에서, 텍스트 뷰를 끌어서 제가 원하는 위치에 두었습니다.
이는 점수가 될 것이기에, 이름을 text_point로 넣어봤습니다.
그리고 위치가 아직 정해져 있지 않기 때문에, 위아래 버튼에 맞춰서 크기도 조절을 하였습니다.
이제는 진짜 간단하고, 쉽고 만들죠? 이런식으로 위젯 배치까지 만들어주고
text란은 공백란으로 비워둡시다.
왜? 처음에는 안보였다가, 정지버튼을 눌렀을 때, 자동으로 계산되고 딱 튀어나와야 좋겠으니까요!
val abc_2: TextView = findViewById(R.id.text_point)
저희가 만들었던 텍스트 상자 이름도 정해줍시다.
abc_2로 저는 만들었고, 액티비티 메인에서 포인트라고 했던 것을 넣어줍니다.
그리고 else 쪽 내용을 이런식으로 넣어봅시다.
아래 이와 같은 것을 추가해봅니다.
val point = (abs(sec-num).toFloat())/100
abc_2.text = point.toString()
저희가 만들었던 텍스트뷰 포인트는 이렇게 작동한다.
sec저희가 만든 랜덤한 초 에서, num 우리가 만들었던 숫자를 뺀다.
tofloat/100 초단위까지 해서요.
그리고 text되어있는 것을 우리 눈에 보이게 한다. 이런뜻이죠.
자 완성되었습니다.
그런데.. 숫자가 너무 작아. 이거 다시 크기 키워줍시다. 너무 눈에 안보일정도 작은거 오바잖아.
10 더 키워서 24로 만들어봤습니다.
이 내용들도, 전에 다 배웠죠? 좋아요.
글이 커졌습니다.
이런식으로 안드로이드 스탑워치 숫자에서 내가 멈춘 숫자 빼기를 만들어보았습니다.
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Button
import android.widget.TextView
import java.lang.Math.abs
import java.util.*
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_random)
val abc_1: TextView = findViewById(R.id.text_time)
val abc_2: TextView = findViewById(R.id.text_point)
val btn: Button = findViewById(R.id.btn_main)
val random = Random()
val num = random.nextInt(1001)
abc.text = ((num.toFloat())/100).toString()
btn.setOnClickListener {
isRunning = !isRunning
if (isRunning == true) {
timerTask = kotlin.concurrent.timer(period = 10) {
sec++
runOnUiThread {
abc_1.text = (sec.toFloat()/100).toString()
}
}
} else {
timerTask?.cancel()
val point = (abs(sec-num).toFloat())/100
abc_2.text = point.toString()
}}}}
완성 된 코드입니다.
오 벌써 이렇게 까지 나왔군요.
그럼 이번에는 기록되는 것을 만들어볼까요?
그러니까 친구들끼리 누가 더 랜덤숫자에 더 잘맞추나 내기를 하는데, 각자 기억하고 있는 것보다
눈에 보이게 숫자가 적혀있는게 좋잖아요?
이런식으로 하나씩 더 더해봅시다.
스탑 워치 외 다른 것들도 한번 봐봐요~
android studio설치 다운로드하기 안드로이드 앱 만들기#1
'코딩 어플만들기' 카테고리의 다른 글
안드로이드 스튜디오 앱 초기상태로 되돌리기(#앱16) (0) | 2022.03.27 |
---|---|
어플만들기 stage 개념 도입. 중간정리 (앱#15) (0) | 2022.03.26 |
안드로이드 코틀린 숫자 게임 만들기(앱만들기#13) (0) | 2022.03.24 |
안드로이드 코틀린 랜덤 숫자 만들기(앱만들기#12) (0) | 2022.03.22 |
안드로이드 스튜디오 스톱워치 0.01초 단위까지 만들기 (0) | 2022.03.20 |