如何在android aidl文件中返回MyObject列表?

时间:2009-09-22 21:15:50

标签: android

我的.aidl文件中有这个方法:

void getObjects(out List<MyObject> objList);

但是我收到了这个错误

src / com / mycompany / mypackage / ITestService.aidl:26参数objList(1)未知类型列表objList

如何在.aidl中创建MyObject列表?

谢谢。

2 个答案:

答案 0 :(得分:3)

步骤:

  1. MyObject实现了Parcable

  2. 在src.com.mycompany.mypackage中创建新的MyObject.aidl文件

      package src.com.mycompany.mypackage;
      parcelable MyObject;
    

    原因:您在进程之间传递类对象,客户端进程必须理解 被传递物体的定义。

    即使AIDL编译器实现了Parcelable接口,它也无法找到我们自定义的MyObject。为了通知我们对AIDL编译器的实现,我们需要定义一个将类声明为Parcelable的aidl文件

  3. 在ITestService.aidl中添加导入语句

    import src.com.mycompany.mypackage.MyObject
    
  4. 错误未知类型列表将被删除。

答案 1 :(得分:0)

您需要创建MyObject Parcelable,然后在AIDL文件中导入MyObject。

有关详细信息和示例,请参阅开发人员指南:https://developer.android.com/guide/developing/tools/aidl.html#PassingObjects