만든 프로젝트에서 빈 액티비티를 만들자.

이름을 설정해주는 화면이 나오는데, Launcher Activity를 체크해주자.
Launcher Activity ?
프로그램을 실행 했을때 메인으로 실행해주는 옵션

만든 액티비티에서 가장 먼저 시작한는 것은 화면을 만드는 것부터 시작한다.

TextView
- 텍스트를 보여주는 공간
Plain Text
- 텍스트를 입력하는 공간
- 일반 텍스트, 패스워드, 이메일 등 다양하게 있다.
Button
- 버튼의 모양을 가진 레이아웃
ImageView
- 이미지를 넣을 수 있는 레이아웃
- res - drawable 폴더에 사진을 넣으면 사용자 정의 사진을 사용 할 수 있다.
Layout
- 레이아웃을 넣을때 필수적으로 설정해야하는 옵션
- 화면에 어떤 기준으로 배치를 할 것인지에 대한 옵션이다. 해당 옵션이 있어야 고정적으로 배치가 되어 화면에 보여줄수 있고, margin(거리) 설정에도 도움이 된다.
Constraints
- 해당 레이아웃의 크기를 정하는 옵션
- wrap_content ?
- 해당 텍스트 및 사진의 크기에 맞게 조정
- match_parent ?
- 화면의 크기 최대로 설정
- 크기 조정 ?
- 30dp, 40dp 이런식으로 dp단위로 작성된다.
id
- 해당 레이아웃에 고유의 id값을 정해주는 옵션
- 구분을 위해 필수적으로 중복되지 않는 id를 넣는게 좋다.
Text
- 텍스트를 작성하는 공간
내용들을 토대로 간단하게 만들어 봤다.
public class MainActivity extends AppCompatActivity {
// 화면에서 유저와 인터렉티브(변화되는 부분)되는 뷰들을 멤버 변수로 만들어서 사용한다.
// 변수이름과 화면아이디의 이름을 동일하게 하면 쉽게 찾을 수 있다.
Button btnDice; //Button이 레이아웃의 이름을 뜻한다.
ImageView imgDice;
//사운드 및 동영상 플레이어
MediaPlayer mp;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// JAVA와 XML화면을 연결하는 코드
//activity_main.xml파일과 연결하는 코드다.
setContentView(R.layout.activity_main);
// 화면의 뷰에 잇는 레이아웃과 자바의 변수와 연결시키는 코드
btnDice = findViewById(R.id.btnDice); // 해당 변수에 화면의 id를 연결시킨다.
imgDice = findViewById(R.id.imgDice);
// 변수 셋팅 코드 (동영상 코드도 초기화를 시켜줘야한다.)
mp = MediaPlayer.create(MainActivity.this, R.raw.dice_sound); //사운드 준비시켜 달라
//유저가 탭 하는것을 유저의 이벤트라고 불림
//유저가 해당 버튼을 누르면 작성하는 코드 (자동완성이 있음)
btnDice.setOnClickListener(new View.OnClickListener() {
// 유저가 클릭하면,
@Override
public void onClick(View view) {
Random random = new Random();
int num = random.nextInt(5+1);
mp.start(); //음악 재생
//랜덤으로 얻는 숫자에 따라 다이스 이미지를 변경하는 함수
switch (num){
case 0:
//연결시킨 이미지 레이아웃의 이미지를 변경하는 함수
imgDice.setImageResource(R.drawable.dice1);
break;
case 1:
imgDice.setImageResource(R.drawable.dice2);
break;
case 2:
imgDice.setImageResource(R.drawable.dice3);
break;
case 3:
imgDice.setImageResource(R.drawable.dice4);
break;
case 4:
imgDice.setImageResource(R.drawable.dice5);
break;
case 5:
imgDice.setImageResource(R.drawable.dice6);
break;
}
}
});
}
}