Intent Service
. Using a background downloading, the bottom package music hanndler + Thread
Usage:
1. Custom class inheritance IntentService, onHandleIntent override method
processes the write logic download
Activity bindService used startService or
viscous service
what service is tacky (sticky start mode)
to achieve the effect : after the termination of the service is automatically created (service die)
to achieve step onStartComand () {
return constants
}
Music player
1. Get music list
2. server initialization music list
3. Use common method of music player
Server code
private MediaPlayer mediaPlayer;
ArrayList<MusicBean> beans;
int count1;
class MyBinder extends Binder {
public MusicService getService() {
return new MusicService();
}
}
@Override
public IBinder onBind(Intent intent) {
return new MyBinder();
}
public void stop() {
if (mediaPlayer != null) {
mediaPlayer.pause();
}
}
public void play(ArrayList<MusicBean> musicBeans, int count) {
beans = musicBeans;
count1 = count;
try {
if (mediaPlayer == null) {
mediaPlayer = new MediaPlayer();
// mediaPlayer.reset();
mediaPlayer.setDataSource(musicBeans.get(count).getData());
// mediaPlayer.prepare();
}
mediaPlayer.reset();
mediaPlayer.setDataSource(musicBeans.get(count).getData());
mediaPlayer.prepare();
mediaPlayer.start();
} catch (IOException e) {
e.printStackTrace();
}
}
public void musicstop() {
if (mediaPlayer != null) {
mediaPlayer.stop();
mediaPlayer.release();
mediaPlayer = null;
}
}
public void pre(ArrayList<MusicBean> musicBeans, int count) {
musicstop();
play(musicBeans, count);
}