Google cloud and android

Содержание
  1. Cloud Firestore + Android это просто
  2. Возможности
  3. Создание и подключение к проекту
  4. Структура хранения данных
  5. Получение и запись данных
  6. Подписываемся на изменения
  7. Загрузка большого количества данных
  8. Заключение
  9. Создание проекта в Google Cloud Console
  10. Создание проекта
  11. Консоль
  12. gcloud
  13. Настройка оплаты
  14. Включение API
  15. Консоль
  16. Cloud SDK
  17. Просмотр включенных API
  18. Консоль
  19. gcloud
  20. Управление оплатой
  21. Настройка бюджетов и оповещений об их превышении
  22. Консоль
  23. gcloud
  24. Удаление проекта
  25. Консоль
  26. gcloud
  27. Что дальше
  28. Automate Building Android APKs 📱 with Google Cloud Build CI/CD 🔧 and a Gradle Docker Image ☁️
  29. Безопасный и простой доступ к контенту
  30. Ваш контент защищен, конфиденциален и не используется для персонализации рекламы
  31. Облачные приложения для эффективной совместной работы
  32. Интеграция с инструментами и приложениями, с которыми уже работает ваша команда
  33. Быстрое решение задач благодаря технологиям поиска и искусственного интеллекта от Google

Cloud Firestore + Android это просто

Не так давно Google зарелизил Cloud Firestore. Cloud Firestore — это облачная NoSQL база данных, которую Google позиционирует как замену Realtime Database. В этой статье я хочу рассказать как начать ей пользоваться.

Возможности

Cloud Firestore позволяет хранить данные на удаленном сервере, легко получать к ним доступ и следить за изменениями в режиме реального времени. В документации есть отличное сравнение Cloud Firestore и Realtime Database.

Создание и подключение к проекту

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

Для настройки проекта проделываем следующие шаги:

  1. Добавить Firebase к проекту по инструкции от сюда
  2. Добавить зависимость в app/build.gradle
    implementation ‘com.google.firebase:firebase-firestore:18.1.0’

Теперь все готово.

Для ознакомления с базовыми приемами работы с Cloud Firestore я написал простенькое приложение. Для его работы необходимо создать проект в консоли Firebase и добавить файлик google-services.json в проект в Android Studio.

Структура хранения данных

В Firestore для хранения данных используются коллекции и документы. Документ — это запись, которая содержит какие-либо поля. Документы объединяются в коллекции. Также документ может содержать вложенные коллекции, но на андроиде это не поддерживается. Если проводить аналогию с SQL-базой, то коллекция — это таблица, а документ — это запись в этой таблице. Одна коллекция может содержать документы с разным набором полей.

Получение и запись данных

Для того чтобы получить все документы какой-либо коллекции достаточно следующего кода

Здесь мы запрашиваем все документы из коллекции Tasks.

Библиотека позволяет формировать запросы с параметрами. Следующий код показывает как получить документы из коллекции по условию

Здесь мы запрашиваем все документы из коллекции Tasks, у которых поле title соответсвует значению Task1.

При получении документов, их можно сразу конвертировать в наши data-классы

Для записи необходимо сформировать Hashmap с данными (где в качестве ключа выступает название поля, а в качестве значения — значение этого поля) и передать библиотеке. Следующий код это демонстрирует

В данном примере будет создан новый документ и Firestore сгенерирует ему id. Чтобы задать собственный id необходимо сделать следующее

В этом случае если нет документа с id равном New task, то он будет создан, а если есть, то указанные поля будут обновлены.

Еще один вариант создания/обновления документа

Подписываемся на изменения

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

querySnapshot.documents — содержит обновленный список всех документов
querySnapshot.documentChanges — содержит список изменений. Каждый объект содержит измененный документ и тип изменения. Возможны 3 типа изменений
ADDED — документ добавлен,
MODIFIED — документ изменен,
REMOVED — документ удален

Загрузка большого количества данных

Realtime Database предоставляет более менее удобный механизм загрузки большого количества данных, который заключается в ручном редактировании json-файла и его загрузки. Firestore из коробки ничего такого не предоставляет. Было очень неудобно добавлять новые документы, пока я не нашел способ как можно легко загрузить большой объем информации. Чтобы у вас не было таких проблем как у меня, ниже приложу инструкцию как быстро и легко загрузить большой объем данных. Инструкция была найдена на просторах интернета.

  1. Установить Node.js и npm
  2. Установить пакет firebase-admin выполнив команду
    npm install firebase-admin —save
  3. Сформировать json-файл с данными коллекции. Пример можно посмотреть в файле Tasks.json
  4. Для загрузки нам понадобиться ключ доступа. Как его получить хорошо описано в этой статье
  5. В файле export.js проставить свои данные
    require(‘./firestore_key.json’) — файл с ключом доступа. У меня лежал в папке со скриптом
    — название вашей firestore-базы
    «./json/Tasks.json» — путь до файла в котором лежат данные
    [‘created’] — список имен полей с типом Timestamp
  6. Выполнить скрипт
    node export.js
    В скрипте используются наработки dalenguyen
