AI/실습

172. [AI][Android Studio] Firebase로 시작하는 Android 앱 개발 가이드

천재단미 2025. 3. 11. 22:34
728x90
반응형

 

 

 

 

 

 

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 에 데이터가 실시간 반영되고 사용자에게 동기화 됨. 다른 사람이 작성한 글이나 수정한 글을 실시간 확인 가능

 

 

728x90
반응형
home top bottom
}