如何通过传递URL来在幻灯片中显示多个图像?
问题描述:
我的firebase数据库结构是如何通过传递URL来在幻灯片中显示多个图像?
USERS/user_name/image/1:“url_1”,2:“url_2”,3:“url_3”,用户最多可以上传8张图片。
我成功存储了图片和该网址。但是现在我想以幻灯片放映的形式加载回来。
如何实现进一步的步骤以及如果用户长时间按下应该从Firebase存储和数据库中删除的特定图像,还有一个问题。
请帮助...
答
显示这些网址,请使用如下代码:
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference urlsRef = rootRef.child("USERS").child("user_name").child("image");
ValueEventListener eventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot ds : dataSnapshot.getChildren()) {
String url = ds.getValue(String.class);
Log.d("TAG", url);
}
}
@Override
public void onCancelled(DatabaseError databaseError) {}
};
urlsRef.addListenerForSingleValueEvent(eventListener);
你的输出将是:
url_1
url_2
url_3
//and so on
因此,有网址,你需要创建一个ListView和一个适配器。而已。
作为回答第二个问题,使用View.OnLongClickListener
在coresponding ImageView
和删除特定的图像,请使用如下代码:
StorageReference storageRef = storage.getReference();
// Create a reference to the file to delete
StorageReference imageRef = storageRef.child("images/imageName.jpg");
// Delete the file
desertRef.delete().addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
// File deleted successfully
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception exception) {
// Uh-oh, an error occurred!
}
});
而且不要忘了也删除的网址来自Firebase数据库的图像如下:
rootRef.child("USERS").child("user_name").child("image").child("1").removeValue();
此行代码会删除您的第一个网址。
但是,我怎样才能给出质量幻灯片放映的效果 –
这是一个很好的[教程](http://androidopentutorials.com/android-image-slideshow-using-viewpager/)。希望会帮助你。 –