만족

[Android Studio] Firebase I/O data type 본문

[Android Studio] Firebase I/O data type

FrontEnd/Android Satisfaction 2018. 2. 3. 20:56

Firebase에서 단일 객체에 대해 I/O를 할때는 딱히 어려움을 겪을 일이 없다


그러나 ArrayList와 같은 배열 객체를 I/O할때는 주의해야 한다.



위와 같은 형태로 데이터베이스가 구성되어 있다고 하자.


겉보기에는 ExArray1과 ExArray2의 내용은 같은 것 처럼 보인다.


그러나 JSON 내보내기 기능을 이용해서 JSON 파일을 살펴보면



처럼 ExArray1과 ExArray2는 저장방식이 조금 다르다는 것을 알 수 있다.


형태가 다르면, 당연히 데이터를 가져올 때에도 서로 다른 방식으로 가져와야 한다.


ExArray1의 경우 ArrayList<String>으로 가져온다.


가져올 때 Object타입으로 가져왔으므로 그것을 ArrayList<String>으로 캐스팅해서 사용하면 되는 것이다.


ExArray2의 경우 HashMap<String, String>으로 가져온다.


"1"이 key가 되고 "asd"가 value가 되는 것이다.


-----------------------------------


+


내보낸 자료형과 가져올 때의 자료형이 완전히 같을 것이라 생각한다면 오산이다.


JSON의 형태를 보고 결정해야 한다.



Comments