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);
    }
    }
  • 相关阅读:
    java计算组合数
    编写一个方法,使用以上算法生成指定数目(比如1000个)的随机整数
    不用static,巧用对象.方法调用java中的函数
    主函数调用相同函数名的小知识
    poj 3608 旋转卡壳求不相交凸包最近距离;
    UVa1453或La4728 凸包+枚举(或旋转卡壳)
    hdu4666 最远曼哈顿距离
    poj2926 曼哈顿最远距离
    poj 2187 凸包加旋转卡壳算法
    UVa 10256 凸包简单应用
  • 原文地址:https://www.cnblogs.com/zhukaile/p/14836599.html
Copyright © 2011-2022 走看看