Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将Firebase DB中的图像保存到Android上的可绘制列表中?_Android_Firebase_Firebase Realtime Database_Picasso - Fatal编程技术网

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

如何将Firebase DB中的图像保存到Android上的可绘制列表中?,android,firebase,firebase-realtime-database,picasso,Android,Firebase,Firebase Realtime Database,Picasso,我的Android代码有问题。我正在Android上开发一个游戏。我首先将图像存储在资源文件中。但现在我想把它们储存在Firebase上。我的计划是使用毕加索下载它们并将它们添加到Arraylist中。但是它没有一个只返回可绘制对象的方法。我试图获取位图并将其转换为可绘制位图,但没有成功 flagImages=new ArrayList<Drawable>(); flagImages.add(getResources().getDrawable(R.drawable.

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

    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));
flagImages=newArrayList();
add(getResources().getDrawable(R.drawable.flag1));
add(getResources().getDrawable(R.drawable.flag2));
add(getResources().getDrawable(R.drawable.flag3));

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

步骤1:将所有图像上载到
Firebase存储中。上传的每个图像都有一个特定的
参考
,您可以将其保存在
Firebase数据库
中名为
链接
的节点下

步骤2:在
链接
节点上附加一个
侦听器
,获取图像的所有参考

步骤3:您将需要此生成依赖项:

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:使用
Glide
而不是
Picasso
Firebase
StorageReference
加载图像

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

.使用(new FirebaseImageLoader())//将图像上载到firebase存储中,然后将url保存在firebase中,此外,我建议先使用glide,然后使用picasso,特别是内存性能。但是如何下载数据?我应该使用位图吗?因此glide和picasso不会输出可绘制对象此链接用于所有Firebase列出可绘制资源中的数据和图像