Cloud FireStore 설정

JuYong-Kim·2022년 11월 24일
0
post-thumbnail

시작

Firestore는 구글에서 서비스 중인 문서(document) 기반 NoSQL 데이터베이스로 서버 개발없이 편하게 안드로이드 프로젝트에 적용할 수 있기 때문에 많이 사용한다.

각각의 문서는 키-값 형식 필드를 묶은 것으로 JSON 형식으로 표현할 수 있으며, 이러한 문서를 묶은 것이 컬렉션이다. 또한 컬렉션 → 문서 → 컬렉션 → 문서와 같은 구조를 계속해서 이어나갈 수 있는 계층 구조이다.

물론 데이터베이스 구조가 복잡해지면 확장성, 비용 면에서 유리하지 않으나 우리가 개발할 것은 토이 프로젝트이기 때문에 채택했다.

프로젝트 생성

https://firebase.google.com/?hl=ko

먼저 위 사이트에 들어가 로그인 후 프로젝트 추가로 프로젝트를 생성한다. 그후, Cloud FireStore 탭에 들어가 데이터 베이스를 생성해주고 프로젝트에 앱 추가를 해주면 된다.
앱과 연동하는 과정은 아래와 같이 구글에서 제공하는 서비스답게 공식 문서로 안내가 잘 되어있다.

Gradle 설정

그럼에도 이 글을 굳이 작성하는 이유는 해당 문서에서 안내해주는 Firbase SDK 추가 과정에서 gradle 설정 방법이 현재는 되지 않아 헤맸기 때문이다. 안드로이드 스튜디오 버전이 업데이트 되면서 gradle 버전도 자동으로 올라갔지만 문서 최신화가 이루어지지 않았다.

핵심적인 내용은 루트 수준(프로젝트 수준) Gradle 파일 build.gradle(Project:)classpath가 사라졌기 때문에 아래 방법으로 종속항목을 추가해주어야 한다는 것이다.

plugins {
    id 'com.android.application' version '7.3.0' apply false
    id 'com.android.library' version '7.3.0' apply false
    id 'org.jetbrains.kotlin.android' version '1.7.10' apply false
    
    id 'com.google.gms.google-services' version '4.3.14' apply false
}

테스트

여기까지 다 했다면 Cloud FireStore를 앱에서 접근할 수 있다. 버튼을 하나 만들어서 객체를 데이터베이스에 저장하도록 테스트 코드를 작성해보았다.

val test = Person("홍길동", 20)
button = findViewById(R.id.test_button)
button.setOnClickListener {
	db.collection("person").document(test.name).set(test)
}

profile
Hello World!

0개의 댓글