안드로이드 스튜디오 가지고 놀기 3

kevinkim2586·2020년 2월 27일
0

Android Studio

목록 보기
3/4

오늘도 어김없이 안드로이드 스튜디오를 켰다. 무작정 따라하기에 불과하지만, 결과물을 만들어서 내 눈으로 볼 수 있다는 것이 신기해 자꾸 손이 가게 된다.

WAV 파일 재생

버튼을 눌러 소리를 재상하는 예제이다.

app>res 디렉토리에 raw 파일을 추가하여, raw 파일 안에 샘플 음악을 복사 붙여넣기 하면 된다. 나 같은 경우에는 sample.wav 파일을 집어넣었다.

샘플 음원이 잘 재생되는지만 확인하면 되기에, MainActivity 에 버튼을 제외한 다른 요소는 넣지 않았다.

MainActivity 파일에 아래 코드를 작성하면 된다. 상속 받을 클래스는 따로 Import 을 해야한다.

public class MainActivity extends AppCompatActivity {

    SoundPool soundf;
    Button btn;
    int tom;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        soundf = new SoundPool(1, AudioManager.STREAM_MUSIC,0);
        tom = soundf.load(this, R.raw.sample, 1); //여기서 sample은 파일명이다

        btn = (Button)findViewById(R.id.button);
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                soundf.play(tom,1,1,0,0,1);
            }
        });

    }
}

경고창 만들기

다음은 간단한 경고창 만들기 예제이다. 앱을 종료할 때 흔히 "앱을 종료하시겠습니까?" 창이 나와 "예" 또는 "아니오"를 눌러야하는 상황이 분명히 있었을 것이다.

사진 우측의 경고창을 만들기 위한 코드이다.

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        AlertDialog.Builder alert_confirm = new AlertDialog.Builder(MainActivity.this);
        alert_confirm.setMessage("지금 실행되고 있는 앱을 종료하시겠습니까?").setCancelable(false).setPositiveButton("네",
                new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        finish();
                    }
                }).setNegativeButton("아뇨",
                        new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                return;
                            }
                        });
        AlertDialog alert = alert_confirm.create();
        alert.show();
    }
}

아주 간단한 예시들만 살펴보았다. 따로 코드를 한 줄 한 줄 외우기 보다는 이런 식으로 코드가 흘러간다는 것을 익혀 이후에 안드로이드 앱 개발을 할 일이 정말 생긴다면 다시 와서 참조해 볼만한 것 같다.

profile
맛있는 프로그래밍

0개의 댓글