마침내 FireStore에 관한 많은 정보를 이해하기 시작했지만 도움을받을 수 있는지 궁금합니다.
이와 비슷하거나 비슷한 설정이있는 경우 :
경마 대회
기계적 인조 인간
이름 : Android
크기 : 중간
통계 <---- 이것은지도입니다
str : 10
성별 : 12 .... (더 많은 값)
이것을 어떻게 파싱할까요? 특정 TextView가 데이터베이스에서 찾은 값을 적용하여 데이터베이스를 간단히 업데이트하고 내 앱이 해당 값을 채워서 하드 코딩 및 코드 업데이트가 향후에 거의 문제가되지 않도록하려고합니다.
나는 현재 다음과 같은 것을 사용합니다.
val androidRef = db.collection("races").document("Android")
androidRef.get().addOnSuccessListener { document ->
if (document != null) {
oneOfTheTextViews.text = document.getString("str")
} else {
}
문제는 현재 컬렉션 (경주) / 문서 (안드로이드) / 다음 단일 필드에서만 액세스 할 수 있다는 것입니다 (맵이나 배열의 일부가 아닌 단일 필드로 "str"을 설정했습니다).
이를 수행하는 가장 좋은 방법은 무엇입니까? 그것들을 전혀 중첩시키지 않아야합니까? 그리고 상기 중첩 / 매핑 / 배열을 참조 할 수 있다면 어떤 함수를 호출해야합니까? (명확하게 말하면, 참조 가이드와 문서에서이를 암시하는 것이 가능한지 여부 만 묻는 것이 아니라 이러한 값 또는 포인트 중 하나에 만 액세스하기 위해 호출해야하는 속성 / 클래스 / 메서드 등 그 값 중 하나에?).
두 번째 질문 : 문서 이름 목록을 얻는 방법이 있습니까? 여러 종족이 있고 단순히 문서 이름을 기반으로하는 스피너 또는 리사이클 러 뷰를 컬렉션의 일부로 만들고 싶은 경우,이를 앱에서 읽을 수 있습니까?
이를 수행하는 가장 좋은 방법은 무엇입니까?
지도 str
내에 중첩 된 속성 의 값을 얻으려면 stats
다음 코드 줄을 변경하십시오.
oneOfTheTextViews.text = document.getString("str")
...에
oneOfTheTextViews.text = document.getString("stats.str")
귀하의 경우 str
속성은 숫자이고 하지 문자열, 다음 대신 위의 코드 라인이 하나를 사용하십시오 :
oneOfTheTextViews.text = document.getLong("stats.str")
그것들을 전혀 중첩시키지 않아야합니까?
아니요, .NET Framework에서 원하는만큼 속성을 중첩 할 수 있습니다 Map
.
문서 이름 목록을 얻는 방법이 있습니까?
예, 단순히 컬렉션을 반복하고 getId()
함수를 사용하여 문서 ID를 가져옵니다 .
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다