android - 失败:DatabaseError:Permission denied Firebase 正在创建用户但数据库未更新
问题描述
这是帐户创建活动:这里正在创建用户,但除非我将规则更改为读写规则,否则数据库不会更新。
我只想要授权的用户数据库。请帮忙
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 官方页面。
推荐阅读
- javascript - 使用 javascript 的异步问题
- java - 根据设备功能自定义线程的最佳方法是什么
- reactjs - 测试 Redux Enzyme:状态改变后组件不会重新渲染
- python - 如何在 Azure Databricks 中循环访问 Azure Datalake Store 文件
- r - 未格式化的 Excel 数据导入?
- eclipse-plugin - 如何向 TraceCompass RCP 添加插件?
- c# - 使用“WaveletStudio”在波形文件上应用小波
- vba - 如果在该行中找不到字符“,”或 Chr(44),则删除整行。对所有行重复
- applescript - 在应用程序中使用 applescript 选择 webview
- c++ - c++ 在另一个源文件中的一个源文件中使用向量定义