https://github.com/lnjky/fashion_people
GitHub - lnjky/fashion_people: 패션 추천 어플
패션 추천 어플. Contribute to lnjky/fashion_people development by creating an account on GitHub.
github.com
코드 전체를 보려면 위에 링크를 통해 확인할 수 있습니다.
해당 글은 현재 사용자의 정보를 가져오는 예시로 설명하기 때문에 이전의 로그인 / 회원가입 게시글을 통해 코드를 작성했다면 그대로 적용할 수 있다.
물론 상단의 GitHub 링크를 통해서도 확인할 수 있다.
[안드로이드] 파이어베이스 / 회원가입 만들기
https://github.com/lnjky/fashion_people GitHub - lnjky/fashion_people: 패션 추천 어플 패션 추천 어플. Contribute to lnjky/fashion_people development by creating an account on GitHub. github.com 코드 전체를 보려면 위에 링크를 통해
loasd.tistory.com
위의 링크에서 회원가입시 닉네임, documentID를 파이어스토어에 저장하는 것을 볼 수 있다.
닉네임은 게시글이나 사진, 댓글을 업로드할 경우 표기해줘야 하기 때문에 저장해주었고
documentID는 파이어스토어에 작성한 내용들을 저장하기 위해 구분되는 사용자 정보이기 때문에 회원가입시 같이 파이어스토어에 저장해주었다.
그래서 게시글을 작성하거나 사진을 업로드하는 경우 이 데이터들을 가져오는 방법을 작성하려 한다.
먼저 파이어베이스의 공식 문서에 나온 샘플이다.
DocumentReference docRef = db.collection("cities").document("SF");
docRef.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
@Override
public void onComplete(@NonNull Task<DocumentSnapshot> task) {
if (task.isSuccessful()) {
DocumentSnapshot document = task.getResult();
if (document.exists()) {
Log.d(TAG, "DocumentSnapshot data: " + document.getData());
} else {
Log.d(TAG, "No such document");
}
} else {
Log.d(TAG, "get failed with ", task.getException());
}
}
});
설명처럼 .get()을 통해 데이터를 가져온다.
if문 안에 해당 경로에 document가 존재할 경우 작동할 코드를 입력해주면 된다.
아래는 내가 어플을 만들 때 현재 사용자의 정보를 가져오기 위해 사용한 예시 코드이다.
// 현재 사용자의 데이터 가져오기
if (mAuth.getCurrentUser() != null) {
mStore.collection(FirebaseID.user).document(mAuth.getCurrentUser().getUid())
.get()
.addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
@Override
public void onComplete(@NonNull Task<DocumentSnapshot> task) {
if (task.isSuccessful()) {
DocumentSnapshot document = task.getResult();
if (document.exists()) {
Log.d("TAG", "Document is exists");
nickname = (String) document.getData().get(FirebaseID.nickname);
documentId = (String) document.getData().get(FirebaseID.documentId);
} else
Log.d("TAG", "Document is not exists");
}
}
});
}
회원가입시 'user - 현재사용자의 documentID'의 경로에 사용자의 정보를 저장해두었기 때문에 경로를
mStore.collection(FirebaseID.user).document(mAuth.getCurrentUser().getUid())
이렇게 해주었다.
물론 이 전에 파이어스토어의 인스턴스를
private FirebaseFirestore mStore = FirebaseFirestore.getInstance();
이렇게 가져왔기 때문에 mStore.~~으로 작성하였다.
사용자의 정보 뿐만 아니라 다른 데이터들을 가져올 때도 위의 방법을 통해 가져올 수 있기 때문에 알아두면 좋다.
해당 링크를 통해서도 확인할 수 있다.
https://firebase.google.com/docs/firestore/query-data/get-data?hl=ko#java_8
Cloud Firestore로 데이터 가져오기 | Firebase
Firebase Summit에서 발표된 모든 내용을 살펴보고 Firebase로 앱을 빠르게 개발하고 안심하고 앱을 실행하는 방법을 알아보세요. 자세히 알아보기 이 페이지는 Cloud Translation API를 통해 번역되었습니
firebase.google.com
'안드로이드' 카테고리의 다른 글
| [안드로이드] 작성글 리사이클러뷰로 불러오기 (0) | 2023.01.05 |
|---|---|
| [안드로이드] 파이어스토어 게시글 작성 만들기 (0) | 2023.01.05 |
| [안드로이드] 플로팅 버튼 ( 게시글 작성 버튼 ) (0) | 2023.01.04 |
| [안드로이드] 리사이클러뷰 간격 조정 (0) | 2023.01.04 |
| [안드로이드] 리사이클러뷰 레이아웃 매니저 종류 (0) | 2023.01.04 |