当前位置: 网学 > 编程文档 > Android > 正文

android Service Binder交互通信实例

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/19
下载{$ArticleTitle}原创论文样式
;                  super.onDestroy();       //注意先后    }}   编写传递基本型数据的远程服务上面的示例,可以扩展为,让其他应用程序复用该服务。这样的服务叫远程(remote)服务,实际上是进程间通信(RPC)。 这时需要使用android接口描述语言(AIDL)来定义远程服务的接口,而不是上述那样简单的java接口。扩展名为aidl而不是java。可用上面的ICountService改动而成ICountSerivde.aidl,eclipse会自动生成相关的java文件。 package com.easymorse; interface ICountService {    int getCount();}    编写服务(Service)类,稍有差别,主要在binder是通过远程获得的,需要通过桩(Stub)来获取。桩对象是远程对象的本地代理。 package com.easymorse; import android.app.Service;import android.content.Intent;import android.os.IBinder;import android.os.RemoteException;import android.util.Log; public class CountService extends Service {     private boolean threadDisable;     private int count;     private ICountService.Stub serviceBinder = new ICountService.Stub() {         @Override        public int getCount() throws RemoteException {            return count;        }    };     @Override    public IBinder onBind(Intent intent) {        return serviceBinder;    }     @Override    public void onCreate() {        super.onCreate();        new Thread(new Runnable() {             @Override            public void run() {                while (!threadDisable) {                    try {                        Thread.sleep(1000);                    } catch (InterruptedException e) {                    }                    count++;                    Log.v("CountService", "Count is " + count);                }            }        }).start();    }     @Override    public void onDestroy() {        super.onDestroy();        this.threadDisable = true;        Log.v("CountService", "on destroy"

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号