Firebase의 Cloud Firestore는 Google이 제공하는 NoSQL 문서형 데이터베이스 서비스로, Android 앱에 실시간 동기화와 오프라인 지원 기능을 손쉽게 추가할 수 있습니다. 이번 글에서는 Android Studio 프로젝트에 Firestore를 설치하고, 데이터 추가·조회·실시간 리스너 예시까지 단계별로 자세히 살펴보겠습니다.
Firebase이란?
Firebase는 구글에서 제공하는 모바일 앱/웹을 위한 플랫폼이다. Firebase는 인증(authentication), 데이터베이스(firestore, realtime database), 스토리지, 푸시 알림, 호스팅, Function 등 여러 기능을 제공하기 때문에 개발자가 직접 일일이 기능을 개발할 필요가 없다. 백엔드 기능을 클라우드 서비스 형태로 제공하기 때문에 간단한 조작으로 서버리스 애플리케이션 개발이 가능하며, 서버를 구입할 필요도 없다. (일정 용량까지 무료: 가격 정책은 Firebase Pricing 페이지 참고)
덕분에, Firebase 플랫폼을 통해 적은 비용으로 매우 빠르고 편리하게 앱/웹을 만들 수 있다.
Firebase 프로젝트
1.Firebase설정
1-1. Firebase 콘솔에서 프로젝트 생성
- https://console.firebase.google.com 에 접속해 새 프로젝트를 만듭니다.
- ‘Firestore 데이터베이스’ 메뉴로 이동해 프로덕션 모드 또는 테스트 모드로 데이터베이스를 생성하세요.
1-2. 앱 등록 및 google-services.json 다운로드
- ‘프로젝트 설정’ → ‘앱 등록(Android)’ → 패키지 이름 입력 → 앱 등록 → google-services.json 다운로드
- app/ 디렉터리 하위에 google-services.json 파일을 복사합니다.
2. Android 프로젝트 설정
Android Studio 의 새로운 프젝트를 열어
2-1. 프로젝트 레벨 build.gradle
2-1. 앱 모듈 레벨 build.gradle
웹 서버를 구축하는 과정
웹서버는 브라우저가 요청하는 html, css, js 를 전송해주는 서비스 프로그램으로 요청에 따라 정적인 컨텐츠를 전달해서 정적 서버라고 부릅니다. 이런 웹서버가 회원가입, DB 저장 등의 기능을 만들려면 DataBase 서버가 필요한데, 이때 웹서버가 DB 에 접속하기 위한 중간다리 역할로 백엔드 서버가 필요합니다. 파이어베이스는 이 서버와 DB 의 역할을 동시에 수행해줍니다.
클라우드 서비스
인터넷으로 사용자가 필요한 기능을 서비스 형태로 제공받아 이용하는 방식
1/ IaaS (Infrastructure-as-a-service)
사용자에게 가상의 컴퓨팅 환경을 제공, 원격으로 사용할 수 있는 운영체제 없는 컴퓨터 대여
2/ PaaS (Platform-as-a-Service)
특정 운영체제가 설치된 가상의 컴퓨터 대여하고 지속적인 관리를 해줌 (AWS 는 IaaS 와 PaaS 를 아우르는 느낌)
3/ SaaS (Software-as-a-Service)
서비스 제공자가 관리하는 애플리케이션을 제공하는 서비스 (지메일, 구글드라이브, 드롭박스 등)
4/ BaaS (Backend-as-a-Service)
이메일 알림이나 사용자 인증, 소셜 로그인 등 백엔드와 DB 관련 기능을 사용할 수 있는 로직이 내장된 백엔드 특화 서비스 (파이어베이스가 여기에 속함)
firebase 가 제공하는 서비스 종류
- Cloud FireStore - 안드로이드, ios, 웹서비스에서 데이터베이스 관련 코드 없이 데이터베이스 사용
- Firebase ML - 텍스트 인식, 얼굴 인식 등 머신러닝 기능을 모바일 기기에서 사용할 수 있게 하는 SDK (Software Development Kit), 웹 지원 안함
- Cloud Functions - 파이어베이스로 구축한 서버에 사용자가 작성한 코드를 실행하는 기능 제공
- Cloud Storage - 이미지 파일과 같이 데이터 저장 기능 제공
- Hosting - 웹서비스 호스팅
- Authentication - 여러 인증로직을 사용자에게 제공
- RealTime Database - DB 에 데이터가 실시간 반영되고 사용자에게 동기화 됨. 다른 사람이 작성한 글이나 수정한 글을 실시간 확인 가능
'AI > 실습' 카테고리의 다른 글
[AI][Android Studio] Firestore 데이터 관리 방법 (0) | 2025.05.10 |
---|---|
159. [AI] [NLP] Google Gemma-2-9B-IT 모델 분석 및 학습 데이터 총정리 (2) | 2025.02.25 |
158. [AI] [NLP] Gemma 모델 사용 시 transformers를 활용하는 이유 (0) | 2025.02.24 |
127. [Python] [Multiple Linear Regression] : 병원 진료비 예측 (Regression) (1) | 2025.01.28 |
126. [Python] [Multiple Linear Regression] : 이커머스(온라인 쇼핑몰) 상품 일간 판매량 예측 (0) | 2025.01.27 |