如何将Firebase数据库中的图像保存到Android上的可绘制列表?

时间:2017-05-08 23:14:33

标签: android firebase firebase-realtime-database picasso

我的Android代码存在问题。我在Android上开发游戏。我首先将我的图像存储在资源文件中。但现在我想将它们存储在Firebase上。我的计划是使用Picasso下载它们并将它们添加到Arraylist中。但它没有一个只返回一个可绘制对象的方法。我试图获取BitMap并将其转换为drawable但它没有用。

    flagImages=new ArrayList<Drawable>();
    flagImages.add(getResources().getDrawable(R.drawable.flag1));
    flagImages.add(getResources().getDrawable(R.drawable.flag2));
    flagImages.add(getResources().getDrawable(R.drawable.flag3));

我想更改上面的代码。你有什么想法?我该怎么用?我的主要目标是将图像放入我的ArrayList。

1 个答案:

答案 0 :(得分:2)

第1步:将所有图片上传到Firebase Storage。上传的每张图片都有一个特定的reference,您可以将其保存在名为Firebase Database的节点下的links中。

第2步:在listener节点上附加link并获取图片的所有参考。

Step3 :您将需要此构建依赖项:

compile 'com.firebaseui:firebase-ui-storage:1.2.0'
compile 'com.firebaseui:firebase-ui-database:1.2.0'
compile 'com.github.bumptech.glide:glide:3.7.0'

Step4 :使用Firebase代替StorageReferenceGlide Picasso加载图片。

Glide.with(MainActivity.this)
    .using(new FirebaseImageLoader()) // <== ADD THIS
    .load(storageReference)
    .signature(new StringSignature(localFile.length() + "@" + localFile.lastModified()))
    .into(images.get(i));

第5步:将图片添加到ArrayList