[英]Android remote service using aidl
我正在尝试使用 Android AIDL 在 Eclipse 中创建远程服务。 我在 /src 中创建了我的 AIDL 文件 IRemoteService.aidl,如下所示:
package com.vtrandal.bluesentry;
interface IRemoteService {
String getData();
}
构建完成后,我在 /gen 中获得了一个巨大的文件 IRemoteService.java,其中包含以下这些类和方法(它与我在文档中看到的任何内容都不一样):
public interface IRemoteService extends android.os.IInterface
public static abstract class Stub extends android.os.Binder implements com.vtrandal.bluesentry.IRemoteService
private static final java.lang.String DESCRIPTOR = "com.vtrandal.bluesentry.IRemoteService";
public Stub()
public static com.vtrandal.bluesentry.IRemoteService asInterface(android.os.IBinder obj)
public android.os.IBinder asBinder()
public boolean onTransact(int code, android.os.Parcel data, android.os.Parcel reply, int flags) throws android.os.RemoteException
private static class Proxy implements com.vtrandal.bluesentry.IRemoteService
Proxy(android.os.IBinder remote)
public android.os.IBinder asBinder()
public java.lang.String getInterfaceDescriptor()
public java.lang.String getData() throws android.os.RemoteException
public java.lang.String getData() throws android.os.RemoteException;
那么为什么 IRemoteService.java 包含这么多文档中没有提到的垃圾? 我怎么可能知道如何处理这一切? 我怎么可能知道如何处理它?
这是服务存根代码。 需要与客户进行实际通信。 您自己没有编写任何用于在客户端和服务之间进行通信的代码,是吗? 毕竟它不是那么简单,它是为你生成的。 这就是为什么这么多代码。
文档通常为用户讨论 API,而不是存根内部方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.