:..音乐播放器之编写服务在“音乐播放器之基本框架”中,我们已经编写了音乐播放器的页面实现,但具体的播放逻辑并没有实现。接下来,我们需要做的就是:响应ListView的条目点击事件,当点击某一个条目时开启服务,在该服务中播放选中的音乐。具体步骤如下::MusicService并使之继承Service。代码如例1-1所示:例1-lassMusicServiceextendsService{ ***@Override publicIBinderonBind(Intentintent){ returnnull; }}服务类创建出来之后,我们需要在项目清单文件中声明该服务。,我们要实现两个功能,分别是循环音乐的播放功能和当前所播放音乐是哪一首的功能。播放功能play方法代码如例1-2:例1-2publicvoidplay(finalList<MusicInfo>infos,finalintposition){ ("后台播放:"+(position).getPath()); newThread(){ publicvoidrun(){ currentPostion=position; try{ (5000);//使当前线程是5秒,模拟音乐播放}catch(InterruptedExceptione){ (); } intnewposition=position+1;//播放下一首音乐的下标 intpos=newposition%(); currentPostion=pos; play(infos,pos);//循环播放下一首音乐}; }.start();}记录当前所播放哪一首音乐getCurrentPostion,代码如例1-3:例1-3publicintgetCurrentPostion(){ returncurrentPostion;}在MusicService类中定义一个int类型的变量currentPostion,在方法play中更新currentPostion的值。,具体步骤如下:*编写接口类IMusicService,在该类中定义两个方法。代码如例1-4所示:例1-4publicinterfaceIMusicService{ publicvoidcallplay(finalList<MusicInfo>infos,finalintposition);//播放音乐 publicintcallGetCurrentPositon();//当前播放音乐时哪一首}*MusicService类中编写内部类MyBinder,使之继承Binder并实现IMusicServic
黑马程序员安卓教程音乐播放器之编写服务 来自淘豆网m.daumloan.com转载请标明出处.