将 Parceler 与 android 一起使用

Using Parceler with android

我正在为 android 尝试 Parceler 库。到目前为止,我只有一个相同的错误,使用文档中的普通示例。

@Parcel(Parcel.Serialization.BEAN)
public class Example {
  private String name;
  private int age;

  public String getName() { return name; }
  public void setName(String name) { this.name = name; }

  public int getAge() { return age; }
  public void setAge(int age) { this.age = age; }
}

Parcelable p = Parcels.wrap(new Example());

崩溃
07-30 12:31:46.439: E/AndroidRuntime(4945): FATAL EXCEPTION: main
07-30 12:31:46.439: E/AndroidRuntime(4945): Process: com.sample.app.android.debug, PID: 4945
07-30 12:31:46.439: E/AndroidRuntime(4945):  org.parceler.ParcelerRuntimeException: Unable to find generated Parcelable  class for com.sample.app.android.entity.Example, verify that  your class is configured properly and that the Parcelable class  com.sample.app.android.entity.Example$$Parcelable is generated  by Parceler.
07-30 12:31:46.439: E/AndroidRuntime(4945):     at  org.parceler.Parcels$ParcelCodeRepository.get(Parcels.java:201)
07-30 12:31:46.439: E/AndroidRuntime(4945):     at org.parceler.Parcels.wrap(Parcels.java:85)
07-30 12:31:46.439: E/AndroidRuntime(4945):     at org.parceler.Parcels.wrap(Parcels.java:69)

我错过了什么?

听起来注释处理器不是 运行 或配置错误。如果您使用 Gradle 构建以及处理器和 api 库的单独范围,我建议使用 annotationProcessor 范围:

compile 'org.parceler:parceler-api:1.1.9'
annotationProcessor 'org.parceler:parceler:1.1.9'

请参阅网站的 Getting Parceler 部分了解最新信息。

在较新的版本中,您只需更新 Gradle 文件中的以下依赖项:

compile 'org.parceler:parceler-api:1.1.6'
annotationProcessor 'org.parceler:parceler:1.1.6' 

错误是因为注释。它通过在 build.gradle

中实现来工作
annotationProcessor 'org.parceler:parceler:1.1.9'