Читайте также:  Андроид цвет панели как поменять верхней

Заключение

Cloud Firestore я использовал в одном из своих проектов и не испытал никаких серьезных проблем. Одна из моих коллекций содержит около 15000 документов и запросы по ней проходят довольно быстро и это без использования индексов. Используя Cloud Firestore совместно с Room и Remote Config можно существенно сократить количество обращений к базе и не выходить за бесплатные лимиты. На бесплатном тарифе в день можно прочитать 50000 документов, записать 20000 и 20000 удалить.

Источник

Создание проекта в Google Cloud Console

В этом руководстве показано, как создать проект Google Cloud, чтобы начать использовать API, доступные на платформе Google Карт. Часть этих инструкций также приводится на странице Начало работы с платформой Google Карт, но мы рекомендуем прочитать эту статью целиком, поскольку она поможет вам в управлении проектами.

Создание проекта

Чтобы управлять сервисами, учетными данными, оплатой, а также использовать API и SDK на платформе Google Карт, необходимо создать проект.

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

Чтобы создать проект Google Cloud с включенной оплатой, выполните следующие действия:

Консоль

Создайте проект Google Cloud в Cloud Console.

Заполните обязательные поля на странице Создание проекта.

Название проекта. Используйте название по умолчанию или введите собственное.

Вы можете изменить название проекта в любой момент. Подробная информация приведена в разделе об идентификации проектов.

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

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

Платежный аккаунт. Выберите платежный аккаунт для проекта. Если у вас только один платежный аккаунт или его нет вообще, этот пункт не будет отображаться на странице.

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

Местоположение. Если вы хотите привязать к проекту организацию, нажмите Обзор. Вы также можете выбрать вариант «Без организации».

Нажмите Создать.

gcloud

Прочитайте статьи о Google Cloud SDK, установке Cloud SDK и следующих командах:

Настройка оплаты

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

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

Читайте также:  Инстаграм невозможно обновить ленту андроид сегодня

Чтобы включить оплату для проекта Google Cloud, выполните следующие шаги:

В Cloud Console перейдите на страницу «Оплата».

Выберите или создайте проект Google Cloud.

Информация, которую вы увидите на странице «Оплата», зависит от того, есть ли у вас платежный аккаунт и связан ли он с выбранным проектом Google Cloud:

Если для выбранного проекта Google Cloud уже включена оплата, на странице отображаются сведения о платежном аккаунте.

Если у вас нет платежного аккаунта, вам будет предложено создать его и связать с проектом.

Если у вас есть платежный аккаунт, но он не связан с проектом, вам будет предложено включить оплату. Вы также можете нажать Отмена, а затем – Создать аккаунт, чтобы создать новый платежный аккаунт и связать с проектом его.

Учтите, что ограничений на сумму оплаты нет. Чтобы контролировать расходы, укажите бюджет и настройте оповещения о его превышении. Подробнее о настройке оплаты…

Включение API

Для работы с платформой Google Карт вам потребуется включить API и SDK, которые будут использоваться в проекте.

Консоль

Cloud SDK

Прочитайте статьи о Google Cloud SDK, установке Cloud SDK и следующих командах:

Просмотр включенных API

Консоль

Чтобы посмотреть список включенных API и SDK, перейдите на страницу «Платформа Google Карт» в Cloud Console.

Перейти на страницу «Платформа Google Карт»

  • Дополнительные API – это API и SDK, которые можно включить.
  • Если вы видите карточки для API и сервисов Google Карт, это значит, что API и SDK не были включены.

gcloud

Прочитайте статьи о Google Cloud SDK, установке Cloud SDK и следующих командах:

Управление оплатой

Выберите проект в Cloud Console.

В разделе «Оплата» можно выполнить следующие действия:

  • посмотреть сведения о платежном аккаунте, перевести средства и добавить администраторов аккаунта на странице Обзор (чтобы в вашей команде всегда был специалист с нужными полномочиями, создайте сразу несколько владельцев проекта и администраторов платежного аккаунта);
  • указать бюджет и настроить оповещения на странице Бюджеты и оповещения;
  • просмотреть историю транзакций и скачать счета на странице Транзакции;
  • скачать данные об оплате на странице Экспорт отчета о платежах;
  • настроить платежный аккаунт и указать контактную информацию на странице Настройки платежей;
  • указать способ оплаты на странице Способ оплаты.

