Firebase实时数据库写入数据给出“权限被拒绝”

时间:2018-02-22 12:34:25

标签: android firebase firebase-realtime-database

我正在使用firebase数据库处理android。我已经完成了所有正确的设置并为DB注入了值。但我有一个问题:

  

W / RepoOperation:/ demo / -L5xSv3ICHg2BFupI7DG中的setValue失败:DatabaseError:权限被拒绝

我的代码:

package app.com.test;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;

import java.nio.file.Files;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    Button b;
    EditText name;
    DatabaseReference rootRef,demoRef;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        b= findViewById(R.id.button2);
        name= findViewById(R.id.editText);
        //age=findViewById(R.id.editText2);
        rootRef= FirebaseDatabase.getInstance().getReference();
        demoRef=rootRef.child("demo");

        b.setOnClickListener(this);


    }

    @Override
    public void onClick(View view) {

        String n=name.getText().toString();

        //int a = Integer.parseInt(age.getText().toString());


        demoRef.push().setValue(n);
        //demoRef.push().setValue(a);
        Toast.makeText(this, "DB inserted", Toast.LENGTH_LONG).show();

    }
}

1 个答案:

答案 0 :(得分:0)

您的问题是关于firebase写入和阅读权限规则, 因此,对于该解决方案,您需要更新您的firebase规则,例如来自firebase控制台的打击。

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

按照以下步骤更新规则

  • 打开firebase控制台
  • 从“开发”部分
  • 中选择“数据库”选项
  • 然后选择规则标签并更新上述规则

注意:如果您想限制未知用户,则需要使用google,facebook,e.t.c等在您的应用中实施身份验证