我使用以下代码在firebase上保存数据。但它正在给予权限拒绝错误。这是我的代码。我遵循了firebase给出的所有指示。
buttonSave.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Firebase ref = new Firebase(Config.FIREBASE_URL);
String name = editTextName.getText().toString().trim();
String address = editTextAddress.getText().toString().trim();
Person person = new Person();
person.setName(name);
person.setAddress(address);
ref.child("Person").setValue(person);
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot snapshot) {
for (DataSnapshot postSnapshot : snapshot.getChildren()) {
Person person = postSnapshot.getValue(Person.class);
String string = "Name: " + person.getName() + "\nAddress: " + person.getAddress() + "\n\n";
textViewPersons.setText(string);
}
}
@Override
public void onCancelled(FirebaseError firebaseError) {
Log.e("The read failed: ", firebaseError.getMessage());
}
});
}
});
答案 0 :(得分:5)
您可能在规则标签中有以下规则:
{
"rules": {
".read": "auth != null",
".write": "auth != null"
}
}
此规则表示只有经过身份验证的用户才能执行读写操作。
只需将其更改为:
{
"rules": {
".read": "true",
".write": "true"
}
}
警告:此规则意味着任何人都可以读取和写入您的firebase数据库。
步骤:转到Firebase控制台 - >选择项目 - >从左侧菜单中选择数据库 - >点击规则标签 - >复制那里的规则。