컴공생의 발자취

[FireStore] 데이터 가져오기(Java) 본문

💚 AndroidStudio

[FireStore] 데이터 가져오기(Java)

MNY 2023. 1. 5. 22:59
728x90
반응형

프로젝트를 하면서 데이터 저장을 FireStore을 사용했다.

안드로이드 스튜디오와 자바를 처음 사용했기에 사용함에 있어서 어려움이 있었다.

 

FireStore는 컬렉션, 문서, 필드 이렇게 세 종류로 나뉘어 있어서 가져오는 방식이 각기 달랐다.

내가 가져오고 싶은 것과 가져온 데이터가 다르기도 하고, 다양한 일이 있었다. 

앞으로의 프로젝트도 FireStore을 사용할 수 있기에 내가 찾아봤던 방법을 정리하고자 한다.

 

사용한 사진은 Firestore Database에 들어가면 볼 수 있는 화면을 캡처하여 사용했다.

 


 

컬렉션

: 특정 컬렉션(blackposts) 에 있는 모든 문서를 가져오고 싶을 때 사용한다.

//파이어스토어에 접근하기 위한 객체를 생성한다.
private static FirebaseFirestore db = FirebaseFirestore.getInstance();

			//CollectionReference 는 파이어스토어의 컬렉션을 참조하는 객체다.
            CollectionReference productRef = db.collection("컬렉션이름");
            //get()을 통해서 해당 컬렉션의 정보를 가져온다.
            productRef.get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
                @Override
                public void onComplete(@NonNull Task<QuerySnapshot> task) {
                	//작업이 성공적으로 마쳤을때
                    if (task.isSuccessful()) {
                      //컬렉션 아래에 있는 모든 정보를 가져온다.
                        for (QueryDocumentSnapshot document : task.getResult()) {
                      		//document.getData() or document.getId() 등등 여러 방법으로
                            //데이터를 가져올 수 있다.
                        }
                   //그렇지 않을때
                    } else {
                      
                    }
                }
            });

 

문서

: 특정 문서(t13ev0~) 의 모든 필드를 가져오고 싶을 때 사용한다.

//파이어스토어에 접근하기 위한 객체를 생성한다.
private static FirebaseFirestore db = FirebaseFirestore.getInstance();

			//CollectionReference 는 파이어스토어의 컬렉션을 참조하는 객체다.
            DocumentReference productRef = db.collection("컬렉션이름").document("문서이름");
            //get()을 통해서 해당 문서의 정보를 가져온다.
            productRef.get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
                @Override
                public void onComplete(@NonNull Task<QuerySnapshot> task) {
                	//작업이 성공적으로 마쳤을때
                    if (task.isSuccessful()) {
                    	 //문서의 데이터를 담을 DocumentSnapshot 에 작업의 결과를 담는다.
           				 DocumentSnapshot document = task.getResult();
                        
                   //그렇지 않을때
                    } else {
                      
                    }
                }
            });

 

필드에 있는 컬렉션 참조

: 특정 필드(contents)에 있는 정보를 가져오기 위해 사용한다.

//파이어스토어에 접근하기 위한 객체를 생성한다.
private static FirebaseFirestore db = FirebaseFirestore.getInstance();

			//CollectionReference 는 파이어스토어의 컬렉션을 참조하는 객체다.
            CollectionReference productRef = db.collection("컬렉션이름").document("문서이름").collection("컬렉션이름");
            //get()을 통해서 해당 컬렉션의 정보를 가져온다.
            productRef.get().addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
                @Override
                public void onComplete(@NonNull Task<QuerySnapshot> task) {
                	//작업이 성공적으로 마쳤을때
                    if (task.isSuccessful()) {
                      //컬렉션 아래에 있는 모든 정보를 가져온다.
                        for (QueryDocumentSnapshot document : task.getResult()) {
                      		//document.getData() or document.getId() 등등 여러 방법으로
                            //데이터를 가져올 수 있다.
                        }
                   //그렇지 않을때
                    } else {
                      
                    }
                }
            });

 

 

 

 

 


 

 

 

FireStore 데이터 가져오기

FireStroe 는 클라우드 방식의 데이터베이스를 사용하기 쉽게 제공되는 DB 다. 소유한 서버, DB가 없다면 저렴한 가격으로 대여할 수 있는 좋은 서비스다. FireStore 에는 크게 컬렉션 , 문서 , 필드로

choi-dev.tistory.com

 

728x90
반응형