Intent Service
一. 使用后台下载,底层封装乐hanndler+Thread
用法:
1.自定义类继承IntentService,重写onHandleIntent方法
方法中写下载逻辑
Activity中使用startService或bindService
粘性服务
什么是粘性服务(粘性启动方式)
实现效果:服务终止后,会自动创建(不死服务)
实现步骤 onStartComand(){
return 常量
}
音乐播放器
1. 获取音乐列表
2. 服务器中初始化音乐列表
3. 使用音乐播放器常用方法
服务器代码
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);
}