Я начал работу с Firebase, и я следил за этой простой учебной базой: https://www.youtube.com/watch?v=B1rlT5KQ0yE.Как обновить базу данных 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.
}
});
}
Возможно, имеется разрешение на использование базы данных firebase. Вы изменили его. Если нет, вы можете предпочесть это [http://stackoverflow.com/a/38199481/5610686](http://stackoverflow.com/a/38199481/5610686). Смотрите здесь только часть разрешений. –
@DevQualwebs Мне нужно изменить его, чтобы делать изменения в реальном времени и сохранять в базе данных. Я прочитал ответ в представленной вами ссылке, но я не уверен, что мне нужно изменить в разделе «Правила» на моей панели управления firebase? – TheQ
Да, нам нужно изменить правила базы данных firebase, если мы не выполняем никакой проверки подлинности firebase. Вы также должны увидеть это [https://firebase.google.com/docs/database/security/](https://firebase.google.com/docs/database/security/). для учебной цели вы можете установить его для публики, что показано в предыдущей ссылке. –