0

Github Repository

Error image Shown as above:

E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.expensemanager, PID: 10677
    java.lang.RuntimeException: Could not deserialize object. Class com.example.expensemanager.ExpenseModel does not define a no-argument constructor. If you are using ProGuard, make sure these constructors are not stripped
        at com.google.firebase.firestore.util.CustomClassMapper.deserializeError(com.google.firebase:firebase-firestore@@21.4.0:563)
        at com.google.firebase.firestore.util.CustomClassMapper.access$200(com.google.firebase:firebase-firestore@@21.4.0:54)
        at com.google.firebase.firestore.util.CustomClassMapper$BeanMapper.deserialize(com.google.firebase:firebase-firestore@@21.4.0:749)
        at com.google.firebase.firestore.util.CustomClassMapper$BeanMapper.deserialize(com.google.firebase:firebase-firestore@@21.4.0:741)
        at com.google.firebase.firestore.util.CustomClassMapper.convertBean(com.google.firebase:firebase-firestore@@21.4.0:542)
        at com.google.firebase.firestore.util.CustomClassMapper.deserializeToClass(com.google.firebase:firebase-firestore@@21.4.0:253)
        at com.google.firebase.firestore.util.CustomClassMapper.convertToCustomClass(com.google.firebase:firebase-firestore@@21.4.0:100)
        at com.google.firebase.firestore.DocumentSnapshot.toObject(com.google.firebase:firebase-firestore@@21.4.0:210)
        at com.google.firebase.firestore.QueryDocumentSnapshot.toObject(com.google.firebase:firebase-firestore@@21.4.0:116)
        at com.google.firebase.firestore.DocumentSnapshot.toObject(com.google.firebase:firebase-firestore@@21.4.0:188)
        at com.google.firebase.firestore.QueryDocumentSnapshot.toObject(com.google.firebase:firebase-firestore@@21.4.0:97)
        **at com.example.expensemanager.MainActivity$5.onSuccess(MainActivity.java:107)
        at com.example.expensemanager.MainActivity$5.onSuccess(MainActivity.java:101)**
        at com.google.android.gms.tasks.zzn.run(Unknown Source:4)
        at android.os.Handler.handleCallback(Handler.java:938)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:223)
        at android.app.ActivityThread.main(ActivityThread.java:7656)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)

As Above showing error in 107,101 line :

All other require code available to diagnose the code are in git repository in given link. when i comment out getData() app cant crash data sent to firebase database properly, issue occur when retriving data from database (just to note im using firebase Anonymous authentication).

its an Expense manager with firebase database

  1. Anonymous login (Work Fine) 2.Add Expense,Incomes (Work fine) 3.Get data from Database (Crash App) error as shown above whole repository link provided

1 Answers1

0

answer is in your stacktrace: ExpenseModel does not define a no-argument constructor - just add no-args constructor to your model

public class ExpenseModel {

    // data declarations

    public ExpenseModel() {
        // optionally super call if class extending another
        // and some initial dummy setup if needed...
    }

edit: checked your github - just add

public ExpenseModel() {}

above

public ExpenseModel(String expenseId) {

in ExpenseModel class

snachmsm
  • 17,866
  • 3
  • 32
  • 74