今日の私は新しい(グーグル)Firebaseに移動しようとしました。新しいfirebaseへの変換 - 列挙型
だけでなく、APIは異なっているが、また、データがデータベースに格納されている方法が異なっています。例えば 、数字(ダブル)それは、もともと古いFirebaseによってこのようデータベースに書き込まれたときに「7.5」(文字列として識別される)正しく解析されていないとしてデータベースに保存されました。手動
は今、私は新しい問題に臨むなどダブルスのためのデータベース(7.5「7.5」)、ブール値(trueに「真」)を書き換える必要がありました。致命的な例外:メイン プロセス:com.aayaffe.sailingracecoursemanager、PID:21845 java.lang.RuntimeException:活動ComponentInfo {COMを開始することができません私は、データベースに列挙型を作成しようとエラーが発生します。 aayaffe.sailingracecoursemanager/com.aayaffe.sailingracecoursemanager.map.GoogleMapsActivity}:com.google.firebase.database.DatabaseException:クラスcom.aayaffe.sailingracecoursemanager.communication.ObjectTypesで見つけられる直列化するプロパティがありません。 android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2658) android.app.ActivityThread.handleLaunchActivity(ActivityThread.j AVA:2723)android.os.Handler.dispatchMessageでandroid.app.ActivityThread $ H.handleMessage(ActivityThread.java:1422) (ハンドラでandroid.app.ActivityThread.access $ 900(ActivityThread.java:172) で .java:102) とandroid.os.Looper.loop(Looper.java:145) とandroid.app.ActivityThread.main(ActivityThread.java:5832) at java.lang.reflect.Method.invoke(ネイティブメソッド) (java.lang.reflect.Mava.372) at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1399) at com.andr oid.internal.os.ZygoteInit.main(ZygoteInit.java:1194) によって発生しました:com.google.firebase.database.DatabaseException:com.aayaffe.sailingracecoursraceanity.comMunication.ObjectTypesクラスにシリアル化するプロパティがありません at com。 com.google.android.gms.internal.zzaix.zzawでgoogle.android.gms.internal.zzaix $ zza。(不明なソース)com.google.android.gms.internal.zzaix.zzjで (不明なソース) (不明な情報源) com.google.android.gms.internal.zzaix.zzaD(不明な情報源) com.google.android.gms.internal.zzaix $ zza.zzaE(不明な情報源) でcom.google。 android.gms.internal.zzaix.zzaw(不明な情報源)com.google.firebase.database.DatabaseReference.setValueでcom.google.firebase.database.DatabaseReference.zza(不明なソース) でcom.google.android.gms.internal.zzaix.zzav(不明なソース) で(不明なソース)com.aayaffeでcom.aayaffe.sailingracecoursemanager.map.GoogleMapsActivity $ 5.run(GoogleMapsActivity.java:284) でcom.aayaffe.sailingracecoursemanager.communication.Firebase.writeBoatObject(Firebase.java:135) で 。 sailingracecoursemanager.map.GoogleMapsActivity.onStart(GoogleMapsActivity.java:407)android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1234)で でandroid.app.ActivityThreadでandroid.app.Activity.performStart(Activity.java:6258) 。android.app.ActivityThread $ HでperformLaunchActivity android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2723)で(ActivityThread.java:2621) android.app.ActivityThread.access $ 900(ActivityThread.java:172)で .handleMessage(ActivityThread.java:1422) (andler.os.Handler.dispatchMessage(Handler.java:102)) (android.os.Looper.loop(Looper.java:145) 、android.app.ActivityThread.main (ActivityThread.java:5832) at java.lang.reflect.Method.invoke(ネイティブメソッド) at java.lang.reflect.Method.invoke(Method.java:372)com.android.internal.os.ZygoteInit.mainでcom.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1399) で(ZygoteInit.java:1194)
のアイデア?
--EDITED--
コード:Firebase 9.0.0と
public enum ObjectTypes {
Gate,
Other
}
FirebaseDatabase.getInstance().getReferenceFromUrl(c.getString(R.string.firebase_base_url)).child("test").setValue(ObjectTypes.Gate);
数字の保存方法については何も変更していません。しかし、途中でバグが導入されていることは間違いありません。この問題を再現できる最小のコードを共有できますか? –
@FrankvanPuffelenは質問に最小のコード例を追加しました – CaptainNemo
ありがとうございました。私はそれを調べます。しかし、多少の質問で圧倒されているので、おそらく時間がかかるでしょう。 –