우선, 기본적으로 firebase에서 Cloude Firestore를 사용하기 위한 안드로이드 스튜디오의 환경설정
을 해야한다. 그 과정은 firebase의 공식문서에서 확인할 수 있으므로, 참고하길 바란다.
Firebase 공식 문서 : https://firebase.google.com/docs/android/setup
위의 문서를 참고하여 설정을 완료하였다면, firebase에서 사용할 데이터들을 DTO class로 만들어야 한다.
이 작업을 통해 만들어진 class의 attribute들은 각 데이터들의 id가 되므로, 신중하게 작성하길 바란다.
public class userDTO {
private String id;
private String password;
// 생성자
public userDTO(){}
public userDTO(String id, String password) {
this.id = id;
this.password = password;
}
// 접근자 함수
// Set함수
public void setId(String id){ this.id = id; }
public void setPassword(String password) { this.password = password; }
// Get함수
public String getId() { return this.id; }
public String getPassword() { return this.password; }
}
FirebaseFirestore firestore = FirebaseFirestore.getInstance(); //필수로 작성
// set()부분에는 선언한 DTO class를 삽입
firestore.collection("collection name").document("document").set(넣고자하는 데이터)
.addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
// 데이터 삽입 성공 시, do something..
}
});
// user collection에 있는 document들을 가져온다.
firestore.collection("User").get()
.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
if (task.isSuccessful()) {
String test = "";
// getId() : document 이름, getData() : document에 들어있는 data들
for (QueryDocumentSnapshot document : task.getResult()) {
test += document.getId() + " : " + document.getData() + "\n";
}
} else {
// do something..
}
}
});