Android удаленный сервис с помощью aidl - PullRequest
1 голос
/ 26 мая 2011

Я пытаюсь создать удаленный сервис в Eclipse с помощью Android AIDL.Я создал свой AIDL-файл IRemoteService.aidl в / src следующим образом:

package com.vtrandal.bluesentry;
interface IRemoteService {
    String getData();
}

После сборки я получаю огромный файл IRemoteService.java в / gen, содержащий эти классы и методы следующим образом (он не 'не похоже ни на что, что я видел в документации):

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 содержит так много мусора, не упомянутого в документации?Как я мог знать, что делать со всем этим?Как я мог знать, что делать с этим?

1 Ответ

3 голосов
/ 26 мая 2011

Это код сервисной заглушки.Это необходимо для реального общения с клиентом.Вы не написали код для связи между клиентом и сервисом самостоятельно?В конце концов, это не так просто и генерируется для вас.Вот почему так много кода.

И в документации обычно обсуждается API для пользователя, а не тупые внутренние методы.

...