如何仅从Relatime Firebase数据库获取更新的对象? [英] How to fetch only updated object from Relatime Firebase Database?
问题描述
我是Firebase实时数据库的新手,不知道如何仅从表中获取最近更新的对象.
I am new to Firebase Real-time Database and don't have an idea that how to fetch only the recent updated object from the table.
我尝试使用"ChildEventListener",但是当我第一次初始化Listener时,它会从数据库中获取最后一行. 如果未更新,则不应获取它. 我仅在更新或新添加对象时才需要它. 我已经做到了,
I have tried using "ChildEventListener" but when I initialize the Listener for the first time it fetches the last row from the database. It should not be fetched if it was not updated. I want object only when it is updated or newly added. I have done this,
databaseReference.child("last_chat").orderByChild("s_id").equalTo(preference.getUserData().getId()).limitToLast(1).addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
Log.e("dataSnapShot", dataSnapshot.toString() + " " + s);
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
Log.e("dataSnapShotChagned", dataSnapshot.toString() + " " + s);
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
Log.e("dataSnapShotRemoved", dataSnapshot.toString());
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onCancelled(DatabaseError databaseError) {
Log.e("onCalcnelle", databaseError.toString());
}
});
谢谢.
推荐答案
我已经解决了这个问题.
I have solved the issue.
我只需要将代码放入OnChildChanged
内,而不是将代码放入OnChildAdded
.
I just need to put my code inside the OnChildChanged
instead of putting my code in OnChildAdded
.
首次运行应用程序时显示dataSnapShot
日志,而一旦我更改或更新对象dataSnapShotChagned
则显示.
Log dataSnapShot
shown when first running the application, whereas as soon as I change or update object dataSnapShotChagned
is shown.
因此对我有用,每次在初始化侦听器时都会调用OnChildAdded
方法,其中仅当特定对象发生更改时才调用OnChildChanged
方法.
Thus it worked for me, OnChildAdded
method is called every time while initializing the listener where OnChildChanged
method is called only when there is a change in a particular object.
非常感谢您的帮助.
这篇关于如何仅从Relatime Firebase数据库获取更新的对象?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!