当数据发生更改时,如何从我的firebase存储中获取数据?安卓系统



我目前正在对我的项目进行一些测试。在我的firebase存储中,我有一个大约4MB的数据库。作为测试,当我按下一个按钮时,我会将这个数据库拉到手机上。问题是,当我按下按钮时,数据正在被重写。这是浪费互联网套餐。我想,当我按下按钮时,如果数据发生了变化,应该再次下载。如果它没有改变,就不要再把它放下。

你觉得这个话题怎么样?

谢谢你,最好的。

我认为有两种方法可以做到这一点。一种方法是将这些信息放在Firebase数据库中。

有了数据库,你可以如此快速地获得信息,你总是可以把你的所有数据放在上面

我的意思是,当您第一次将图像上传到Firebase Storage时,您可以添加一个changeTimestamp字段,该字段具有添加图像时的时间戳。

只要Firebase存储发生更改,您就可以更新该字段。然后,您就可以根据changeTimestamp值的最近性来了解存储中是否发生了更改。

另一种方法是为Firebase使用云功能,它可以真正解决大多数需要服务器的问题,而不需要服务器。

看看这里:云函数。

您应该使用这个监听器

ref.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String prevChildKey) {}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String prevChildKey) {
Post changedPost = dataSnapshot.getValue(Post.class);
System.out.println("The updated post title is: " + changedPost.title);
// write yout code
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String prevChildKey) {}
@Override
public void onCancelled(DatabaseError databaseError) {}
}); 

参考链路

最新更新