수색…


비고

이 섹션은 firebase-database가 무엇인지, 그리고 개발자가 그것을 사용하고자하는 이유에 대한 개요를 제공합니다.

또한 firebase-database 내의 큰 주제를 언급하고 관련 주제와 연결됩니다. firebase-database에 대한 문서가 새롭기 때문에 관련 주제의 초기 버전을 만들어야 할 수도 있습니다.

버전

플랫폼 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

Android 프로젝트에 Firebase 추가하기

다음은 Firebase 프로젝트를 만들고 Android 앱과 연결하는 단계입니다.

앱에 Firebase 추가하기

  1. Firebase 콘솔 에서 Firebase 프로젝트를 생성하고 Create New Project를 클릭 하십시오 .

  2. Android 앱에 Firebase 추가를 클릭하고 설정 단계를 따르십시오.

  3. 메시지가 나타나면 앱의 패키지 이름을 입력하십시오.
    앱이 사용하는 패키지 이름을 입력하는 것이 중요합니다. 이 설정은 Firebase 프로젝트에 앱을 추가 할 때만 설정할 수 있습니다.

  4. 결국 google-services.json 파일을 다운로드하게됩니다. 이 파일은 언제든지 다시 다운로드 할 수 있습니다. (이 파일은 Firebase 콘솔의 프로젝트 설정 아래에 있습니다).

  5. 프로젝트 폴더로 이동하여 앱 폴더 아래에 google-service.json 파일을 붙여 넣습니다.

다음 단계는 SDK를 추가하여 Firebase 라이브러리를 프로젝트에 통합하는 것입니다.

SDK 추가

Firebase 라이브러리를 자신의 프로젝트 중 하나에 통합하려면 Android Studio 프로젝트를 준비하기위한 몇 가지 기본 작업을 수행해야합니다. 앱에 Firebase를 추가 할 때 이미이 작업을 수행했을 수도 있습니다.

  1. 루트 수준 build.gradle 파일에 google-services 플러그인 을 포함하도록 규칙을 추가하십시오.
buildscript {
    // ...
    dependencies {
        // ...
        classpath 'com.google.gms:google-services:3.1.1'
    }
}

그런 다음 모듈 Gradle 파일 (일반적으로 app/build.gradle )에서 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! 를 쓸 것입니다 Hello, Wold! message 노드로, 아래 보이는 것처럼 :

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

설명

FirebaseDatabase database = FirebaseDatabase.getInstance();

위의 코드는 FirebaseDatabase 인스턴스를 추가로 사용할 수 있도록 database 객체에 할당합니다.

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

위의 코드는 myRef 객체를 프로젝트의 부모 (이 예제에서는 "your-project-parent" )의 "message" 하위 요소로 참조합니다. 그래서 그것은 "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. 변수 / 필드의 범위는 public이어야하며, firebase에서 반환되는 DataSnapshot 은이 필드에 액세스 할 수 있습니다. 그렇게하지 않으면 데이터를 가져올 때 DataSnapshot은 콜백으로 모델에 액세스 할 수 없으므로 예외가 발생합니다.
  3. 변수 / 필드의 이름은 데이터 구조의 변수 / 필드와 일치해야합니다.

Firebase에 보내기

사용자 개체 만들기

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

참고 문헌

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

이제 데이터베이스에 대한 참조가 있습니다. databaseReference.child("user") 하여 user 노드를 만듭니다. .push() 를 수행하면 모델에서 "-KdbKcU2ptfYF2xKb5aO", "-KdbQFjs9BDviuqQVHjY" 와 같이 임의로 생성 된 고유 ID 아래에 위치합니다.

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();

            }
        });

특정 키 아래에 데이터를 설정하려면 .push() 대신 .child("yourSpecificKey") 사용하십시오.

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