마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 파이어베이스 데이터 읽어서 분류하기

0 추천

이번에 처음으로 안드로이드 파이어베이스랑 연동해서 앱 개발중인데요..

데이터 베이스랑 연동해서 데이터 저장하고 데이터를 불러오는 것까지는 했는데 데이터를 불러와서 리스트뷰에 뿌려야 되는데

웹에서 데이터를 불러올때는 불러오고 싶은 값들만 배열식으로 불러오게되는데(만약에 user 안에 있는 uid를 불러오면 모든 사용자들의 uid가 리스트 형식으로 불러와 진다)

안드로이드에서 데이터를 불러올때 dataSnapshot.getValue(String.class); 이렇게 부르면 uid가 불러와지는것이 아니라 uid 안에 있는 자식들의 0번째 요소가 불러와 집니다. 저가 원하는 데이터만 추출하는 방법을 알려주시면 감사하겠습니다

익명사용자 님이 2017년 2월 15일 질문

1개의 답변

0 추천
 
채택된 답변
데이터베이스 참조에 데이터 set 하는 부분 코드랑

데이터 불러오는 부분에서 참조에 이벤트 걸을때 부분 코드좀 보여주실수 있으신가요?

 

#1

   데이터1

   데이터2

#2

   데이터1

   데이터2

 

위에서 #1, #2 가 uid라고 치면 질문자님이 원하는거는 데이터1, 데이터2 가 아니라 그 부모인 #1 부터 얻고 싶다. 라고 이해하고 말씀 드리겠습니다.

dataSnapshot 함수중에 getKey 함수 있지 않나요?

제가 알기로는 getValue 하셨을때 자식이 나왔다면 getKey 하면 그 부모인 uid가 나올것으로 생각이 됩니다.

확인해보세용.
Development Guy (70,570 포인트) 님이 2017년 2월 15일 답변
그니까 저는 리스트 뷰에 제목,내용 형식으로 나열시키고 싶은데 타이틀이란 변수에 한번에 다들어가니까 그 데이터를 분류하고 싶어요.. 제목은 제목대로.내용은 내용대로 그러려면 uid별로 다 분류하고 그 uid안에 시간별로 다 분류해야 될것 같은데 그 방법을 모르겠습니다..
꼭 제목은 제목대로 내용은 내용대로 분류해야 하나요?
그냥 아이템의 uid : 아이템 구조체 형식으로 저장하면 안되나요?

저는 왜 시간별로 분류가 필요하신건지 이해가 가지 않네요.

아래 그림처럼요
https://firebasestorage.googleapis.com/v0/b/fcmsample-22bf6.appspot.com/o/%EC%BA%A1%EC%B2%98.PNG?alt=media&token=5b444ee3-5275-41ee-a5f2-a151bc9322ae

그럼 질문자님처럼 photos 참조에 이벤트 꽂아가지고 아이템 별로 리스트뷰에 집어 넣으실수 있을거같은데...
https://firebasestorage.googleapis.com/v0/b/mentorch-6a6e1.appspot.com/o/%E1%84%89%E1%85%B3%E1%84%8F%E1%85%B3%E1%84%85%E1%85%B5%E1%86%AB%E1%84%89%E1%85%A3%E1%86%BA%202017-02-15%20%E1%84%8B%E1%85%A9%E1%84%92%E1%85%AE%202.22.19.png?alt=media&token=883e4b04-c7aa-49c8-a0e2-db8955d554bc
전 이런식으로 하고 싶은데.. 이래야 어떤 사용자가 언제 올렸는지까지 알수 있어서요
맨 위처럼 타이틀로 데이터를 받은다음에 제목 내용 사진 별로 분류하는 방법은 없나요??
제목 내용 사진 별로 분류 한다는게 특정 키워드로 쿼리를 말씀하시는건가요?
일반 관계형DB에서의 where 조건 같은거 말씀하시는거라면 그 기능은 firebase 데이터베이스 레퍼런스에 존재하지 않는 기능입니다.
아 그렇군요... 알려주셔서 감사합니다 ㅎㅎ
다른 방법을 찾아야겠네요 ㅠㅠ
...