Firebase 기초

yu-podong·2021년 5월 11일
0

Firebase

목록 보기
1/2

Cloud Firestore


우선, 기본적으로 firebase에서 Cloude Firestore를 사용하기 위한 안드로이드 스튜디오의 환경설정을 해야한다. 그 과정은 firebase의 공식문서에서 확인할 수 있으므로, 참고하길 바란다.

Firebase 공식 문서 : https://firebase.google.com/docs/android/setup

DTO (Data Transfer Object)

위의 문서를 참고하여 설정을 완료하였다면, 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..
                            }
                        }
                    });

0개의 댓글