我开始使用Firebase,我在这里遵循了这个简单的firebase教程:https://www.youtube.com/watch?v=B1rlT5KQ0yE。
我创建了一个简单的活动,当您按下“Sunny”按钮时,它显示晴天,将字符串晴朗发送到Firebase数据库,然后将其发送回我的应用程序并填写显示晴天的文本视图。所以这没关系。
但是,当我检查我的firebase数据库时,它没有添加任何内容。
而且,当我在Firebase数据库中写入内容时,它不会实时更改文本视图。
这是我的活动代码。
public class MainActivity extends AppCompatActivity
{
private TextView myTextView;
private Button sunnyButton;
private Button foggyButton;
private Firebase mRef;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
protected void onStart()
{
super.onStart();
myTextView = (TextView) findViewById(R.id.textViewCondition);
sunnyButton = (Button) findViewById(R.id.sunnyButton);
foggyButton = (Button) findViewById(R.id.FoggyButton);
//Firebase
mRef = new Firebase("https://example-e04be.firebaseio.com/weather");
mRef.addValueEventListener(new ValueEventListener()
{
//onDatachange will get fired everytime there is a change in your firebase database. CHANCE IN YOUR DATABASE!!!
@Override
public void onDataChange(DataSnapshot dataSnapshot)
{
String text = dataSnapshot.getValue(String.class);
myTextView.setText(text);
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});
sunnyButton.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
mRef.setValue("sunny");//So "Foggy" string will be sent to our DB. Which will update our DB, then in mRef.addValue...will be called and our textfield will be called. Like a small loop.
}
});
}
答案 0 :(得分:2)
对于使用firebase实时数据库,请留下这个......
{
"rules": {
".read": true,
".write": true
}
}
对于存储,请留下这个......
service firebase.storage {
match /b/project-[your_project_number].appspot.com/o {
match /{allPaths=**} {
allow read, write;
}
}
}
它将定义您可以公开使用它,而不需要在firebase端进行任何验证。