안드로이드에서 Object 타입의자료를 List 로 변환하는 것이 궁금합니다
조회수 2485회
제가 google firebase database 에서 값을 getvalue 로 가져오는데요. setvalue 로 저장할때 list 였던 자료가 저장하면 Object 타입으로 되있더라구요 getValue 로 불러오는데 Object 인 자료를 다시 List 타입으로 바꿔야 하는데 그걸 못하겠어요 ㅜㅜ
Object 인 타입 안에 들어있던 Double 형 자료 2개랑 String 자료를 뽑아내고 싶은데.. 그걸 못해서 고민중입니다.. 부탁드려요...
이게 저장할 클래스이구요
///////////////////////
package com.eum.ssrgo;
import com.google.firebase.database.IgnoreExtraProperties;
/**
Created by KHR on 2016-10-19. */ @IgnoreExtraProperties public class GetRidingList {
public Double latitude; public Double longitude; public String time;
public Double getlatitude(){ return latitude; }
public Double getlongitude(){ return longitude; }
public String gettime(){ return time; }
public GetRidingList(Double latitude, Double longitude) { this.latitude = latitude; this.longitude = longitude;
}
public GetRidingList(Double latitude, Double longitude, String time) { this.latitude = latitude; this.longitude = longitude; this.time = time; }
} ////////////////////////////////////
메인엑티비티에서 어떻게 써야하는지를 모르겠어서 다시 글을 남깁니다. 부탁드려요 ㅜㅜ
-
(•́ ✖ •̀)
알 수 없는 사용자
1 답변
-
파이어베이스를 사용 중이라면 다음 함수를 이용해서 리스트를 가져올 수 있습니다. 아래 사용예를 첨부했으니 참고하세요.
public T getValue (GenericTypeIndicator<T> t)
모델 클래스가 다음과 같이 정의되어 있다고 가정한다면,
class Message { private String author; private String text; private Message() {} public Message(String author, String text) { this.author = author; this.text = text; } public String getAuthor() { return author; } public String getText() { return text; } }
다음과 같은 방식으로 가져올 수 있습니다.
GenericTypeIndicator<List<Message>> t = new GenericTypeIndicator<List<Message>>() {}; List<Message> messages = snapshot.getValue(t);
-
(•́ ✖ •̀)
알 수 없는 사용자
- 감사합니다 한로니로니님! 그런데 여기서 T 와 t 는 무엇을 가르키는지 설명좀 해주실수 있나요?? 배열인가요? 배열이면 message 클래스 말하시느건가요? 알 수 없는 사용자 2016.10.31 13:40
- 코드에서 T는 List이고요. t는 변수이름입니다. 알 수 없는 사용자 2016.10.31 19:21
- 정말 감사합니다! 한로니로니님 덕분에 공모전하는데 큰 도움이 되고있습니다! ^^ 알 수 없는 사용자 2016.10.31 20:22
-
댓글 입력