Handler及其用法
来源:互联网 发布:网络百家家乐能玩吗? 编辑:程序博客网 时间:2024/06/04 11:46
Service方式是两个进程progress之间通讯的方法。通过系统提供的绑定的方式对服务内的方法进行调用,从而实现Service的调用。不是直接调用,使用IBinder接口这种中间件实现的
在Service的继承类中自定义个IBinder的类,该类继承Binder父类即可。此内部类就可当做远程调用的桥梁,因为它是服务类的内部类,因此可以调用服务的任何方法和属性,
更由于在客户端创建bindService(new Intent(this, MyService.class), serviceConn , BIND_AUTO_CREATE);方法的时候需要一个ServiceConnection实例,该实例需要自己实现、
两个方法,onServiceConnected(ComponentName name, IBinder service)和onServiceDisconnected(ComponentName name) 。服务连接成功和断开事件,从而很容易
获得到IBinder的引用实例。具体如下:
在一个Activity调用一个服务的Play方法;
1)在mainActivity中添加两个按钮,一个是服务绑定,一个是服务方法远程调用。
public class MainActivity extends Activity { private MyBinder binder; private ServiceConnection serviceConn = new ServiceConnection() { @Override public void onServiceDisconnected(ComponentName name) { } @Override public void onServiceConnected(ComponentName name, IBinder service) { binder = (MyService.MyBinder)service; } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void btnBind(View view){ bindService(new Intent(this, MyService.class), serviceConn , BIND_AUTO_CREATE); } public void btnPlay(View v){ binder.play(); } public void btnStop(View v){ binder.stop(); }}//2)创建自定义服务类,使用向导,自动注册:public class MyService extends Service { private IBinder binder; @Override public void onCreate() { super.onCreate(); binder = new MyBinder(); } @Override public IBinder onBind(Intent intent) { // TODO: Return the communication channel to the service. return binder; } private void play(){ Toast.makeText(this, "播放", Toast.LENGTH_LONG).show(); } private void stop(){ Toast.makeText(this, "停止", Toast.LENGTH_LONG).show(); } class MyBinder extends Binder{ public void play(){ MyService.this.play(); //此处是要调用外部类的方法,使用限定名 } public void stop(){ MyService.this.stop(); } }}
0 0
- Handler及其用法
- Android Handler简介及其用法
- handler用法
- Handler用法
- Handler用法
- handler用法
- Handler用法
- handler用法
- Handler用法
- Handler用法
- Handler用法
- handler 用法
- Handler用法
- handler用法
- handler用法
- Handler用法
- handler机制及其使用
- Handler---Handler异步方式详解及其使用
- jdbc详解
- 读取EXCEL。POI的一个死坑。。文件的流不能close以及删除
- awk 学习(三) 应用示例+
- TI扫描二维码
- awk
- Handler及其用法
- Android项目全局变量的定义
- MongoDB学习笔记[持续更新中...]
- 《黑马程序员》 怎么使用java中的枚举方法
- oracle之归档
- 九度oj 题目1002:Grading 【ZJU2011考研机试题2】
- 安全禁用Mac OS的开机音效(“咣”的声音) by 兔子@cppblog
- linux 服务器常用操作
- RC4加解密