Делаю плеер на андроид в качестве своего первого приложения. Нужно добавить плейлист с помощью которого будет производится выбор песни. То есть будет иконка папки, при нажатии на которую появится список на весь экран из треков, которые находятся на sd карте. Иконка папки должна находится на главном экране приложения
Что должно быть:
-Треки в этой папке могут меняться, то есть я могу с компа добавить или удалить треки. Папка должна при открытии показать находящиеся внутри неё треки. А также другие папки, в которых тоже находятся другие треки, можно назвать это альбомами. То есть при открытии этой папки, все вложенные в неё другие папки должны быть видны
-При клике на название трека, он запускается и происходит переход в Main_Activity
Как это реализовать?
XML:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/background"
tools:context=".MainActivity">
<com.mikhaellopez.circularimageview.CircularImageView
android:layout_width="230dp"
android:layout_height="230dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="90dp"
android:src="@drawable/album_art"
/>
<Button
android:id="@+id/btn_play"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="82dp"
android:background="@drawable/play" />
<Button
android:id="@+id/btn_pause"
android:layout_width="70dp"
android:layout_height="70dp"
android:layout_alignBottom="@+id/btn_play"
android:layout_alignParentStart="true"
android:layout_marginStart="43dp"
android:background="@drawable/pause" />
<Button
android:id="@+id/btn_stop"
android:layout_width="70dp"
android:layout_height="70dp"
android:layout_alignBottom="@+id/btn_play"
android:layout_alignParentEnd="true"
android:layout_marginEnd="43dp"
android:background="@drawable/stop" />
</RelativeLayout>
Main_activity class:
package com.kentforth.musicplayer;
import android.media.MediaPlayer;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
Button play,pause,stop;
MediaPlayer mediaPlayer;
int pauseCurrentPosition;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
play = (Button) findViewById(R.id.btn_play);
pause = (Button) findViewById(R.id.btn_pause);
stop = (Button) findViewById(R.id.btn_stop);
play.setOnClickListener(this);
pause.setOnClickListener(this);
stop.setOnClickListener(this);
}
@Override
public void onClick(View view) {
switch(view.getId()) {
case R.id.btn_play:
if(mediaPlayer == null) {
mediaPlayer = MediaPlayer.create(getApplicationContext(),R.raw.city);
mediaPlayer.start();}
else if(!mediaPlayer.isPlaying()) {
mediaPlayer.seekTo(pauseCurrentPosition);
mediaPlayer.start();
}
break;
case R.id.btn_pause:
if (mediaPlayer !=null ) {
mediaPlayer.pause();
pauseCurrentPosition = mediaPlayer.getCurrentPosition();
}
break;
case R.id.btn_stop:
if(mediaPlayer!=null) {
mediaPlayer.stop();
mediaPlayer = null;
}
break;
}
}
}