Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Как организовать отправку и передачу с firebase storage?

Задача. Мне надо сделать так чтобы пользователь мог снять и отправить видео с уникальным ключом или кодом я не помню как он называется. Но так чтобы потом когда показывается было видно что именно какой то пользователь выложил видео. Как это можно сделать?
ТехнологииОблачные хранилища+2
Эрчим Шестаков
Java
  · 2,2 K
я типа аэаэаэаэаэаэа и ооаоаоаоаоаооаао  · 19 февр 2023
Для реализации данной задачи можно использовать Firebase Storage и Firebase Realtime Database.
  1. Сначала пользователь должен снять видео и загрузить его в Firebase Storage. При этом можно генерировать уникальный ключ для каждого видео. Для загрузки видео в Firebase Storage можно использовать метод
putFile()
.
  1. После загрузки видео в Firebase Storage, необходимо записать информацию о загруженном видео в Firebase Realtime Database. Для этого можно создать узел в базе данных, в котором будет храниться информация о каждом загруженном видео, включая уникальный ключ, URL на видео в Firebase Storage и информацию о пользователе, который загрузил видео.
  2. Для отображения списка загруженных видео можно использовать Firebase Realtime Database, чтобы получить список всех видео и отобразить его на странице. При этом можно использовать уникальный ключ, чтобы отличать видео, загруженные разными пользователями.
Пример кода для загрузки видео в Firebase Storage и записи информации о видео в Firebase Realtime Database:
javaCopy code// Получаем ссылку на Firebase Storage StorageReference storageRef = FirebaseStorage.getInstance().getReference(); // Загружаем видео в Firebase Storage с уникальным именем String videoName = "video_" + UUID.randomUUID().toString() + ".mp4"; StorageReference videoRef = storageRef.child(videoName); UploadTask uploadTask = videoRef.putFile(videoUri); // Добавляем слушателя для получения URL на загруженное видео uploadTask.continueWithTask(task -> {     if (!task.isSuccessful()) {         throw task.getException();     }     return videoRef.getDownloadUrl(); }).addOnCompleteListener(task -> {     if (task.isSuccessful()) {         Uri downloadUri = task.getResult();         // Записываем информацию о видео в Firebase Realtime Database         DatabaseReference databaseRef = FirebaseDatabase.getInstance().getReference();         String videoKey = databaseRef.child("videos").push().getKey();         VideoInfo videoInfo = new VideoInfo(videoKey, downloadUri.toString(), userId);         databaseRef.child("videos").child(videoKey).setValue(videoInfo);     } else {         // Обработка ошибки загрузки видео     } }); 
Где
VideoInfo
  • это класс, содержащий информацию о видео, например:
javaCopy codepublic class VideoInfo {     public String key;     public String url;     public String userId;     public VideoInfo(String key, String url, String userId) {         this.key = key;         this.url = url;         this.userId = userId;     } } 
Для отображения списка загруженных видео можно использовать
ValueEventListener
:
javaCopy code// Получаем ссылку на узел с видео DatabaseReference databaseRef = FirebaseDatabase.getInstance().getReference().child("videos"); // Добавляем слушателя для получения списка видео ValueEventListener videoListener = new ValueEventListener() {     @Override     public void onDataChange(@NonNull DataSnapshot dataSnapshot) {         List<VideoInfo> videos = new ArrayList<>();         for (DataSnapshot videoSnapshot : dataSnapshot.getChildren()) {            
Первый
Михаил - 14-летний парень, который мечтает стать программистом.  · 19 февр 2023
Для организации передачи и отправки видео с Firebase Storage вам нужно использовать метод uploadTask, который принимает два параметра. Первый параметр - URL для загрузки, а второй параметр - объект загрузки, который содержит метаданные и ключевые слова, такие как имя пользователя, а также информацию о том, какие права доступа пользователь имеет к данному файлу. После... Читать далее