package com.minui.diceapp;
import androidx.appcompat.app.AppCompatActivity;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import java.util.Random;
public class MainActivity extends AppCompatActivity {
ImageView imgDice1;
ImageView imgDice2;
MediaPlayer mp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 화면에서 만든 버튼과 이미지들을 가져온다.
Button 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) {
Log.i("MyDiceApp","버튼 눌러짐!");
// 0. 사운드를 튼다.
mp.start();
// 1. 랜덤으로 숫자를 하나 가져온다.
Random random = new Random();
int number = random.nextInt(6);
int number2 = random.nextInt(6);
Log.i("MyDiceApp","number : " + number + ", number2 : " + number2);
// 2. 그 숫자로 화면의 이미지를 바꿔준다.
if (number == 0) {
imgDice1.setImageResource(R.drawable.dice1);
} else if (number == 1) {
imgDice1.setImageResource(R.drawable.dice2);
} else if (number == 2) {
imgDice1.setImageResource(R.drawable.dice3);
} else if (number == 3) {
imgDice1.setImageResource(R.drawable.dice4);
} else if (number == 4) {
imgDice1.setImageResource(R.drawable.dice5);
} else if (number == 5) {
imgDice1.setImageResource(R.drawable.dice6);
}
if (number2 == 0) {
imgDice2.setImageResource(R.drawable.dice1);
} else if (number2 == 1) {
imgDice2.setImageResource(R.drawable.dice2);
} else if (number2 == 2) {
imgDice2.setImageResource(R.drawable.dice3);
} else if (number2 == 3) {
imgDice2.setImageResource(R.drawable.dice4);
} else if (number2 == 4) {
imgDice2.setImageResource(R.drawable.dice5);
} else if (number2 == 5) {
imgDice2.setImageResource(R.drawable.dice6);
}
}
});
}
}
멤버변수에서 UI위젯들을 정의하고 액티비티 클래스에서 findViewById 함수를 통해 위젯들을 가져온다.
버튼의 setOnClickListener함수와 이 함수의 파라미터인 view.OnClickListener의 onClick함수에 버튼 눌렀을 시
동작할 내용을 작성한다.
'안드로이드' 카테고리의 다른 글
안드로이드 text, textColor, background, layout_margin, visibility, padding, gravity (0) | 2022.07.08 |
---|---|
안드로이드 오픈소스 라이브러리 적용하는 법 (0) | 2022.07.08 |
안드로이드에서 로그 남기는 방법 (0) | 2022.07.07 |
안드로이드 앱의 액션바 없애는 방법 (0) | 2022.07.07 |
안드로이드 앱 이름 바꾸는 방법 (0) | 2022.07.07 |