我需要知道如何制作一个内部类 Parcelable 以便其类型的对象可以通过 AIDL 传递给远程服务。我找不到这方面的任何信息。
这是我要完成的示例代码,但它无法编译,因为 Bar 类中的 CREATOR 不能是静态的(即因为它在内部类中)。我不能使 Bar 成为静态内部类,也不能将 Bar 移到 Foo 类之外(系统内的其他依赖项)。我还需要知道如何从 AIDL 文件中引用 Bar 类。任何帮助是极大的赞赏。
public class Foo implements Parcelable
{
private int a;
public Foo()
{
}
public Foo(Parcel source)
{
this.a = source.readInt();
}
public int describeContents()
{
return 0;
}
public void writeToParcel(Parcel dest, int flags)
{
dest.writeInt(this.a);
}
public static final Parcelable.Creator<Foo> CREATOR
= new Parcelable.Creator<Foo>()
{
...
}
public class Bar implements Parcelable
{
private int b;
public Bar()
{
}
public Bar(Parcel source)
{
this.b = source.readInt();
}
public int describeContents()
{
return 0;
}
public void writeToParcel(Parcel dest, int flags)
{
dest.writeInt(this.b);
}
public static final Parcelable.Creator<Bar> CREATOR
= new Parcelable.Creator<Bar>()
{
...
}
}
}