Firebase загрузка изображений android

Содержание
  1. Русские Блоги
  2. Как загрузить изображения в Firebase из Android приложения к Firebase
  3. Firebase установка
  4. Установка разрешений FireBase
  5. Создание приложения
  6. настраивать MainActivity макет
  7. запускать MainActivity
  8. Загрузка файлов Firebase
  9. Установка разрешений в приложении
  10. Тестовое приложение
  11. в заключение
  12. Используем Firebase в качестве хранилища изображений для Android-приложения
  13. Firebase
  14. Glide
  15. Настройка Firebase
  16. Activity_main.xml
  17. MainActivity.java
  18. Firebase для Android: хранилище файлов
  19. Настройка проверки подлинности
  20. Загрузка файлов вручную
  21. Загрузка файлов из приложения для Android
  22. Загрузка файлов в виде массива байтов
  23. Получение URL-адреса файла
  24. Загрузка из Android приложения
  25. Загрузка массива байтов
  26. Загрузка из InputStream или файла
  27. Управление загрузками и использование обратных вызовов
  28. Обработка жизненного цикла Android Activity
  29. Вывод
  30. Начинаем писать приложение Material Design
  31. Фоновый звук в Android с MediaSessionCompat
  32. Как начать работать с шаблоном приложения для Android

Русские Блоги

Как загрузить изображения в Firebase из Android приложения к Firebase

Firebase является мобильным и веб-приложений платформы разработки, и Firebase Storage обеспечивает безопасность файлов и загрузки приложений Firebase. В этой статье, вы будете строить Android приложение, которое может загружать изображения на Firebase Storage.

Firebase установка

Если вы не имели счета Firebase, вы можетеFirebase домашнюю страницуСоздавать.

После установки учетной записи, перейдитеFireBase консоль , Затем нажмите кнопку «Добавить проектКнопка для добавления нового проекта.

Введите данные проекта, нажмите «Создание проектаКнопка. На следующей странице, нажмите кнопку «Firebase Добавить в свой Android приложение «ссылка.

Введите имя приложения пакета. Мой пакет приложенияcom.tutsplus.code.android.tutsplusupload 。 Обратите внимание, что имя пакета с именем, используя уникальную строку, чтобы идентифицировать вас или вашу компанию. Метод простого поиска открыт MainActivity Документ и скопировать имя пакета из верхней части.

После завершения, нажмитеRegister App 。 На следующей странице вы предоставите вамgoogle-services.jsonБлагодаря вашему компьютеру. Скопируйте файл и вставить в папку приложения приложения. (Путь должен быть похож наTutsplusUpload / app 。)

Установка разрешений FireBase

Чтобы разрешить приложение для хранения FireBase доступа, вам необходимо установить права доступа в консоли Firebase. В консоли выберите «место хранения» , Затем нажмите кнопку «править»

Вставить следующие правила и опубликовать.

Это позволит читать и писать доступ к хранилищу FireBase.

Создание приложения

Откройте Android Studio и создайте новый проект. Вы можете назвать проект по мере необходимости. Я называю меня.TutsplusUpload

Прежде чем продолжить, необходимо добавить несколько зависимостей. На левой боковой панели Android Studio, нажмитеGradle сценарий

ОткрытымПостроить. gradle (Project: TutsplusUpload И добавьте эту строку кода в блок зависимостями.

Далее, откройтеПостроить. gradle (Module:app)Добавить зависимости Firebase в. Они также входят зависимости.

Наконец, в дополнение к блоку зависимости, добавитьGoogle ServicesPlugin.

Сохранить после завершения, он должен синхронизировать.

настраивать MainActivity макет

Приложение будет нужен подвижный макет. Две кнопки необходимы — изображение для выбора изображения из устройства, а другой для загрузки выбранного изображения. После выбора изображения, который вы хотите загрузить, то изображение будет отображаться в макете. Другими словами, изображение не будет установлено от активности от макета.

существовать MainActivity В компоновке, будут использованы две схемы — линейная компоновка вложена в относительной компоновке. Сначала нужно добавить код на свой относительный макете.

RelativeLayout Все пространство обеспечивается оккупационным устройство. LinearLayout Быть RelativeLayout Интерьер и имеет две кнопки. Кнопка должна быть помещена параллельно, так что используется для LinearLayout Направление будет горизонтальным.

Это код линейной компоновки.

Из приведенного выше кода, вы можете увидеть, что обе кнопки назначены идентификатор. ID будет использоваться для размещения кнопки от основной деятельности, чтобы начать взаимодействие при нажатии кнопки. Вы увидите его в ближайшее время.

существовать LinearLayout ,Добавить к ImageView Код.

Вы также можете увидеть ImageView Один id ; Вы будете использовать его для заполнения макета выбранного изображения. Это будет завершено в основных видах деятельности.

запускать MainActivity

Перейдите к MainActivity Тогда начните с поля заявления. Эти поля будут использоваться для инициализации представления (кнопки и ImageView ), И идентификаторы URI для указания, где подобрать изображения. Добавьте к этому onCreate Основные виды выше метода.

PICK_IMAGE_REQUEST Является ли код запроса определяется как переменный экземпляр.

Теперь вы можете инициализировать вид:

В приведенной выше коде, вы Создаетесь Button с участием ImageView Новый экземпляр. Экземпляр указывает на кнопки, созданной в макете.

Читайте также:  Внешний микрофон android 4pda

Вы должны установить слушатель слушать взаимодействия на кнопке. При взаимодействии, вы хотите вызвать метод, который спусковые из библиотеки, чтобы выбрать изображение или триггер, чтобы загрузить выбранное изображение Firebase.

В инициализированном, задайте для слушателя из двух кнопок. Публика выглядит следующим образом.

Это должно быть onCreate() Метод. Как я уже упоминал выше, две кнопки вызова различных способов. выбиратьКнопка вызова chooseImage() ПодходнагрузкаКнопка вызова uploadImage() метод. Давайте добавим эти методы. Оба метода должны onCreate() Реализация вне метода.

Начнем с метода выбора изображения. Это его внешний вид:

Когда этот метод вызывается, будет создан новый. Intent Пример. Намерение типа установлен на изображение, и его действие устанавливается, чтобы получить некоторое содержание. Диалог выбора изображения окно Назначения позволяет пользователю просматривать библиотеку устройства для выбора изображения. startActivityForResult Используется для получения результата, то есть, выбранное изображение. Для отображения этого изображения, вы будете использовать именованный onActivityResult Методы.

onActivityResult Получение кода запроса, полученный код, и данные. В этом методе, вы будете проверять, если код запроса равен PICK_IMAGE_REQUEST , Код результата равен RESULT_OK И имеющиеся данные. Если все эти настройки, то вы хотите ImageView Отображение выбранного изображения.

существовать chooseImage() Метод Ниже, добавьте следующий код.

Загрузка файлов Firebase

Теперь мы можем реализовать способ изображения до Firebase. Во-первых, объявить поля, необходимые для Firebase. Сделайте это ниже других полей, объявленных для курса.

storage Будет использоваться для создания FirebaseStorage Пример storageReference Будет указывать на загруженный файл. В вашей onCreate() В методе, добавьте код для этого — создание FirebaseStorage Примеры и ссылки прибудут магазин. Ссылка может рассматриваться как указатель на файл в облаке.

Это uploadImage() Появление метода.

передача uploadImage() Когда метод, он будет инициализирован ProgressDialog Новый экземпляр. Текст уведомления отображается для пользователя отображает загруженное изображение. Затем, ссылка на изображение загрузки storageReference.child() ДоступimagesЗагрузить файлы в этой папке. Эта папка создается автоматически после того, как изображение будет загружено. Слушатель и тосты сообщение также были добавлены. Отображение этих сообщений в зависимости от состояния загрузки.

Установка разрешений в приложении

И, наконец, вы должны просить разрешения, ваше приложение будет использовать. В противном случае ваш пользователь приложения не сможет просматривать библиотеку устройства и не может подключиться к Интернету через ваше приложение. Это легко — просто вставьте следующееAndroidManifestВы можете в файле. Вставлять его application Этикетка элементов выше.

Это просит использовать Интернет и прочитать разрешения внешнего хранения.

Тестовое приложение

Продолжайте запускать свое приложение сейчас! Вы должны быть в состоянии выбрать изображение и загрузить его на Firebase. Чтобы подтвердить загруженное изображение, вернитесь к консоли и проверьте в магазине.документ»часть.

в заключение

FireBase предоставляет разработчикам много преимуществ, причем сохраненная загрузка файла является одним из них. Загрузить изображения из приложений Android, требуется, чтобы вы использовали «Деятельность и намерение». После этого учебника вы углубили понимание мероприятия и намерения. Я надеюсь тебе это понравится!

Источник

Используем Firebase в качестве хранилища изображений для Android-приложения

В этой статье вы узнаете, как извлечь изображение из хранилища Firebase для Android-приложения.

Firebase

Firebase — это платформа для разработки мобильных и веб-приложений, разработанная компанией Firebase в 2011 году и приобретённая Google в 2014 году. По состоянию на октябрь 2018 года платформа Firebase насчитывает 18 продуктов, которые используются в 1,5 миллионах приложений. Она помогает быстро разрабатывать высококачественные приложения, расширять базу пользователей и зарабатывать больше денег.

Glide

Glide — это библиотека для загрузки изображений в Android-приложениях, разработанная компанией Bump Tech и рекомендованная Google. Она используется во многих проектах Google с открытым исходным кодом, включая официальное приложение Google I/O 2014. Glide поддерживает загрузку, декодирование и отображение изображений, видеоизображений и анимированных GIF-файлов.

Настройка Firebase

Давайте настроим Firebase для нашего Android-проекта.

Нажмите «Начать проект».

Нажмите «Добавить проект».

Дайте своему проекту имя.

Нажмите кнопку «Создать проект» внизу.

Нажмите на значок Android.

  • Вы увидите страницу под названием «Добавить Firebase в своё Android-приложение».

  • Добавьте название пакета вашего Android-приложения.

Добавьте ключ SHA1 и нажмите «Зарегистрировать приложение».

Нажмите кнопку «Скачать google-services.json», чтобы загрузить этот файл.

Читайте также:  Гамблер для андроид преферанс

Затем добавьте google-services.json в папку app вашего проекта.

  • Откройте gradle-файл уровня проекта. Добавьте эту зависимость внутрь блока зависимостей:

Так это должно выглядеть:

  • Откройте gradle-файл уровня приложения. Добавьте зависимости:

Так это должно выглядеть:

  • Теперь добавьте packagingOptions снизу от блока buildTypes:

Так это должно выглядеть:

Теперь нажмите на База данных → Правила. Добавьте следующие строки:

Нажмите на Хранилище → Правила. Добавьте следующие строки:

  • Теперь нажмите на Хранилище → Файлы. Загрузите изображение с помощью кнопки «Загрузить файл».

  • Нажмите на любое загруженное изображение. Затем с правой стороны внизу вы найдете Download URL1. Скопируйте это.

Activity_main.xml

Создайте ImageView, в котором будет отображаться изображение.

MainActivity.java

Поздравляем! Теперь вы можете запустить ваше приложение.

После запуска приложения вы увидите ваше изображение.

Весь код вы можете скачать с нашего репозитория на GitHub.

Источник

Firebase для Android: хранилище файлов

Russian (Pусский) translation by Ilya Nikov (you can also view the original English article)

Во время конференции Google I/O в 2016 году Firebase была вновь представлена сообществу разработчиков в качестве основного инструмента для быстрой поддержки веб-страниц и мобильных приложений. В этом руководстве вы познакомитесь с функциями хранения и извлечения файлов, доступными для ваших приложений Android.

Чтобы узнать больше о базе данных Firebase в реальном времени, аналитике, отчетах о сбоях и аутентификации, ознакомьтесь с некоторыми нашими другими учебниками здесь, в Envato Tuts +.

Настройка проверки подлинности

Для краткости мы пропустим общий процесс настройки Firebase в вашем приложении Android и консоли Firebase. Если вы впервые пытаетесь использовать Firebase в приложении, я предлагаю сначала проверить статью Ashraff Hathibelagal «Начало работы с Firebase для Android».

Прежде чем вы сможете начать использовать Firebase Storage, вам необходимо либо убедиться, что ваш пользователь аутентифицирован, либо изменить правила проверки подлинности в консоли Firebase, чтобы позволить пользователям, не прошедшим проверку подлинности, получить доступ и загрузить файлы. Чтобы все было просто, мы сделаем последнее. Начнем с перехода в раздел Storage, выбрав Storage в левом меню.

Затем вы заметите, что в верхней части экрана Storage находятся две вкладки: Файлы и Правила.

Перейдите на вкладку «Правила», и в строке allow read, write: if request.auth != null; измените != на == и нажмите кнопку ОПУБЛИКОВАТЬ.

Теперь любой пользователь вашего приложения должен иметь возможность скачивать или загружать файлы из вашего Firebase-сервера. Хотя это не идеально подходит для production окружения, это значительно облегчит изучение хранилища Firebase без необходимости разбираться в коде аутентификации.

Загрузка файлов вручную

Хотя возможность загрузки файлов из приложения очень удобная, иногда вы просто хотите хранить файлы где-то, где можно легко получить доступ и скачать их в ваше приложение. Здесь вы можете загружать файлы вручную из Firebase Console. На вкладке «Файлы» вы увидите синюю кнопку «Загрузить файл».

Щелкните ее и выберите файл, который вы хотите загрузить, и он появится в вашем хранилище Firebase.

При выборе этого файла на консоли будет отображаться подробное представление, позволяющее вам проверять файлы, которые ранее были загружены.

Загрузка файлов из приложения для Android

Теперь, когда у вас есть файл, хранящийся в Firebase, давайте скачаем его в приложение. Мы будем использовать простой макет в нашей MainActivity , который содержит ImageView с id изображения.

Чтобы получить доступ к файлам хранилища Firebase, вам нужно сначала получить ссылку на объект FirebaseStorage , а затем создать StorageReference на URL вашего проекта и файл, который вы хотите загрузить. URL вашего проекта можно найти в верхней части раздела «Файлы» Хранилища в Firebase Console.

Затем вы можете создать объект File и попытаться загрузить нужный файл, вызвав getFile у вашего StorageReference с новым объектом File , переданным в качестве параметра. Поскольку эта операция выполняется асинхронно, вы можете добавить OnSuccessListener и OnFailureListener к вашему вызову, чтобы справляться с непредвиденными обстоятельствами.

В onSuccess() из OnSuccessListener вы можете взять объект FileDownloadTask.TaskSnapshot и получить файл, из которого мы установим изображение в наш ImageView .

Загрузка файлов в виде массива байтов

Если вам нужно только загрузить файл в виде byte[] , и он не нужен вам в качестве файла, что является более вероятным случаем при загрузке изображения в ImageView , тогда вы можете получить байты аналогичным образом.

Читайте также:  Android open app from app store

Получение URL-адреса файла

Могут быть ситуации, когда вам не нужны фактические данные для сохраненного файла, но скорее будет нужен URL. Вы можете сделать это аналогично двум последним примерам, используя метод getDownloadUrl() на вашем StorageReference , который даст вам Uri , указывающий на местоположение файла.

Вышеуказанный метод распечатает URL-адрес изображения, которое мы вручную загрузили ранее в Android-мониторе.

Загрузка из Android приложения

Теперь, когда вы знаете, как загружать файлы из Firebase, пришло время поработать над загрузками. Как вы видели при загрузке из Firebase Storage, процессы для каждой формы ваших данных довольно схожи. Загрузка не отличается, поэтому мы просто погрузимся в то, как вы можете перемещать файлы из своего приложения в Firebase Storage.

Загрузка массива байтов

Как и при загрузке, вам нужно будет получить ссылку на объект FirebaseStorage и создать ссылку на место хранения вашего нового файла в качестве StorageReference . В этом примере мы покажем ic_launcher.png в нашем ImageView, а затем загрузим его как массив байтов.

Затем нам нужно будет получить массив байтов из изображения, хранящегося в памяти, через ImageView . Это делается путем извлечения его в виде Bitmap , сжимающего его в ByteArrayOutputStream , а затем превращая его в byte[] .

Наконец, вы можете создать UploadTask , вызвав putBytes(byte[]) , чтобы загрузить изображение в Firebase. В этом UploadTask также могут быть связанные с ним OnSuccessListener и OnFailureListener .

Когда вы проверяете страницу хранилища Firebase Console, вы должны увидеть ic_launcher.png в своем списке файлов.

Загрузка из InputStream или файла

Теперь, когда вы знаете, как загрузить массив байтов, два других типа загрузок должны быть достаточно интуитивно понятными. Допустим, у нас есть текстовый файл с именем test.txt в нашей папке с исходными ресурсами. Мы можем прочитать его в InputStream , а затем загрузить его, используя метод putStream(InputStream) у StorageReference .

Загрузка существующего файла так же делается довольно легко: просто получите ссылку на файл и вызовите putFile(Uri) с URI, указывающим на ваш файл. В этом примере мы просто создадим пустой файл temp в нашем коде.

Управление загрузками и использование обратных вызовов

Пока файлы, которые мы загрузили до сих пор, были небольшими, могут быть случаи, когда у вас будут большие загрузки, которые занимают достаточно много времени. Firebase предоставляет несколько методов с UploadTask , которые позволят вам контролировать поток загрузки и слушать изменения прогресса и состояния. Эти методы включают pause() , resume() и cancel() . pause() и resume() позволят вам приостановить и возобновить UploadTask , тогда как cancel() полностью остановит ее. Кроме того, вы можете использовать OnPauseListener и OnProgressListener , чтобы отслеживать состояния загрузки и состояния паузы.

Вышеприведенный код позволит вам контролировать процесс загрузки для несколько большого (1 МБ, в данном случае) изображения и видеть его состояния, изменяющиеся в логах Android, когда нажаты кнопки паузы и возобновления.

Обработка жизненного цикла Android Activity

Как может подтвердить любой разработчик Android, иногда жизненный цикл Android Activityможет вызвать непредвиденные проблемы. Одним из распространенных источников проблем является прослушивание, которое длится дольше, чем их родительская Activity , что может быть причиной для успешного или неуспешного завершения слушаетелй, связанных с задачей хранения Firebase.

Если Activity уничтожается и воссоздается (например, при вращении экрана) во время выполнения задачи, вы можете получить исключение NullPointerException , когда задача завершится. Чтобы этого избежать, вам нужно сохранить свой StorageReference в виде String в своем исходном Bundle в методе onSaveInstanceState(Bundle) , а затем восстановить его и добавить слушателей успеха в каждую FileDownloadTask или FileUploadTask , связанную с этим StorageReference .

Вывод

В этом уроке вы много узнали о Firebase и его доступных вариантах хранения файлов. Теперь вы можете загружать и скачивать файлы, управлять передачей данных и обрабатывать изменения жизненного цикла вашего приложения во время транзакции.

Хотя мы только лишь поверхностно прошлись по этой теме, понимание этого инструмента, мы надеемся, позволит вам расширить возможности ваших собственных приложений.

А пока ознакомьтесь с некоторыми другими нашими статьями по разработке Android!

Начинаем писать приложение Material Design

Фоновый звук в Android с MediaSessionCompat

Как начать работать с шаблоном приложения для Android

Источник

Оцените статью