【发布时间】:2015-01-23 23:08:15
【问题描述】:
将常规 java 项目中的模型对象与 Android 共享的最佳方式是什么?我遇到的问题是这些域模型具有 Android 不支持的注释。例如 javax.xml.bind.annotation.XmlElement、XmlAttribute 等。在服务器端,我们有 Jackson 用于序列化和反序列化。因此,在 Android 上使用相同会导致应用程序崩溃(API 级别 16,使用 java.lang.NoClassDefFoundError:javax/xml/bind/annotation/XmlElement,但在 18+ 上工作)我不想在 Android 中复制这些类。有没有人在 Android 中使用带有此类注释的 pojo?
示例类:
public class StoreInfo {
@JsonDeserialize(using = OpearingHoursDeserializer.class)
OpearingHours operatingHours
...
@XmlElement(name = "hoursOfOperation") // Annotation not present in Android
public OperatingHours getOperatingHours() {
return this.operatingHours;
}
}
【问题讨论】:
-
这不能回答所提出的问题,但您可以下载缺少的库并将其添加到您的项目中。如果您使用的是 Android Studio,这可以通过 Maven 轻松完成。
-
是javax注解,Android不支持。我正在使用 Jackson 库,它适用于较新的版本。仅在较旧的 api 级别崩溃。
标签: java android jackson gson dalvik