0101011001010111

Kotlin 2-2 / 주사위 앱 만들기 본문

Kotlin/안드로이드_[입문]앱개발

Kotlin 2-2 / 주사위 앱 만들기

[진주] 2023. 8. 8. 14:32
728x90
반응형

밥먹는것도 느려 ㅠㅠㅠ


두근두근! 이제 앱을 만들어보자!! 이것은 ROLL을 누르면 1-6까지의 값이 랜덤으로 나오게 되는 것이다!

 

재밌다!!! 재밋어!!!!!

(일단 하드코딩으로 시작!)

이건 재밌게 그리는 방법이었고, 

 

이제 코드랑 XML을 연결해보자!! (재미써 X10)

 

MainAcctivity.kt

package com.example.myapplication

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle

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

        val tv_num = findViewById<>()
    }
}
val tv_num = findViewById<>()

가져올때는 findViewById로 가져온다

이건, 내가 xml에 있는거를 id로 찾아서 가져오겠다! 이뜻이다 .

ㄴ 지금 textView가 id죵?!!?

ㄴ textView가 너무 이름이 자동생성된 거라 이름을 바꿔보자 tv_number로! 

 

<<아주 이쁘게 처리되었다.

 

 

<<버튼의 아이디도 바꿔주었다.

 

근데 여기서 에러가 난 이유는  

바로 아까 위에서 이름을 바꿨기 때문에, 통일해서 바꿔줘야한다!!

굿...


이제 다시 MainActivity로 돌아가서

여기에 값을 줘야하는데,

뭘줘야 할까?

 

얘는 아이디로 가져오는 애다.

 

그러니 어떤 애를 가져올까?

생각해보자.

 

 

너는 텍스트 형식을 가져올거야 = <TextView>

우리는 먼저 텍스트뷰를 가져올 것이므로 TextView(타입임)

그 다음, 소괄호에는 리소스 이름을 주면 된다.

주는 방법은 , 

요렇게 주면 된다.

id.tv_number까지는 이해가 되는데

앞에 R. 은 어떤 의미일까?

 

하나씩 뜯어보기 ▼

  1. findViewById<TextView>: Android에서 뷰를 ID를 기반으로 찾을 때 사용하는 함수입니다. 이 함수는 해당 ID에 대응하는 뷰의 참조를 반환합니다. <TextView> 부분은 제네릭을 사용하여 찾아야 할 뷰의 타입을 지정합니다. 여기서는 TextView 타입의 뷰를 찾아달라고 지정하고 있습니다.
  2. R.id.tv_number: R 클래스를 통해 리소스를 참조하는 코드의 일부입니다.
    • R: 리소스를 참조하는 클래스입니다.
    • .id: 리소스 유형을 나타냅니다. 여기서는 ID 리소스를 참조하려고 합니다.
    • .tv_number: 특정 ID 리소스의 이름입니다. 이 ID는 보통 XML 레이아웃 파일 내에서 뷰에 android:id="@+id/tv_number"와 같은 형식으로 지정됩니다.

 

+R에 대한 추가설명

R은 Android에서 자동으로 생성되는 리소스 파일을 참조하는 클래스입니다. R 클래스를 통해 앱 내의 모든 리소스(예: 레이아웃, 이미지, 문자열, 스타일 등)에 접근할 수 있습니다.

 

음..

요약 : R은, 앱내의 모든 리소스에 접근할때, 쓰는 거!!


버튼도 똑같이 연결해주자.

 

지금 한 작업은, xml에 있는 tv_num이라는 것과 btn_roll이라는 것을 메인액티비티의 변수로 지정해 주어 쓸수 있게 해주었다.

 

 

그럼 이제 버튼이 눌렸을 때, 무엇인가 실행될 수 있도록 틀을 만들어보자.

btn_dice가 setOnClickListener (눌렸을 때) {실행될것}

 

실행될 것은 랜덤값을 주면된다.

2-2주차 8분 50초까지 나머지는 그냥 봄 

728x90
반응형