반응형
Notice
Recent Posts
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- firebase-storage
- Galaxy Watch
- git-push
- Java8
- BottomSheetDialog
- Firebase
- Flavors
- 오즈뷰어
- hung-up
- cloud-firestore
- AWS
- OZViewer
- ozd
- mosquitto
- mqtt
- socket-server
- NoSuchMethodError
- socket.io
- 워치
- ActivityResult-API
- Kotlin
- gradle
- google-login
- TIZEN
- git
- Android
- firebase-database
- JNI
- socket-client
- Dva
Archives
- Today
- Total
Hyeyeon blog
[Android] Firebase Database - Cloud Firestore 연동하기 본문
반응형
1. Cloud Firestore 보안 규칙 설정
* 특정 조건 없이 저장/조회가 가능하도록 설정하려면 아래와같이 규칙을 수정합니다.
2. Android 프로젝트 설정
2-1. build.gradle(Project)
buildscript {
repositories {
google()
}
dependencies {
classpath 'com.google.gms:google-services:4.3.8'
}
}
allprojects {
repositories {
google()
}
}
2-2. build.gradle(Module)
plugins {
id 'com.android.application'
id 'com.google.gms.google-services'
}
dependencies {
implementation platform('com.google.firebase:firebase-bom:27.1.0')
implementation 'com.google.firebase:firebase-firestore'
}
3. Cloud Firestore 데이터 저장
3-1. 저장하려는 데이터를 필드명과 값에 맞춰 Map에 넣습니다.
3-2. collection에 Map을 추가하여 Cloud Firestore에 저장합니다.
* 콘솔에 collection과 document를 생성하지 않아도 입력한 값으로 데이터가 저장됩니다.
private void saveData() {
FirebaseFirestore db = FirebaseFirestore.getInstance();
Map<String, Object> user = new HashMap<>();
user.put("name", "john");
user.put("age", 22);
db.collection("member")
.add(user)
.addOnSuccessListener(new OnSuccessListener() {
@Override
public void onSuccess(DocumentReference documentReference) {
// 저장된 데이터의 ID를 획득할 수 있습니다.
Log.d(TAG, "DocumentSnapshot added with ID: " + documentReference.getId());
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.w(TAG, "Error adding document", e);
}
});
}
4. Cloud Firestore 데이터 조회
private void readData(){
FirebaseFirestore db = FirebaseFirestore.getInstance();
db.collection("member")
.where("name", "john")
.get()
.addOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete(@NonNull Task task) {
if (task.isSuccessful()) {
for (QueryDocumentSnapshot document : task.getResult()) {
Map<String, Object> data = document.getData();
String name = data.get("name");
...
}
} else {
Log.w(TAG, "Error getting documents.", task.getException());
}
}
});
}
5. 콘솔에서 데이터 확인하기
* 저장한 값에 맞춰 collection, document, field가 저장된 것을 확인할 수 있습니다.
참고
728x90
'개발 > Android' 카테고리의 다른 글
[Android] Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8 해결 방법 (0) | 2021.12.07 |
---|---|
[Android] Progress Dialog 만들기 (2) | 2021.08.25 |
[Android] Firebase Google Login 연동하기 (0) | 2021.05.12 |
[Android] 갤러리 사진을 Firebase-Storage에 업로드하기 (0) | 2021.05.07 |
[Android] 파일 다운로드 시, progressBar percent가 마이너스로 나오는 경우 (0) | 2021.03.18 |
Comments