안드로이드 스탑워치 숫자에서 내가 멈춘 숫자 빼기(앱#14)

반응형

어제는 숫자가 자동으로 랜덤하게 생성되고, 

그 아래 숫자는 스탑워치 처럼 시간이 흘러가고, 멈추게 하는 기능 까지 만들어보았습니다.

그럼 오늘은 랜덤한 시간에, 내가 멈췄던 시간을 뺀 텍스트를 앱 상으로 구현하는 것을 만들어 보겠습니다.

 

그래서 아무래도 직관적으로 확실하게 눈에 보여야,

게임같아 보이니까요.

 

정해져 있는 숫자에, 내가 멈춘 숫자 빼는 기능입니다.

안드로이드 스탑워치 숫자에서 내가 멈춘 숫자 빼기(앱#14)

먼저 텍스트 뷰를 하나 더 만들어보겠습니다.

액티비티 메인에서, 텍스트 뷰를 끌어서 제가 원하는 위치에 두었습니다.

이는 점수가 될 것이기에, 이름을 text_point로 넣어봤습니다.

그리고 위치가 아직 정해져 있지 않기 때문에, 위아래 버튼에 맞춰서 크기도 조절을 하였습니다.

위젯 배치 조정하기 (앱 만들기#5)

 

위젯 배치 조정하기 (앱 만들기#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)

 

안드로이드 코틀린 숫자 게임 만들기(앱만들기#13)

이제는 지금까지 해봤던 것들을 모아서, 게임을 만들어보겠습니다. 정해진 규칙을 다음과 같습니다. 조금 더 완성작품에 가까워지네요. 숫자가 랜덤 하게 정해져 있다. 시작을 누르면 타이머가

lucky1004.com

안드로이드 코틀린 랜덤 숫자 만들기(앱만들기#12)

 

안드로이드 코틀린 랜덤 숫자 만들기(앱만들기#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

 

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