안드로이드에서 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

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)