这是帐户创建活动:正在创建用户,但是除非我将规则更改为读写规则,否则不会更新数据库。
我只希望获得授权的用户数据库。请帮助
class CreateAccountActivity : AppCompatActivity() {
var mAuth: FirebaseAuth? = null
var mDatabase: DatabaseReference? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_create_account)
mAuth = FirebaseAuth.getInstance();
idbuttonsignup.setOnClickListener{
var email = idemail.text.toString().trim()
var password = idpassword.text.toString().trim()
var displayName = iddisplayname.text.toString().trim()
if(!TextUtils.isEmpty(email) || !TextUtils.isEmpty(password) || !TextUtils.isEmpty(displayName)){
createAccount(email,password,displayName)
}else{
Toast.makeText(this,"Please fill out all the fields", Toast.LENGTH_LONG).show()
}
}
}
private fun createAccount(email: String, password: String, displayName: String){
mAuth!!.createUserWithEmailAndPassword(email,password)
.addOnCompleteListener{
task: Task<AuthResult> ->
if(task.isSuccessful){
var currentUserID = mAuth!!.currentUser
var userID = currentUserID!!.uid
Toast.makeText(this,"Task is sucessfull", Toast.LENGTH_LONG).show()
mDatabase = FirebaseDatabase.getInstance().reference.child("Users").child(userID)
var userObject = HashMap<String, String>()
userObject.put("display_name",displayName)
userObject.put("status", "Hello there...")
userObject.put("image", "default")
userObject.put("thumb_image","default")
mDatabase!!.setValue(userObject).addOnCompleteListener{
task: Task<Void> ->
if(task.isSuccessful){
var dashboardIntentOkc = Intent(this, DashboardActivity::class.java)
dashboardIntentOkc.putExtra( "name", displayName)
startActivity(dashboardIntentOkc)
finish()
Toast.makeText(this,"User Created", Toast.LENGTH_LONG).show()
}else{
Toast.makeText(this,"User Not Created", Toast.LENGTH_LONG).show()
}
}
}
}
}
}
请帮助
您是否已在Firebase数据库中定义用于读取和写入操作的规则。如果没有,请检查Firebase官方页面。