AIDL

android 官网文档对AIDL讲解很清楚,这里稍微记录下:
实现AIDL分以下三步:

1. 在工程目录下创建AIDL文件

note:在AIDL文件中不能用static来修饰某一方法

2.实现AIDL接口

在服务端实现:

interface A(

  public void getPid(int id);

)

 

A.stub mBinder = new A.stub(){

   public void getPid(int id){

      return id;

   } 

}

3 提供接口给客服端

public class AService extends Service{

     @override 

    public void onCreate(){

      super.onCreate(); 

    }

    @override

    public IBinder  onBind(Intent intent){

     return mBinder;

   }

  private final A.Stub mBinder = new A.Stub(){

   public void getPid(int id){

      return id;

   } 

  }

}

客户端通过bindService()连接服务端后,回调函数onServiceConnected通过onBinder函数得到服务端的mBinder变量。

当客户端获得IBinder service后,须通过A a= A.Stub.asInterface(service)来给客户端a变量赋值。

参考文章:http://developer.android.com/guide/components/aidl.html

posted @ 2012-12-28 14:39  麦二蛋  阅读(115)  评论(0)    收藏  举报