Поиск…


замечания

В этом разделе приведен обзор того, что такое база данных firebase и почему разработчик может захотеть ее использовать.

Следует также упомянуть о любых крупных объектах в базе данных firebase и ссылаться на связанные темы. Поскольку документация для базы данных firebase является новой, вам может потребоваться создать начальные версии этих связанных тем.

Версии

Платформа SDK Версия Дата выхода
Firebase JavaScript SDK 3.7.0 2017-03-01
Firebase C ++ SDK 3.0.0 2107-02-27
Firebase Unity SDK 3.0.0 2107-02-27
Firebase iOS SDK 3.14.0 2017-02-23
Firebase Android SDK 10,2 2017-02-15
Firebase Admin Node.js SDK 4.1.1 2017-02-14
Firebase Admin Java SDK 4.1.2 2017-02-14

Добавить Firebase в свой Android-проект

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

Добавить Firebase в приложение

  1. Создайте проект Firebase в консоли Firebase и нажмите « Создать новый проект» .

  2. Нажмите « Добавить Firebase» в приложение Android и выполните шаги настройки.

  3. При появлении запроса введите имя своего приложения .
    Важно ввести имя пакета, используемое вашим приложением; это можно установить только при добавлении приложения в проект Firebase.

  4. В конце вы загрузите файл google-services.json . Вы можете загрузить этот файл снова в любое время. (этот файл находится в настройках проекта в консоли Firebase).

  5. Switch android studio Посмотреть проект и вставить файл google-service.json в папке приложения

Следующим шагом является добавление SDK для интеграции библиотек Firebase в проект.

Добавить SDK

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

  1. Добавьте правила в файл build.gradle уровне build.gradle , чтобы включить плагин google-services :
buildscript {
    // ...
    dependencies {
        // ...
        classpath 'com.google.gms:google-services:3.1.1'
    }
}

Затем в своем модуле Gradle (обычно это app/build.gradle ) добавьте строку плагина apply в нижней части файла, чтобы включить плагин Gradle:

apply plugin: 'com.android.application'

android {
  // ...
}

dependencies {
  // ...
  compile 'com.google.firebase:firebase-core:9.4.0'//THIS IS FOR ANALYTICS
  compile "com.google.firebase:firebase-database:11.0.2" 
}

// BELOW STATEMENT MUST BE WRITTEN IN BOTTOM
apply plugin: 'com.google.gms.google-services'

Заметки:

  • Данные не могут быть прочитаны / записаны без проверки подлинности. Если вы хотите его без проверки подлинности. Изменить правила в консоли базы данных firebase.

    {"rules": {".read": true, ".write": true}}

  • Добавить разрешение в Интернете в манифесте

  • Обновление сервисов Google Play и репозитория Google

Написание простого значения в базе данных

Сначала выполните установку и настройку, чтобы подключить ваше приложение к Firebase. Затем из любого места вашего класса вы можете написать:

// Write a message to the database
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("message");

myRef.setValue("Hello, World!");

Он напишет Hello, Wold! в узел message , как показано ниже:

"your-project-parent" : {
    "message" : "Hello, World!"
}

объяснение

FirebaseDatabase database = FirebaseDatabase.getInstance();

Над кодом будет назначаться экземпляр FirebaseDatabase в объект database для дальнейшего использования.

DatabaseReference myRef = database.getReference("message");

myRef код будет ссылаться на объект myRef на "message" дочернего элемента родителя вашего проекта (в этом примере это "your-project-parent" ). Таким образом, это "your-project-parent/message"

myRef.setValue("Hello, World!");

Над кодом будет установлен "Hello, World!" в путь, на который ссылается myRef

Автоматическая привязка настраиваемой модели к структуре данных

После того, как вы установили несколько данных в базу данных и получили структуру, состоящую из нескольких узлов, подобных этому;

"user" : {
    "-KdbKcU2ptfYF2xKb5aO" : {
      "firstName" : "Arthur",
      "lastName" : "Schopenhauer",
      "userName" : "AphorismMan",
      "phone" : "+9022-02-1778",
      "gender": "M",
      "age" : 25
    },
    "-KdbQFjs9BDviuqQVHjY" : {
      "firstName" : "Werner",
      "lastName" : "Heisenberg",
      "userName" : "whereAmI",
      "phone" : "+9005-12-1901",
      "gender": "M",
      "age" : 75
    }
  }

вы можете классифицировать структуры данных.

Создание класса

Создайте класс модели для установки в базу данных.

@IgnoreExtraProperties
public class User {
    public String firstName;
    public String lastName;
    public String userName;
    public String phone;
    public String gender;
    public int age;

    public User() {
    }

    public User(String firstName, String lastName, String userName, String phone, String gender, int age) {
        this.firstName = firstName;
        this.lastName = lastName;
        this.userName = userName;
        this.phone = phone;
        this.gender = gender;
        this.age = age;
    }
}

Некоторые вещи, которые следует помнить при создании класса модели, который вы хотите сопоставить с вашими данными:

  1. У вас должен быть пустой конструктор
  2. Объем переменных / полей должен быть общедоступным, так что DataSnapshot, возвращающийся из firebase, может обращаться к этим полям. Если вы этого не сделаете, когда вы хотите получить данные, DataSnapshot не сможет получить доступ к вашей модели в обратном вызове, и это вызовет исключение.
  3. Имена переменных / полей должны совпадать с именами в вашей структуре данных.

Отправка в Firebase

Создать объект пользователя

User user = new User ( "Arthur","Schopenhauer","AphorismMan","+9022-02-1778","M",25)

и ссылки

DatabaseReference databaseReference = FirebaseDatabase.getInstance().getReference();

Теперь у вас есть ссылка на вашу базу данных. Создайте user узел с databaseReference.child("user") . Если вы сделаете .push() ваши модели найдут под случайно созданными уникальными идентификаторами, как указано выше, "-KdbKcU2ptfYF2xKb5aO", "-KdbQFjs9BDviuqQVHjY" .

databaseReference.child("user").push().setValue(user, new DatabaseReference.CompletionListener() {
            @Override
            public void onComplete(DatabaseError databaseError, DatabaseReference databaseReference) {
                Toast.makeText(getActivity(), "User added.", Toast.LENGTH_SHORT).show();

            }
        });

Если вы хотите установить свои данные под своим конкретным ключом, сделайте это с .child("yourSpecificKey") вместо .push() .

databaseReference.child("user").child("yourSpecificKey").setValue(user,...



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow