0
我的firebase數據庫結構是如何通過傳遞URL來在幻燈片中顯示多個圖像?
USERS/user_name/image/1:「url_1」,2:「url_2」,3:「url_3」,用戶最多可以上傳8張圖片。
我成功存儲了圖片和該網址。但是現在我想以幻燈片放映的形式加載回來。
如何實現進一步的步驟以及如果用戶長時間按下應該從Firebase存儲和數據庫中刪除的特定圖像,還有一個問題。
請幫助...
我的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/)。希望會幫助你。 –