인프런 - 강의/2 - 누구나 할 수 있는 안드로이드 앱 개발 (Kotlin)

3-4 게시판 - Firebase Database 입력, UI

----___<<<<< 2019. 9. 5. 23:24

자, 이제 로그인이 성공하면 BoardListActivity로 이동시켜줍니다.

 

 

자, 이제 BoardListActivity에 게시판에 쓴 글들을 가져와야 하는데, 일단 

 

boardInputActivity로 이동시켜주는 버튼이랑, 회원 정보를 가져와봅니다.

 

그래서 레이아웃 파일을 한번 만들어주고

 

 

 

넘어갈 때, 유저 UID를 함께 넘겨주겠습니다.

 

auth에 유저 정보를 받아와서 intent.putExtra로 넘겨주고

 

 

boardInputActivity에서 받아와줍니다.

 

 

자 여기까지 boardInputActivity로 회원가입해서 uid를 넘겨주는 과정이었습니다.

 

( Firebase Database로 들어가면, 위의 Cloud Firestore  라는게 있는데 이 것에 대한 설명은 아래에 링크에 있습니다.

구글링 해보니 레퍼런스가 많지 않아서, 기존에 레퍼런스 많은 Realtime database로 진행하겠습니다. )

 

https://firebase.google.com/docs/firestore/rtdb-vs-firestore?hl=ko

 

데이터베이스 선택: Cloud Firestore 또는 실시간 데이터베이스  |  Firebase

Firebase는 실시간 데이터 동기화를 지원하며 클라이언트에서 액세스할 수 있는 2가지 클라우드 기반 데이터베이스 솔루션을 제공합니다. Cloud Firestore는 모바일 앱 개발을 위한 Firebase의 최신 데이터베이스입니다. 실시간 데이터베이스의 성공을 바탕으로 더욱 직관적인 새로운 데이터 모델을 선보입니다. 또한 실시간 데이터베이스보다 풍부하고 빠른 쿼리와 우수한 확장성을 제공합니다. 실시간 데이터베이스는 Firebase의 기존 데이터베이스로서

firebase.google.com

 

Realtiem Database 만들기를 해서

 

 

테스트모드 시작합니다.

 

 

(테스트모드, 잠금모드가 궁금하시면 아래 블로그와 링크로...)

 

https://beomseok95.tistory.com/112

 

Firebase -데이터베이스(1) FirebaseDB종류, Firestore 안드로이드프로젝트 ,Console설정하기

Firebase - 데이터베이스 Firebase 데이터베이스란? Firebase 데이터베이스는 다른 데이터베이스들과는 다른 방식으로 만들어져 있다. 보통 데이터베이스들은 Pull driven 방식의 매커니즘으로 작동됩니다. Pull D..

beomseok95.tistory.com

https://firebase.google.com/docs/firestore/security/get-started?authuser=0

 

Cloud Firestore 보안 규칙 시작하기  |  Firebase

Cloud Firestore 보안 규칙을 사용하면 인프라를 관리하거나 서버 측 인증 및 승인 코드를 작성할 필요 없이 사용자를 위한 앱 개발에만 집중할 수 있습니다. 보안 규칙은 간단하지만 표현력 있는 형식으로 액세스 제어 및 데이터 검증을 제공합니다. 사용자의 데이터를 안전하게 유지하는 사용자 기반 및 역할 기반 액세스 시스템을 구축하려면 Cloud Firestore 보안 규칙과 함께 Firebase 인증을 사용해야 합니다. 참고: 서버 클라이언트 라이

firebase.google.com

 

자, 이제 뭔가가 생겼습니다.

 

이 데이터베이스로 데이터를 던져보는 실습을 해보겠습니다.

 

 

여기 아래에서 시키는대로 한번 해보겠습니다.

 

https://firebase.google.com/docs/database/android/start?hl=ko

 

Android에서 설치 및 설정  |  Firebase 실시간 데이터베이스

Firebase에 앱 연결 아직 추가하지 않았다면 Android 프로젝트에 Firebase를 추가합니다. 프로젝트 수준 build.gradle 파일의 buildscript 및 allprojects 섹션에 Google의 Maven 저장소가 포함되어야 합니다. 앱에 실시간 데이터베이스 추가 앱 수준 build.gradle 파일에 실시간 데이터베이스에 대한 종속 항목을 추가합니다. implementation 'com.google.firebase:firebase

firebase.google.com

자, 일단 아래와 같이 추가해주고

 

 

Firebase Database에 주고 받을 Data model을 만들어줍니다.

 

 

Data model에 맞게 text 입력 폼을 2개로 해줍니다.

 

자, 이제 데이터를 던져봅시다.

 

이렇게 데이터를 던지면

 

uid를 식별자로 데이터를 던질 수 있습니다.

 

myRef.child(uid).setValue(dataInput) 이렇게 하면 데이터 1개가 계속 수정되는데

myRef.child(uid).push().setValue(dataInput) 이렇게 하면 데이터가 계속 쌓입니다.

 

자, 다음에는 데이터를 받아오는 것을 해보겠습니다.

 

아래의 강의에서 상세한 설명을 볼 수 있습니다.

 

https://www.inflearn.com/course/안드로이드-코틀린-커뮤니티앱?inst=604ff83a 

 

[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin) - 인프런 | 강의

예제 수준을 벗어나서 앱의 A-Z까지 한번 만들어봅니다. 강의를 수강하시고 난 이후에는 안드로이드의 대부분의 기능을 혼자 구현하실 수 있으실 겁니다!, 처음부터 끝까지 만들어보는안드로이

www.inflearn.com