繁体   English   中英

DatabaseException:在类上找不到要序列化的属性

[英]DatabaseException: No properties to serialize found on class

我遇到了com.google.firebase.database.DatabaseException: No properties to serialize found on class com.example.journyabode.detailsofUser错误com.google.firebase.database.DatabaseException: No properties to serialize found on class com.example.journyabode.detailsofUser 我曾尝试更改proguard规则,但仍然没有

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)

您应该添加:

 static final long serialUID = 40L;

下:

public class User_Details extends AppCompatActivity  implements Serializable {

尝试一下,请注意您的类扩展实现了Serializable,因为AppCompatActivity实现了接口。

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

因此,它作为接口出现,应该是可序列化的。

我没有公开定义变量。 那是我犯的错误。

Firebase在类 This Link 上找不到可序列化的属性

检查您的detailsOfUser类,它应该实现Serializable并且具有空的构造函数。 当您使用FirebaseDatabase时,用于表示存储数据的类必须是可序列化的,这样可以将对象转换为JSON字符串,反之亦然。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM