我想获取存储在数据库中的数据,而不仅限于在数据发生变化时才访问它。
我从2016年开始看过这篇文章: How to access Firebase data without using addValueEventListener 建议使用addValueEventListener。 我也看过这篇文章: Accessing data in Firebase databse 没有好的答案。
ValueEventListener仅在数据库发生更改时才会触发onDataChange。
如果数据库中没有更改内容,我还能如何访问数据库?
现在我将编写简单无害的更改以访问数据,但我想知道这是否是唯一的方法。 感谢
答案 0 :(得分:1)
当然,这绝对不是真的。您可以随时检索数据。
首先,我建议您阅读this documentation reference。
其次,我向您提供您真正要求的内容。
如果您阅读documentation you will notice that it states the following:
此类中的
onDataChange()
方法在连接侦听器时触发一次,每次数据更改时都会触发,包括子项。
这意味着使用此代码:
databaseReference.removeEventListener(eventListener);
使用该方法,您可以分离任何侦听器,因此它只会侦听一次或在需要时分离它。
有a method for only retrieving data once though。
databaseReference.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Log.d(TAG, "Data retrieved.");
}
...
}
此方法将完全调用onDataChange
一次或onCancelled
。