1

谁能解释一下这个活页夹类和方法

 public class LocalBinder extends Binder 
{
    CC2540Service getService() 
    {
        return CC2540Service.this;
    }
}

@Override
public IBinder onBind(Intent arg0) 
{
    return binder;
}

private final IBinder binder = new LocalBinder();

我真的不明白这段代码

提前致谢

4

2 回答 2

3

为了从服务发送和接收数据,您需要使用一个Binder对象。Activity名为 CC2540Service 的服务只是创建此对象,并在尝试绑定到此服务时向其返回一个令牌。

两个进程可以在一个和另一个之间传输数据的唯一方法是使用这些Binder令牌。在您的情况下,令牌是通过return binder;

于 2013-05-19T14:55:21.557 回答
2

我猜 LocalBinder 是 CC2540Service 的一个内部类。所以CC2540Service.this指的是CC2540Service的实例。所以相当于这段代码

class A {
  A a = this;
  class B {
    A getA() {
      return a;
    }
  }
  B getB() {
    return new B();
  }
}
于 2013-05-19T14:49:21.653 回答