안드로이드 플랫폼은 다양한 앱을 개발할 수 있는 훌륭한 환경을 제공합니다. 본 강좌에서는 Java를 이용하여 기본적인 MP3 재생 앱을 만드는 방법에 대해 알아보겠습니다. 이 강좌는 안드로이드 개발에 대한 기본적인 이해가 있는 개발자를 대상으로 하며, 프로젝트를 진행하면서 앱 개발의 기초부터 고급 기능까지 배울 수 있습니다.
기본 개념
MP3 재생 앱은 음악 파일을 재생하고, 일시 정지하고, 정지하고, 트랙을 변경하는 등의 기능을 제공하는 앱입니다. 이러한 앱을 만들기 위해서는 오디오 파일을 처리하는 데 필요한 안드로이드의 미디어 플레이어 API를 사용할 것입니다. 앱은 또한 사용자 인터페이스(UI)를 제공하여 사용자가 쉽게 조작할 수 있도록 할 것입니다.
개발 환경 설정
안드로이드 앱을 개발하기 위해서는 먼저 개발 환경을 설정해야 합니다. 아래의 단계에 따라 진행해 주세요:
- Android Studio 설치하기: Android Studio는 안드로이드 개발을 위한 공식 IDE입니다. 최신 버전을 다운로드하여 설치합니다.
- 새 프로젝트 생성하기: Android Studio를 실행한 후 “New Project”를 선택합니다. “Empty Activity”를 선택하고 프로젝트 이름을 입력한 후 “Finish”를 클릭합니다.
- Gradle 설정 확인하기: 프로젝트가 생성되면 Gradle 설정을 확인하여 필요한 라이브러리가 포함되어 있는지 확인합니다.
앱 UI 디자인
앱의 사용자 인터페이스를 설계하기 위해 XML 레이아웃 파일을 생성하겠습니다. “res/layout” 폴더에 “activity_main.xml” 파일을 열고 다음 코드를 입력합니다:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/buttonPlay"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Play" /
>
<Button
android:id="@+id/buttonPause"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Pause"
android:layout_below="@id/buttonPlay" /
>
<Button
android:id="@+id/buttonStop"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Stop"
android:layout_below="@id/buttonPause" /
>
<TextView
android:id="@+id/textViewStatus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Status: Stopped"
android:layout_below="@id/buttonStop" /
>
</RelativeLayout>
위의 코드는 기본적인 사용자 인터페이스를 설정합니다. 세 개의 버튼과 상태를 표시할 TextView가 포함되어 있습니다.
Java 코드 작성
이제 실제 MP3 재생 기능을 구현하기 위해 Java 코드를 작성하겠습니다. “MainActivity.java” 파일을 열고 다음 코드를 추가합니다:
package com.example.mp3player;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
private MediaPlayer mediaPlayer;
private Button buttonPlay, buttonPause, buttonStop;
private TextView textViewStatus;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
buttonPlay = findViewById(R.id.buttonPlay);
buttonPause = findViewById(R.id.buttonPause);
buttonStop = findViewById(R.id.buttonStop);
textViewStatus = findViewById(R.id.textViewStatus);
mediaPlayer = MediaPlayer.create(this, R.raw.sample_mp3); // sample_mp3는 res/raw 폴더에 있어야 합니다.
buttonPlay.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mediaPlayer.start();
textViewStatus.setText("Status: Playing");
}
});
buttonPause.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mediaPlayer.isPlaying()) {
mediaPlayer.pause();
textViewStatus.setText("Status: Paused");
}
}
});
buttonStop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mediaPlayer.isPlaying() || mediaPlayer.isLooping()) {
mediaPlayer.stop();
mediaPlayer.prepareAsync(); // For preparing it again
textViewStatus.setText("Status: Stopped");
}
}
});
}
@Override
protected void onDestroy() {
super.onDestroy();
if (mediaPlayer != null) {
mediaPlayer.release();
mediaPlayer = null;
}
}
}
위 코드는 MediaPlayer를 사용하여 MP3 파일을 재생, 일시 정지, 정지하는 기능을 구현합니다. 사용자가 버튼을 클릭할 때마다 상태를 업데이트하여 UI에 반영합니다.
오디오 파일 추가하기
앱에서 사용할 MP3 파일을 안드로이드 프로젝트에 추가하려면 아래의 단계를 따르세요:
- res 폴더에 raw 폴더 생성: “res” 폴더를 오른쪽 클릭하여 “New” → “Android Resource Directory”를 선택합니다. Resource type으로 “raw”를 선택하고 “OK”를 클릭합니다.
- MP3 파일 추가: 생성된 “raw” 폴더에 사용할 MP3 파일(예: sample_mp3.mp3)을 복사하여 붙여넣습니다.
앱 실행하기
이제 모든 설정이 완료되었습니다. Android Studio에서 “Run” 버튼을 클릭하여 앱을 실행해 보세요. 에뮬레이터 또는 실제 기기에서 앱이 실행되고, MP3 파일을 재생할 수 있는 버튼이 표시됩니다.
마무리
이번 강좌에서는 자바를 이용한 기본적인 안드로이드 MP3 재생 앱을 만드는 방법에 대해 알아보았습니다. 간단한 미디어 플레이어를 만드는 것 외에도, 추가적인 기능(플레이리스트, 음량 조절, 사용자 설정 등)을 구현하여 더 발전된 앱을 만드는 것도 고려해 볼 수 있습니다.
이렇게 간단한 프로젝트를 완성함으로써 안드로이드 앱 개발의 기초를 다질 수 있었습니다. 앞으로도 다양한 앱을 개발하며, 안드로이드 플랫폼에 대한 이해를 더욱 깊게 할 수 있기를 바랍니다.
추가 자료
안드로이드 개발에 대한 추가적인 학습을 위해 아래 자료들을 참고하세요: