Android 转换为新的firebase-枚举

Android 转换为新的firebase-枚举,android,enums,firebase,firebase-realtime-database,Android,Enums,Firebase,Firebase Realtime Database,今天我试着搬到新的(谷歌)Firebase 不仅API不同,而且数据库中存储数据的方式也不同。 例如,当旧Firebase最初以这种方式将数据写入数据库时,数据库中保存为“7.5”的数字(双精度)未正确解析(标识为字符串)。不得不手动重写数据库中的双精度(“7.5”到7.5)、布尔值(“真”到真)等 现在我遇到一个新问题。尝试将枚举写入数据库时出错: 致命异常:主 进程:com.aayaffe.sailingracoursemanager,PID:21845 java.lang.RuntimeE

今天我试着搬到新的(谷歌)Firebase

不仅API不同,而且数据库中存储数据的方式也不同。 例如,当旧Firebase最初以这种方式将数据写入数据库时,数据库中保存为“7.5”的数字(双精度)未正确解析(标识为字符串)。不得不手动重写数据库中的双精度(“7.5”到7.5)、布尔值(“真”到真)等

现在我遇到一个新问题。尝试将枚举写入数据库时出错:

致命异常:主 进程:com.aayaffe.sailingracoursemanager,PID:21845 java.lang.RuntimeException:无法启动活动组件信息{com.aayaffe.sailingracoursemanager/com.aayaffe.sailingracoursemanager.map.GoogleMapsActivity}:com.google.firebase.database.DatabaseException:在类com.aayaffe.sailingracoursemanager.communication.ObjectTypes上找不到要序列化的属性 在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2658)上 位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2723) 在android.app.ActivityThread.access$900(ActivityThread.java:172) 在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1422) 位于android.os.Handler.dispatchMessage(Handler.java:102) 位于android.os.Looper.loop(Looper.java:145) 位于android.app.ActivityThread.main(ActivityThread.java:5832) 位于java.lang.reflect.Method.invoke(本机方法) 位于java.lang.reflect.Method.invoke(Method.java:372) 在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)上 位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194) 原因:com.google.firebase.database.DatabaseException:在类com.aayaffe.sailingracecoursemanager.communication.ObjectTypes上找不到要序列化的属性 在com.google.android.gms.internal.zzaix$zza(未知来源) 位于com.google.android.gms.internal.zzaix.zzj(未知来源) 位于com.google.android.gms.internal.zzaix.zzaw(未知来源) 位于com.google.android.gms.internal.zzaix.zzaD(未知来源) 在com.google.android.gms.internal.zzaix$zza.zzaE(未知来源) 位于com.google.android.gms.internal.zzaix.zzaw(未知来源) 在com.google.android.gms.internal.zzaix.zzav(未知来源) 位于com.google.firebase.database.DatabaseReference.zza(未知来源) 位于com.google.firebase.database.DatabaseReference.setValue(未知源) 在com.aayaffe.sailingracoursemanager.communication.Firebase.writebatobject(Firebase.java:135)上 位于com.aayaffe.sailingracoursemanager.map.GoogleMapsActivity$5.run(GoogleMapsActivity.java:284) 位于com.aayaffe.sailingracoursemanager.map.GoogleMapsActivity.onStart(GoogleMapsActivity.java:407) 位于android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1234) 位于android.app.Activity.performStart(Activity.java:6258) 在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2621)上 位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2723) 在android.app.ActivityThread.access$900(ActivityThread.java:172)
public enum ObjectTypes {
  Gate,
  Other
}     
FirebaseDatabase.getInstance().getReferenceFromUrl(c.getString(R.string.firebase_base_url)).child("test").setValue(ObjectTypes.Gate);