Intent Service

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

Guess you like

Origin blog.csdn.net/weixin_45038475/article/details/90647567