错误“java.lang.StackOverflowError:"当尝试在 Firebase 数据库中保存对象时 [英] error "java.lang.StackOverflowError:" when try to save object in Firebase Database
问题描述
我是 Firebase 的新手.我试图将我的应用程序中列出的用户的属性保存到数据库 Firebase
中,这是代码
I am new to the firebase.
I tried to save the properties of the users listed in my application into the database Firebase
, this is code
mAuthListener = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
firebaseuser = firebaseAuth.getCurrentUser();
if (firebaseuser != null) {
finish();
firebaseuser = mAuth.getCurrentUser();
String nama = firebaseuser.getDisplayName();
String mail = firebaseuser.getEmail();
//String pass = password.getText().toString();
String id = firebaseuser.getUid();
//Uri gambar = firebaseuser.getPhotoUrl();
member1 = new Member(nama, mail, "", "belum", "belum", "belum", id);
datab.getReference("member").push().setValue(member1);
startActivity(new Intent(getApplicationContext(), HalamanUtama.class));
}
}
};
这里的问题是,当我使用 Google 登录进入我的应用程序时,我无法将使用 google 登录我的应用程序的用户的信息保存到我的 firebase 数据库中,但我可以保存用户的登录信息使用电子邮件方法.这是使用电子邮件进入我的应用程序的代码
the problem here is when I get into my application using the Google sign in, I can not save the information of the user who signed in to my application with google to my firebase database, but I can save the user's login information using email method. This is the code to get into my application using email
mAuth.createUserWithEmailAndPassword(email.getText().toString(), password.getText().toString())
.addOnCompleteListener(HalamanPendaftaran.this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (task.isSuccessful()) {
progressdialog.dismiss();
finish();
firebaseuser = mAuth.getCurrentUser();
String nama = firebaseuser.getDisplayName();
String mail = firebaseuser.getEmail();
String pass = password.getText().toString();
String id = firebaseuser.getUid();
Uri gambar = firebaseuser.getPhotoUrl();
member1 = new Member(nama, mail, pass, "belum", "belum", "belum", id, gambar);
datab.getReference("member").push().setValue(member1);
startActivity(new Intent(HalamanPendaftaran.this, HalamanUtama.class));
} else {
progressdialog.dismiss();
Toast.makeText(HalamanPendaftaran.this, "tidak dapat mendaftarkan user, tolong coba lagi !", Toast.LENGTH_SHORT).show();
email.setText("");
password.setText("");
}
}
});
至于我在尝试存储使用谷歌登录的用户数据时遇到的错误
As for the error I get when trying to store user data that sign in using google
01-10 18:42:00.619 8218-8218/com.example.asus.fastapp E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.asus.fastapp, PID: 8218
java.lang.StackOverflowError: stack size 8MB
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.google.android.gms.internal.zzbqi$zza.zzaF(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzax(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzaE(Unknown Source)
at com.google.android.gms.internal.zzbqi$zza.zzaF(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzax(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzaE(Unknown Source)
at com.google.android.gms.internal.zzbqi$zza.zzaF(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzax(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzaE(Unknown Source)
at com.google.android.gms.internal.zzbqi$zza.zzaF(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzax(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzaE(Unknown Source)
at com.google.android.gms.internal.zzbqi$zza.zzaF(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzax(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzaE(Unknown Source)
at com.google.android.gms.internal.zzbqi$zza.zzaF(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzax(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzaE(Unknown Source)
at com.google.android.gms.internal.zzbqi$zza.zzaF(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzax(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzaE(Unknown Source)
at com.google.android.gms.internal.zzbqi$zza.zzaF(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzax(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzaE(Unknown Source)
at com.google.android.gms.internal.zzbqi$zza.zzaF(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzax(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzaE(Unknown Source)
at com.google.android.gms.internal.zzbqi$zza.zzaF(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzax(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzaE(Unknown Source)
at com.google.android.gms.internal.zzbqi$zza.zzaF(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzax(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzaE(Unknown Source)
at com.google.android.gms.internal.zzbqi$zza.zzaF(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzax(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzaE(Unknown Source)
at com.google.android.gms.internal.zzbqi$zza.zzaF(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzax(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzaE(Unknown Source)
at com.google.android.gms.internal.zzbqi$zza.zzaF(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzax(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzaE(Unknown Source)
at com.google.android.gms.internal.zzbqi$zza.zzaF(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzax(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzaE(Unknown Source)
at com.google.android.gms.internal.zzbqi$zza.zzaF(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzax(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzaE(Unknown Source)
at com.google.android.gms.internal.zzbqi$zza.zzaF(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzax(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzaE(Unknown Source)
at com.google.android.gms.internal.zzbqi$zza.zzaF(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzax(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzaE(Unknown Source)
at com.google.android.gms.internal.zzbqi$zza.zzaF(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzax(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzaE(Unknown Source)
at com.google.android.gms.internal.zzbqi$zza.zzaF(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzax(Unknown Source)
at com.google.android.gms.internal.zzbqi.zzaE
这是成功保存的用户的数据之一Firebase 数据库数据
This is one of the data of the user who successfully saved Firebase Database data
任何帮助将不胜感激
推荐答案
您的 Member
类包含 Uri
类型的字段.Uri
不是 Firebase 序列化的本机类型之一.
Your Member
class contains a field of type Uri
. Uri
is not one of the native types that Firebase serializes.
更改您的 Member
类以将 Uri 存储为字符串并使用 Uri.toString() 和 Uri.parse() 进行转换.
Change your Member
class to store the Uri as a String and use Uri.toString() and Uri.parse() to convert.
这篇关于错误“java.lang.StackOverflowError:"当尝试在 Firebase 数据库中保存对象时的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!