zoukankan      html  css  js  c++  java
  • 每日日报

    音乐播放器框架

    如果把播放的逻辑放到activity 不靠谱 activity在音乐播放器中只是作为界面的作用
    所以控制音乐播放的逻辑 要放到service里
    Activity既能控制音乐播放的逻辑 又可以实现退出activity之后service不死掉 需要使用混合方式开启
    服务
    混合方式开启服务
    startService
    bindService 一起使用 先后顺序没有要求
    Activity代码
    public class MainActivity extends Activity{
      private MyConnectio nconn;
      private MyBinder musicControl;
      @Override
      protected void onCreate(Bundle savedInstanceState){
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);

    //通过bind方式开启音乐播放的服务
      Intent service=new Intent(this,MusicPlayerService.class);
      conn=newMyConnection();
    //①调用bindService
      bindService(service,conn,BIND_AUTO_CREATE);
    //混合方式开启服务
      startService(service);
    }

    public void pre(Viewv){
      musicControl.callPre();
    }
    public void play(Viewv){
      musicControl.callplay();
    }
    public void pause(Viewv){
      musicControl.callpause();
    }
    public void next(Viewv){
      musicControl.callNext();
    }

    private class MyConnection implements ServiceConnection{
    @Override
    public void onServiceConnected(Component Namename,IBinder service){
    //④service执行完onBind之后 返回值不为空 就会走这个方法 IBinder对象就
    是 onBind的返回值 获取到这个对象 就可以调用它的public方法
        musicControl=(MyBinder)service;
        musicControl.playHiFiMusic();IServiceiservice=(IService)service;
        iservice.callpause();
        iservice.callpause();
    }
      @Override
      public void onServiceDisconnected(ComponentName name){
      }
    }
    @Override
    protected void onDestroy(){
      super.onDestroy();
      unbindService(conn);
    }
    }
  • 相关阅读:
    day22【网络编程】
    day21【缓冲流、转换流、序列化流】
    day20【字节流、字符流】
    设计模式7-适配器模式
    设计模式6-状态模式
    设计模式5-观察者模式
    设计模式4-建造者模式
    Web Service与WCF与Web API区别
    设计模式3-外观模式
    设计模式2-模板方法模式
  • 原文地址:https://www.cnblogs.com/zhukaile/p/14836599.html
Copyright © 2011-2022 走看看