2

I'm getting error com.google.firebase.database.DatabaseException: No properties to serialize found on class com.example.journyabode.detailsofUser. I've tried changing proguard rules but still I'm not getting

public class User_Details extends AppCompatActivity {

    EditText F_name,L_Name,Mobile,address;
    Button update;

    private FirebaseAuth mAuth;
    private String user;
    private DatabaseReference myref;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate (savedInstanceState);
        setContentView (R.layout.activity_user_details);

        mAuth  =FirebaseAuth.getInstance ();
        user = mAuth.getCurrentUser ().getUid ();
        myref = FirebaseDatabase.getInstance ().getReference ("Users");


        if(mAuth.getCurrentUser ()== null){
            finish ();
            startActivity (new Intent (this,Login.class));
        }

        F_name = (EditText)findViewById (R.id.F_Name);
        L_Name = (EditText)findViewById (R.id.L_Name);
        Mobile = (EditText)findViewById (R.id.Phone);
        address = (EditText)findViewById (R.id.Address);
        update = (Button)findViewById (R.id.update);

        update.setOnClickListener (new View.OnClickListener () {
            @Override
            public void onClick(View view) {

                String First_Name = F_name.getText ().toString ().trim ();
                String Last_Name = L_Name.getText ().toString ().trim ();
                String phone = Mobile.getText ().toString ().trim ();
                String addres = address.getText ().toString ().trim ();


                if (TextUtils.isEmpty (First_Name)) {
                    Toast.makeText (User_Details.this, "Please Enter First To continue", Toast.LENGTH_SHORT).show ();
                    return;
                }
                if (TextUtils.isEmpty (Last_Name)) {
                    Toast.makeText (User_Details.this, "Plaese Enter Last Name ", Toast.LENGTH_SHORT).show ();
                    return;
                }
                if (TextUtils.isEmpty (phone)) {
                    Toast.makeText (User_Details.this, "Please Enter Phone Number", Toast.LENGTH_SHORT).show ();
                    return;
                }
                if (TextUtils.isEmpty (addres)) {
                    Toast.makeText (User_Details.this, "Please Enter address to continue", Toast.LENGTH_SHORT).show ();
                    return;
                }


                    detailsofUser userDetail = new detailsofUser (First_Name, Last_Name, phone, addres);

                    FirebaseUser user = mAuth.getCurrentUser ();

                    myref.child (user.getUid ()).setValue (userDetail);
                    Intent intent = new Intent (User_Details.this,Homepage.class);
                    startActivity (intent);

                    Toast.makeText (User_Details.this, "Details_Saved", Toast.LENGTH_SHORT).show ();

                }

        });
    }
}

Logcat:

2019-02-23 00:32:45.205 27516-27516/? E/Zygote: isWhitelistProcess - Process is Whitelisted
2019-02-23 00:32:45.205 27516-27516/? E/libpersona: scanKnoxPersonas
2019-02-23 00:32:45.206 27516-27516/? E/libpersona: Couldn't open the File - /data/system/users/0/personalist.xml - No such file or directory
2019-02-23 00:32:53.426 27516-27516/com.example.journyabode E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.journyabode, PID: 27516
    com.google.firebase.database.DatabaseException: No properties to serialize found on class com.example.journyabode.detailsofUser
        at com.google.android.gms.internal.firebase_database.zzku.<init>(Unknown Source:761)
        at com.google.android.gms.internal.firebase_database.zzkt.zza(Unknown Source:12)
        at com.google.android.gms.internal.firebase_database.zzkt.zzi(Unknown Source:249)
        at com.google.android.gms.internal.firebase_database.zzkt.zzh(Unknown Source:0)
        at com.google.firebase.database.DatabaseReference.zza(Unknown Source:10)
        at com.google.firebase.database.DatabaseReference.setValue(Unknown Source:7)
        at com.example.journyabode.User_Details$1.onClick(User_Details.java:81)
        at android.view.View.performClick(View.java:6993)
        at android.widget.TextView.performClick(TextView.java:12752)
        at android.view.View$PerformClick.run(View.java:26509)
        at android.os.Handler.handleCallback(Handler.java:790)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:164)
        at android.app.ActivityThread.main(ActivityThread.java:7025)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:441)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1408)
gudok
  • 4,029
  • 2
  • 20
  • 30

3 Answers3

1

Ive not defined variables to public. That was the mistake ive done.

Firebase No properties to serialize found on class This Link help me.

1

Check your detailsOfUser class, it should implement Serializable and have an empty constructor. When you use FirebaseDatabase the classes you use to represent stored data must be Serializable, this way the object can be turned into a JSON string and vice versa.

ansorod
  • 367
  • 1
  • 5
-1

You should add :

 static final long serialUID = 40L;

under :

public class User_Details extends AppCompatActivity  implements Serializable {

Try it, notice your class extension implements Serializable, because AppCompatActivity implements interface.

public class AppCompatActivity extends FragmentActivity implements AppCompatCallback,TaskStackBuilder.SupportParentable, ActionBarDrawerToggle.DelegateProvider  

So, it comes down as interface, it should be serializable.

surendrapanday
  • 530
  • 3
  • 13