我的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。
答案 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
代替StorageReference
从Glide
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
。