UI 위젯을 객체화하여 각 UI 위젯들의 기능 구현하는 방법
1. activity_main.xml 파일에 화면개발을 완료한 후 View 들에 id를 부여한다.
2. MainActivity.java 에서 findViewById 함수를 사용해 UI위젯을 변수로 만든다.
public class MainActivity extends AppCompatActivity {
Button button;
ImageView imgDice1;
ImageView imgDice2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 화면에서 만든 버튼과 이미지뷰를 가져와서 연결한다.
button = findViewById(R.id.button);
imgDice1 = findViewById(R.id.imgDice1);
imgDice2 = findViewById(R.id.imgDice2);
3. 기능을 구현한다.
전체 코드
package com.reodinas2.diceapp;
import androidx.appcompat.app.AppCompatActivity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import java.util.Random;
public class MainActivity extends AppCompatActivity {
Button button;
ImageView imgDice1;
ImageView imgDice2;
MediaPlayer mp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 화면에서 만든 버튼과 이미지뷰를 가져와서 연결한다.
button = findViewById(R.id.button);
imgDice1 = findViewById(R.id.imgDice1);
imgDice2 = findViewById(R.id.imgDice2);
mp = MediaPlayer.create(this, R.raw.dice_sound);
// 로직을 작성한다.
// 사용자가 주사위버튼 눌렀을 때!!
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// 여기 안에다가 코드 작성만 하면 된다.
// 버튼 눌렀을 때의 코드 작성
// 0. 주사위 굴리는 소리를 낸다.
mp.start();
// 1. 랜덤으로 숫자를 가져온다. 2개 가져온다.
Random random = new Random();
int num1 = random.nextInt(6); // 0~5까지
int num2 = random.nextInt(6); // 0~5까지
// 2. 각각 가져온 랜덤 숫자에 맞게, 이미지를 바꿔준다.
if(num1 == 0){
imgDice1.setImageResource(R.drawable.dice1);
}else if(num1 == 1){
imgDice1.setImageResource(R.drawable.dice2);
}else if(num1 == 2){
imgDice1.setImageResource(R.drawable.dice3);
}else if(num1 == 3){
imgDice1.setImageResource(R.drawable.dice4);
}else if(num1 == 4){
imgDice1.setImageResource(R.drawable.dice5);
}else if(num1 == 5){
imgDice1.setImageResource(R.drawable.dice6);
}
if(num2 == 0){
imgDice2.setImageResource(R.drawable.dice1);
}else if(num2 == 1){
imgDice2.setImageResource(R.drawable.dice2);
}else if(num2 == 2){
imgDice2.setImageResource(R.drawable.dice3);
}else if(num2 == 3){
imgDice2.setImageResource(R.drawable.dice4);
}else if(num2 == 4){
imgDice2.setImageResource(R.drawable.dice5);
}else if(num2 == 5){
imgDice2.setImageResource(R.drawable.dice6);
}
'Android' 카테고리의 다른 글
Android Studio - EditText 에서 문자열 가져오기, 문자열 변경하기 (0) | 2023.01.26 |
---|---|
Android Studio - UI 디자인 속성(Attributes) (0) | 2023.01.26 |
Android Studio - 오픈소스 라이브러리 적용하는 방법 (0) | 2023.01.26 |
Android Studio - 앱 이름 변경하는 법 (0) | 2023.01.26 |
Android Studio - 앱 아이콘 만드는 방법 (0) | 2023.01.26 |