J'essaie de créer un service distant dans Eclipse en utilisant Android AIDL. J'ai créé mon fichier AIDL IRemoteService.aidl dans/src comme suit:Service à distance Android en utilisant aidl
package com.vtrandal.bluesentry;
interface IRemoteService {
String getData();
}
Après avoir fait construire, je reçois un fichier énorme dans IRemoteService.java/gen contenant ces classes et méthodes comme suit (il ne ressemble pas à tout ce que je l'ai vu dans la documentation):
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;
alors, pourquoi IRemoteService.java contient tant indésirable non mentionné dans la documentation? Comment pourrais-je savoir quoi faire avec tout cela? Comment pourrais-je savoir quoi faire de tout ça?
Merci @Alex Mais aucun des codes générés n'est documenté, donc je ne peux en utiliser aucun. Pourquoi le compilateur a-t-il même besoin de me le montrer? Je ne peux pas trouver ce dont j'ai besoin. Peut-être n'ai-je même pas besoin d'AIDL puisque j'ai déjà un thread d'arrière-plan qui continue à s'exécuter (par logcat) même lorsque je passe à une autre activité. – Vince
@Vince Vous n'avez pas besoin d'utiliser ce code. Tout ce que vous avez à faire est d'étendre les méthodes de stub et d'implémenter à partir de l'interface. Tout le code est là pour une utilisation par framework. Je pense que la documentation Android décrit le processus raisonnablement bien. http://developer.android.com/guide/developing/tools/aidl.html –
J'ai trouvé un livre "Pro Android 2" qui documente le code généré le fichier .aidl, et je suis fondamentalement d'accord, je n'ai pas besoin de m'inquiéter à propos de ça. Merci. J'ai également appris que l'utilisation d'AIDL signifie généralement la communication entre les applications que je n'ai pas besoin de faire. Donc je n'utilise pas AIDL. – Vince