我想知道当Firebase database
节点中的孩子发生变化时是否有一些回调或可以触发方法的东西。
比如这个“Users”节点,每个用户都保存了他自己的UID所有数据。我正在寻找一种在profilePic更改时触发的方法。
我已经尝试过了addChildEventListener,addValueEventListener但都没有奏效。
这是示例
refToUsers.getReference(Params.USERS).child(currentUser.getUid()).child(Params.PROFILEPIC).addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
Glide.with(getApplication()).load(s).apply(new RequestOptions()
.placeholder(R.mipmap.ic_launcher))
.into(cvNavUserProfile);
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
另一种方法
refToUsers.getReference(Params.USERS).child(currentUser.getUid()).child(Params.PROFILEPIC).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Log.d(TAG,"DataSnapshot: " + dataSnapshot.toString());
String profilePic = null;
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
profilePic更改时不会触发这些方法。有什么办法可以解决吗?像回调或监听器,这将触发每一次的profilePic是update/change?
此外,该方法仅在用户处于特定活动时才有效?即使用户不在方法的活动中,它也能被触发吗?
幕布斯7119047
ITMISS
qq_笑_17
相关分类