使用Firebase无法保存数据

时间:2016-07-08 09:44:00

标签: android firebase firebase-realtime-database

我使用以下代码在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());
                    }
                });

            }
        });

1 个答案:

答案 0 :(得分:5)

您可能在规则标签中有以下规则:

{
  "rules": {
    ".read": "auth != null",
    ".write": "auth != null"
  }
}

此规则表示只有经过身份验证的用户才能执行读写操作。

只需将其更改为:

{
  "rules": {
    ".read": "true",
    ".write": "true"
  }
}

警告:此规则意味着任何人都可以读取和写入您的firebase数据库。

步骤:转到Firebase控制台 - >选择项目 - >从左侧菜单中选择数据库 - >点击规则标签 - >复制那里的规则。