오늘도 어김없이 안드로이드 스튜디오를 켰다. 무작정 따라하기에 불과하지만, 결과물을 만들어서 내 눈으로 볼 수 있다는 것이 신기해 자꾸 손이 가게 된다.
버튼을 눌러 소리를 재상하는 예제이다.
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();
}
}
아주 간단한 예시들만 살펴보았다. 따로 코드를 한 줄 한 줄 외우기 보다는 이런 식으로 코드가 흘러간다는 것을 익혀 이후에 안드로이드 앱 개발을 할 일이 정말 생긴다면 다시 와서 참조해 볼만한 것 같다.