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);
    }
    }
  • 相关阅读:
    使用Python对MySQL数据库操作
    使用Python对SQLite数据库操作
    使用Python对Access读写操作
    使用Python对Excel进行读写操作
    C# Serialization performance in System.Runtime.Serialization.Formatters.Binary.BinaryFormatter,Newtonsoft.Json.JsonConvert and System.Text.Json.JsonSerializer.Serialize
    C# calculate disk size
    C# rename files
    C# copy files from source directory to destination file and rename repeated files and does not override
    C# event
    C# redis StackExchange
  • 原文地址:https://www.cnblogs.com/zhukaile/p/14836599.html
Copyright © 2011-2022 走看看