如果我以前已经下载过,如何避免从Firebase下载图像?

时间:2019-10-27 17:47:46

标签: android firebase firebase-realtime-database

我正在尝试存储来自Firebase数据库的图像并将其命名为FirebaseuniqUserID.jpeg。(例如buwkgefuikbuifbkc8gfybfy.jpeg)。用户可以随时更改图像。 为了从Firebase实时数据库获取图像链接,我使用了addListenerForSingleValueEvent。

FirebaseDatabase.getInstance().getReference().child("Users").child(FirebaseuniqUserID).addListenerForSingleValueEvent(new ValueEventListener() {
    @Override
    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
        //here i am downloading image//
        //and named it FirebaseuniqUserID.jpeg
    }

现在的问题是,每次下载图像时都会调用此侦听器。 但是,如果当前用户在firebase中具有最新的用户映像,那么现在我要避免下载,以减少firebase下载的数据。

2 个答案:

答案 0 :(得分:0)

  

如果当前用户在Firebase中具有最新的用户映像,我要避免下载

为解决此问题,我绝对建议您使用图像加载和缓存库。对于Android,我们有Glide

  

Glide是适用于Android的快速有效的开源媒体管理和图像加载框架,它将媒体解码,内存和磁盘缓存以及资源池包装到一个简单易用的界面中。

>

答案 1 :(得分:0)

您可以使用两个不同的选项,第一个是Glide,第二个是可以将图像下载状态保存在本地数据库文件或SharePreferences中。但是图像缓存是最好的解决方案。