好的,所以我希望有人可以帮我解决这个问题,因为过去几天我一直在尝试一系列不同的解决方案。在我的活动中,我有一个EditText和一个Button,我正在尝试将该用户输入写入Firebase。我运行应用程序时没有出现任何错误,但是,当我按下按钮时,没有任何反应。
这是我的班级:
private EditText userEmail;
Button sendInviteButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Firebase.setAndroidContext(this);
setContentView(R.layout.activity_user_registration);
userEmail = (EditText) findViewById(R.id.user_email);
sendInviteButton = (Button) findViewById(R.id.sendInviteButton);
}
public void btn(View view) {
sendInviteButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Firebase ref = new Firebase("https://app-1318.firebaseio.com/clients");
String enteredUserEmail = userEmail.getText().toString();
ref.child("userBackgroundCheck").setValue(enteredUserEmail);
}
});
}
我在XML中有一个onClick for the button,所以我真的不知道为什么这些数据没有被发送到Firebase。
最后,我们是否应该为此部分使用Firebase的根URL?:
Firebase ref = new Firebase("https://app-1318.firebaseio.com/clients");
这将是:
Firebase ref = new Firebase("https://app-1318.firebaseio.com");
答案 0 :(得分:2)
您是否尝试在RealTime数据库下添加规则?当您转到实时数据库时,单击“规则”选项卡。添加以下行
// These rules give anyone, even people who are not users of your app,
// read and write access to your database
{
"rules": {
".read": true,
".write": true
}
}
看看它是否有效!
另外,为什么要以旧方式存储数据。以下是用于在实时数据库中保存数据的new doc。
答案 1 :(得分:1)
尝试使用Firebase控制台并编辑数据库规则。 下面是pic样本。