这是我登录活动中的代码
我不断收到Operator == cannot be applied to Database reference 和 String,我做错了什么。我试图让用户根据他们的 type="1","2","3" 进行不同的活动。但是,不断遇到这个以粗体突出显示的问题。有人可以帮我解决它。
我是一个完全的新手,无论是 firebase 还是 kotlin。
private fun performLogin() {
val email = email_edittext_login.text.toString()
val password = password_edittext_login.text.toString()
val uid = FirebaseAuth.getInstance().uid
if (email.isEmpty() || password.isEmpty()) {
Toast.makeText(this, "Please enter your email/password", Toast.LENGTH_LONG).show()
return
}
Log.d("LoginActivity", "Attempt login with email/pw: $email/xxx")
FirebaseAuth.getInstance().signInWithEmailAndPassword(email, password)
.addOnCompleteListener {
if (!it.isSuccessful) return@addOnCompleteListener
Log.d("Login", "User successfully logged in: ${it.result!!.user!!.uid} $email")
if(ref.child("users").child("type") == "1"){
val intent = Intent(this, DashBoardActivity::class.java)
intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TASK.or(Intent.FLAG_ACTIVITY_NEW_TASK)
startActivity(intent)
}else if(ref.child("users").child("type") == "2"){
val intent = Intent(this, DashBoardActivity::class.java)
intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TASK.or(Intent.FLAG_ACTIVITY_NEW_TASK)
startActivity(intent)
}else if(ref.child("users").child("type") == "3"){
val intent = Intent(this, DashBoardActivity::class.java)
intent.flags = Intent.FLAG_ACTIVITY_CLEAR_TASK.or(Intent.FLAG_ACTIVITY_NEW_TASK)
startActivity(intent)
}
}
这是我的注册活动代码和我的用户类以及保存到 firebase 数据库中的数据
private fun saveToFirebaseDatabase(){
val uid = FirebaseAuth.getInstance().uid ?: ""
val ref = FirebaseDatabase.getInstance().getReference("/users/$uid")
val user = User(uid,
Fname_edittext_register.text.toString(),
Lname_edittext_register.text.toString(),
mobile_edittext_register.text.toString(),
dob_edittext_register.text.toString(),
email_edittext_register.text.toString(),
type = "1"
)
ref.setValue(user)
.addOnSuccessListener {
Log.d("Register","user information saved into firebase database")
val intent = Intent(this, DashBoardActivity::class.java)
intent.flags=Intent.FLAG_ACTIVITY_CLEAR_TASK.or(Intent.FLAG_ACTIVITY_NEW_TASK)
startActivity(intent)
}
.addOnFailureListener(){
Log.d("Tag", "failed to set value to database: ${it.message}")
}
}
`
class User(val uid: String,
val Firstname:String,
val Lastname:String,
val Mobile:String,
val Dateofbirth:String,
val email:String,
val type: String
){
constructor() : this("", "", "","","","", "")
}`