Настройка бюджетов и оповещений об их превышении

Вы можете указать бюджет, включить оповещения и отслеживать все платежи, связанные с проектами Google Cloud, чтобы избежать непредвиденных расходов. Оповещения будут отправляться администраторам ваших платежных аккаунтов по электронной почте в случае превышения указанной суммы.

Консоль

Чтобы настроить бюджет и оповещения о его превышении для проекта Google Cloud, выполните следующие действия:

В Cloud Console перейдите на страницу «Оплата».

Перейти на страницу «Оплата»

  • Перейдите в раздел Бюджеты и оповещения и нажмите Настроить бюджет.
  • Укажите нужные параметры в разделе Задать бюджет и установите пороговое значение, при превышении которого должны отправляться оповещения по электронной почте, в разделе Настроить оповещения.
  • Нажмите Готово, чтобы выбранные параметры вступили в силу. Если у вас несколько проектов, эти действия нужно выполнить для каждого из них.
  • gcloud

    Включите нужный API, чтобы задать бюджет для оплаты.

    Укажите бюджет, чтобы получать оповещение, когда фактические расходы достигнут 50 % от этой суммы и когда прогнозируемые расходы достигнут 75 % от нее.

    Прочитайте статьи о Google Cloud SDK, установке Cloud SDK и следующих командах:

    Удаление проекта

    Чтобы отключить оплату и ресурсы, используемые для проекта Google Cloud, необходимо удалить проект. Для этого выполните следующие действия:

    Консоль

    Перейдите на страницу «Проекты».

    Выберите проект Google Cloud, который вы хотите закрыть, и нажмите Удалить.

    Подробная информация об управлении проектами Google Cloud доступна на странице Cloud Resource Manager: создание, удаление и восстановление проектов.

    gcloud

    Прочитайте статьи о Google Cloud SDK, установке Cloud SDK и следующих командах:

    Читайте также:  Экономная батарея для андроид

    Что дальше

    После настройки проекта Google Cloud необходимо создать и защитить ключ API, чтобы начать использовать Maps SDK для Android.

    Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

    Источник

    Automate Building Android APKs 📱 with Google Cloud Build CI/CD 🔧 and a Gradle Docker Image ☁️

    Google Cloud Build(GCB) is a service that executes your builds on Google Cloud Platform infrastructure. Cloud Build can import source code from Google Cloud Storage, Cloud Source Repositories, GitHub, or Bitbucket, execute a build to your specifications, and produce artifacts.

    You can write a build config to provide instructions to Cloud Build on what tasks to perform and can either use the build step/builders provided by Cloud Build , Cloud Build community or write your own custom build steps/builders.

    You can also manually start builds in Cloud Build using the gcloud command-line tool or the Cloud Build API, or use Cloud Build’s trigger feature to create an automated continuous integration/continuous delivery (CI/CD) workflow that starts new builds in response to code changes on your code repository.

    In this tutorial, you would setup a Cloud Build trigger that builds your android application and uploads it to a Cloud Storage Bucket.
    The builds of new APK bundle would also be automatically triggered once code is pushed code to your code repository.

    As at the time of this writing, GCB Builders supports Gradle 4.6 as it’s latest Gradle Cloud Builder which is not compatible with the Android project. However, I created an updated Gradle Docker Image which we will use to perform gradle builds for our Android project.

    Источник

    Безопасный и простой доступ к контенту

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

    Ваш контент защищен, конфиденциален и не используется для персонализации рекламы

    При предоставлении доступа к файлам на Диске используется шифрование и обеспечивается высокий уровень безопасности. Сервис проверяет передаваемые вам файлы и удаляет те из них, в которых обнаружены вредоносное ПО, спам, программы-вымогатели или фишинг. Диск – это облачный сервис, а значит он позволяет не хранить файлы локально и снижает риски для ваших устройств.

    Облачные приложения для эффективной совместной работы

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

    Интеграция с инструментами и приложениями, с которыми уже работает ваша команда

    Диск совместим с технологиями, которыми пользуется ваша команда, и дополняет их. Для совместной работы над файлами Microsoft Office не требуется преобразовывать их в другие форматы. Вы можете редактировать и хранить файлы более чем 100 других типов, включая PDF, файлы для CAD и т. д.

    Быстрое решение задач благодаря технологиям поиска и искусственного интеллекта от Google

    Специальные средства, реализованные в Google Диске, обеспечивают непревзойденную скорость, эффективность и надежность поиска. А различные функции, например вкладка «Важные», используют технологии искусственного интеллекта, чтобы определять, что именно вас интересует, и показывать вам наиболее подходящие результаты. Благодаря этому вы будете тратить на поиск нужных материалов на 50 % меньше времени.

    Источник

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