首页 > 代码库 > 通过接口方式调用服务里面的方法
通过接口方式调用服务里面的方法
接口可以隐藏代码内部的细节 让程序员暴露自己只想暴露的方法
(6)定义一个接口 把想暴露的方法都定义在接口里面
(7)我们定义的中间人对象 实现我们定义的接口
(8)在获取我们定义的中间人对象方式变了
public interface Iservice { //把领导想暴露的方法 都定义在接口里面 public void callBanZheng(int money); public void callPlayMaJiang();}
public class MainActivity extends Activity { private Iservice myBinder; //这个是我们定义的中间人对象 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // //开启服务 Intent intent = new Intent(this,TestService.class); //连接服务 TestService MyConn conn = new MyConn(); //绑定服务 bindService(intent, conn, BIND_AUTO_CREATE); } //点击按钮 调用TestService 服务里面的办证方法 public void click(View v) { //通过我们定义的中间人对象 间接调用服务里面的方法 myBinder.callBanZheng(1020000);// myBinder.callPlayMaJiang();// myBinder.callXiSangNa(); myBinder.callPlayMaJiang(); } //监视服务的状态 private class MyConn implements ServiceConnection{ //当连接服务成功后 @Override public void onServiceConnected(ComponentName name, IBinder service) { //[4]获取我们定义的中间人对象 myBinder = (Iservice) service; } //失去连接 @Override public void onServiceDisconnected(ComponentName name) { } } }
public class TestService extends Service { //当bindservice @Override public IBinder onBind(Intent intent) { //[3]把我们定义的中间人对象返回 return new MyBinder(); } @Override public void onCreate() { super.onCreate(); } //测试方法 public void banZheng(int money){ if (money > 1000) { Toast.makeText(getApplicationContext(), "我是领导 把证给你办了", 1).show(); }else{ Toast.makeText(getApplicationContext(), "这点钱 还想办事", 1).show(); } } //打麻将的方法 public void playMaJiang(){ System.out.println("陪客户打麻将"); } //洗桑拿的方法 public void 洗桑拿(){ System.out.println("洗桑拿"); } //[1定义一个中间人对象 ] private class MyBinder extends Binder implements Iservice{ //[2]定义一个方法 调用办证的方法 public void callBanZheng(int money){ banZheng(money); } //定义一个调用打麻将的方法 public void callPlayMaJiang(){ playMaJiang(); } //调用洗桑拿的方法 public void callXiSangNa(){ 洗桑拿(); } } }
通过接口方式调用服务里面的方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。