Lorem ipsum dolor sit amet, consectetur adipiscing elit. Test link

FirebaseImageStore Class in Android

FirebaseImageStore in Android


public class FirebaseImageStore {

    private StorageReference storageReference;

    public FirebaseImageStore() {
        storageReference = FirebaseStorage.getInstance().getReference();
    }

    public void uploadImage(Uri imageUri, String imageName, final OnImageUploadedListener listener) {
        StorageReference imageRef = storageReference.child(imageName);
        imageRef.putFile(imageUri)
                .addOnSuccessListener(taskSnapshot -> {
                    imageRef.getDownloadUrl().addOnSuccessListener(uri -> {
                        listener.onImageUploaded(uri);
                    });
                })
                .addOnFailureListener(e -> {
                    listener.onImageUploadFailed(e.getMessage());
                });
    }

    public void getImage(String imageName, final OnImageDownloadedListener listener) {
        StorageReference imageRef = storageReference.child(imageName);
        imageRef.getDownloadUrl()
                .addOnSuccessListener(uri -> {
                    listener.onImageDownloaded(uri);
                })
                .addOnFailureListener(e -> {
                    listener.onImageDownloadFailed(e.getMessage());
                });
    }

    public void deleteImage(String imageName, final OnImageDeletedListener listener) {
        StorageReference imageRef = storageReference.child(imageName);
        imageRef.delete()
                .addOnSuccessListener(aVoid -> {
                    listener.onImageDeleted();
                })
                .addOnFailureListener(e -> {
                    listener.onImageDeleteFailed(e.getMessage());
                });
    }

    public void updateImage(Uri imageUri, String imageName, final OnImageUploadedListener listener) {
        deleteImage(imageName, new OnImageDeletedListener() {
            @Override
            public void onImageDeleted() {
                uploadImage(imageUri, imageName, listener);
            }

            @Override
            public void onImageDeleteFailed(String message) {
                listener.onImageUploadFailed(message);
            }
        });
    }

    public interface OnImageUploadedListener {
        void onImageUploaded(Uri downloadUri);

        void onImageUploadFailed(String message);
    }

    public interface OnImageDownloadedListener {
        void onImageDownloaded(Uri downloadUri);

        void onImageDownloadFailed(String message);
    }

    public interface OnImageDeletedListener {
        void onImageDeleted();

        void onImageDeleteFailed(String message);
    }
}

        

  FirebaseImageStore firebaseImageStore = new FirebaseImageStore();
Uri imageUri = Uri.fromFile(new File("path/to/image"));
String imageName = "my_image.jpg";

firebaseImageStore.uploadImage(imageUri, imageName, new FirebaseImageStore.OnImageUploadedListener() {
    @Override
    public void onImageUploaded(Uri downloadUri) {
        // Image uploaded successfully, do something with downloadUri
    }

    @Override
    public void onImageUploadFailed(String message) {
        // Image upload failed, handle error
    }
});

  

Post a Comment