List안의 특정 값을 받아오는 방법
조회수 593회
안녕하세요 안드로이드 개발 도중 막히는 부분이 있어서 질문 남깁니다 firebase와 안드로이드를 연동하여 실시간데이터베이스에서 값을 받아와서 화면에 띄워주는 페이지를 작성중인데, 그 과정에서 ArrayList안에 특정 key의 value 값을 받아오는 방법이 있을까요..?
Map<String,Object> gameValue = new HashMap<>();
...
public void onDataChange(@NonNull DataSnapshot datasnapshot) {
for(DataSnapshot postSnapshot : datasnapshot.getChildren()){
String key = postSnapshot.getKey();
gameValue.put(postSnapshot.getKey(),postSnapshot.getValue());
//DB에서 저장한 키값 가져옴
for(int j=0; j<8; j++){
String index = Integer.toString(j+1);
if(!gameValue.containsKey(index)) break;
indexData.add(j,gameValue.get(index));
//ArrayList 의 0번 인덱스부터 값 저장 DB상 1번째 경기 = 0번 인덱스
if(indexData.size()!=0)
{
Log.d("ArrayList","index:"+j+"| Data : "+indexData.get(j));
}else{
Log.d("Empty_List","ArrayList is empty");
}
}
현재 ArrayList gameValue에는 [{awayteam=Non, hometeam=FCsoccer}, {awayteam=Non, hometeam=FCfootball}] 이런식으로 데이터가 담겨있고
각각
0번 인덱스에는 {awayteam=Non, hometeam=FCsoccer}
1번 인덱스에는{awayteam=Non, hometeam=FCfootball} 이런식으로 데이터가 담아져 있습니다
(인덱스의 최대 개수 = 8 )
String 배열을 두개 만들어 인덱스 순서대로 hometeam 값과 awayteam 값을 따로 저장하고 싶은데 어떻게 해야 좋을까요.... 문제 설명이 더 필요하시면 좀 더 상세히 설명하겠습니다
(각 인덱스별 키 값은 hometeam, awayteam 두가지 로만 구성 되어있음) 도움 부탁드려요 ㅠㅠ
댓글 입력