Intent Service

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);
    }

猜你喜欢

转载自blog.csdn.net/weixin_45038475/article/details/90647567