我将使用 ORMLite,因为我发现它非常有用......但是,我发现了一个缺点。
我有一个具有 GregorianCalendar 类型属性的类,其映射如下:
@DatabaseField(dataType = DataType.DATE_STRING)
private GregorianCalendar fechaNacimiento;
当我运行我的应用程序时,它会因 logcat 中的该消息而崩溃:
07-31 20:52:47.629: E/AndroidRuntime(11808): 致命异常: main 07-31 20:52:47.629: E/AndroidRuntime(11808): java.lang.RuntimeException: 无法启动活动 ComponentInfo{com. joninazio.euskofest/com.joninazio.euskofest.ui.MenuPrincipalActivity}:java.lang.IllegalArgumentException:字段类 java.util.GregorianCalendar 字段 FieldType:name=fechaCreacion,class=Usuario 对 com.j256.ormlite 类型无效。 field.types.DateStringType@40dca268,也许应该是类 [B 07-31 20:52:47.629: E/AndroidRuntime(11808): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2308)
OrmLite 似乎不支持 GregorianCalendar ,因为它可以在这里看到:http ://ormlite.com/data_types.shtml ,其中指出 OrmLite 的 DATE 对应于 Java 的 java.util.Date ...
我的问题是为什么要支持已弃用的课程?
你有什么不改变 GregorianCalendar 的解决方案吗?也许将注释更改为
@DatabaseField(dataType = DataType.STRING)
?
先感谢您。