0

我的firebase数据库结构是如何通过传递URL来在幻灯片中显示多个图像?

USERS/user_name/image/1:“url_1”,2:“url_2”,3:“url_3”,用户最多可以上传8张图片。

我成功存储了图片和该网址。但是现在我想以幻灯片放映的形式加载回来。

如何实现进一步的步骤以及如果用户长时间按下应该从Firebase存储和数据库中删除的特定图像,还有一个问题。

请帮助...

回答

0

显示这些网址,请使用如下代码:

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(); 

此行代码会删除您的第一个网址。

+0

但是,我怎样才能给出质量幻灯片放映的效果 –

+0

这是一个很好的[教程](http://androidopentutorials.com/android-image-slideshow-using-viewpager/)。希望会帮助你。 –

相关问题