【发布时间】:2018-02-13 10:42:57
【问题描述】:
当这行代码对应用程序产生错误时,应用程序无法将任何数据插入数据库。
ref.child(uid).orderByChild("username").equalTo(validateName).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if(dataSnapshot.exists()){
Toast.makeText(Register.this, "Username Taken. Please try another one", LENGTH_SHORT).show();
return;
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
此外,uid 是从电子邮件身份验证部分收集电子邮件的代码。
private FirebaseAuth auth = FirebaseAuth.getInstance();
private FirebaseUser ur = auth.getCurrentUser();
db = FirebaseDatabase.getInstance();
ref = db.getReference();
if (ur != null){
uid = ur.getEmail();
}
来自 logcat 的错误
FATAL EXCEPTION: main
Process: com.example.rex.ota30, PID: 30205
com.google.firebase.database.DatabaseException: Invalid Firebase Database path: rexyou0831@gmail.com. Firebase Database paths must not contain '.', '#', '$', '[', or ']'
at com.google.android.gms.internal.zzbqh.zzjm(Unknown Source)
at com.google.android.gms.internal.zzbqh.zzjn(Unknown Source)
at com.google.firebase.database.DatabaseReference.child(Unknown Source)
at com.example.rex.ota30.Register$4.onComplete(Register.java:203)
at com.google.android.gms.tasks.zzc$1.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6077)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)
【问题讨论】:
标签: android firebase firebase-realtime-database firebase-authentication