어제는 숫자가 자동으로 랜덤하게 생성되고,
그 아래 숫자는 스탑워치 처럼 시간이 흘러가고, 멈추게 하는 기능 까지 만들어보았습니다.
그럼 오늘은 랜덤한 시간에, 내가 멈췄던 시간을 뺀 텍스트를 앱 상으로 구현하는 것을 만들어 보겠습니다.
그래서 아무래도 직관적으로 확실하게 눈에 보여야,
게임같아 보이니까요.
정해져 있는 숫자에, 내가 멈춘 숫자 빼는 기능입니다.
안드로이드 스탑워치 숫자에서 내가 멈춘 숫자 빼기(앱#14)
먼저 텍스트 뷰를 하나 더 만들어보겠습니다.
액티비티 메인에서, 텍스트 뷰를 끌어서 제가 원하는 위치에 두었습니다.
이는 점수가 될 것이기에, 이름을 text_point로 넣어봤습니다.
그리고 위치가 아직 정해져 있지 않기 때문에, 위아래 버튼에 맞춰서 크기도 조절을 하였습니다.
위젯 배치 조정하기 (앱 만들기#5)
저번에는 어플에 글을 쓰고, 제한조건 레이아웃으로, 글을 가운데 정렬까지 해봤습니다. 오늘은 위젯끼리의 위치를 조정해보겠습니다. 위젯 위치를 변경하는 것에 대해서도 조금 더 자세히 해
lucky1004.com
이제는 진짜 간단하고, 쉽고 만들죠? 이런식으로 위젯 배치까지 만들어주고
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()
}}}}
완성 된 코드입니다.
오 벌써 이렇게 까지 나왔군요.
그럼 이번에는 기록되는 것을 만들어볼까요?
그러니까 친구들끼리 누가 더 랜덤숫자에 더 잘맞추나 내기를 하는데, 각자 기억하고 있는 것보다
눈에 보이게 숫자가 적혀있는게 좋잖아요?
이런식으로 하나씩 더 더해봅시다.
스탑 워치 외 다른 것들도 한번 봐봐요~
안드로이드 코틀린 숫자 게임 만들기(앱만들기#13)
이제는 지금까지 해봤던 것들을 모아서, 게임을 만들어보겠습니다. 정해진 규칙을 다음과 같습니다. 조금 더 완성작품에 가까워지네요. 숫자가 랜덤 하게 정해져 있다. 시작을 누르면 타이머가
lucky1004.com
안드로이드 코틀린 랜덤 숫자 만들기(앱만들기#12)
안드로이드 어플에서 랜덤 숫자를 만들어 보겠습니다. 저희는 계속 코틀린을 사용 중에 있습니다. val random = Random() val num = random.nextInt(5) /* val num 변수에 0~4 사이의 무작위 Int 저장 */ 구글에..
lucky1004.com
android studio설치 다운로드하기 안드로이드 앱 만들기#1
android studio설치 다운로드하기 안드로이드 앱 만들기#1
안드로이드 스튜디오 설치 다운로드하기 안드로이드 앱 만들기#1입니다. 오늘부터 코딩에 대해서 좀 배워보려고 합니다. 코딩에서 어떤 것을 먼저해볼까요? 그래도 저희가 가장 원하고, 그리는
lucky1004.com
'코딩 어플만들기' 카테고리의 다른 글
안드로이드 스튜디오 앱 초기상태로 되돌리기(#앱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 |