我有這個方法在我的.aidl文件:如何在android aidl文件中返回MyObject的列表?
void getObjects(out List<MyObject> objList);
但我得到這個錯誤
的src/COM/myCompany中/ mypackage中/ ITestService.aidl:26參數objList(1)未知類型列表objList
如何在.aidl中創建MyObject列表?
謝謝。
我有這個方法在我的.aidl文件:如何在android aidl文件中返回MyObject的列表?
void getObjects(out List<MyObject> objList);
但我得到這個錯誤
的src/COM/myCompany中/ mypackage中/ ITestService.aidl:26參數objList(1)未知類型列表objList
如何在.aidl中創建MyObject列表?
謝謝。
您需要製作MyObject Parcelable,然後將MyObject導入到您的AIDL文件中。
欲瞭解更多信息和示例,請參閱開發者指南:https://developer.android.com/guide/developing/tools/aidl.html#PassingObjects
步驟:
MyObject來實現Parcable
在src.com.mycompany創建新MyObject.aidl文件。 mypackage的
package src.com.mycompany.mypackage;
parcelable MyObject;
原因:您在進程之間傳遞類對象,客戶端進程必須瞭解要傳遞的對象的定義 。
AIDL編譯器將無法找到我們的自定義MyObject,即使它實現了Parcelable接口。要通知我們實施了AIDL編譯器,我們需要定義一個AIDL文件,聲明類作爲Parcelable
在ITestService.aidl增加進口statment,
import src.com.mycompany.mypackage.MyObject
錯誤未知類型列表會被刪除。
導入* MyObject *,即使它在同一個包中。 – bhatt4982