2016-11-16 10 views
5

W tej chwili następująca jest moja hierarchia baz danych w konsoli bazy danych Firebase.Baza danych Firebase systemu Android: pojedyncze pobieranie danych bez odbiornika zdarzeń

enter image description here

Używam następujący kod do wprowadzania danych do bazy danych Firebase.

public void createRecordInDB(PlaceListItem placeListItem) 
    { 
     mDB= FirebaseDatabase.getInstance().getReference(); 
     mListItemRef = mDB.child("Places"); 

     for(int i = 0; i < placeListItem.getResults().size(); i++) { 
      // Create new List Item at /listItem 
      String placeId = placeListItem.getResults().get(i).getPlaceId().toString(); 
      String key = placeId; 
      PlaceDBModel placeDBModel = new PlaceDBModel(); 
      placeDBModel.setPlaceName(placeListItem.getResults().get(i).getName()); 
      placeDBModel.setVicinity(placeListItem.getResults().get(i).getVicinity()); 
      placeDBModel.setLattitude(placeListItem.getResults().get(i).getGeometry().getLocation().getLat().toString()); 
      placeDBModel.setLongitude(placeListItem.getResults().get(i).getGeometry().getLocation().getLng().toString()); 
      placeDBModel.setPlaceID(placeId); 
      if(isItWorking(key)) 
       placeDBModel.setWorkingOrNot("Working"); 
      else 
       placeDBModel.setWorkingOrNot("Not Working"); 
      HashMap<String, Object> result = new HashMap<>(); 
      result.put(key, placeDBModel); 
      mListItemRef.updateChildren(result); 

     } 

Zobacz, kiedy ładuję dane z usługi internetowej po raz pierwszy, po prostu wprowadzam wszystkie dane do bazy danych bazy ogniowej. Teraz na jednym ekranie mojej aplikacji (kliknięcie przycisku) mogę zaktualizować niektóre dane w określonym węźle. Teraz, kiedy ponownie wracam do poprzedniego ekranu i ładuje dane z web API, nadpisuje wszystkie dane do bazy danych firebase. Muszę pozostać zmienione wartości, jak to było w momencie kliknięcia przycisku. Więc chcę odczytać te dane w węźle, jeśli działa, a następnie ustawić wartość "Working" else "Not Working". Mam nadzieję, że to wyjaśni moje zapytanie.

+0

proszę udostępnić cały kod tej czynności. –

+0

Zawarłeś zdjęcie drzewa JSON w swoim pytaniu. Zastąp ten fakt rzeczywistym tekstem JSON, który można łatwo uzyskać, klikając link Eksportuj JSON w konsoli bazy danych Firebase. Posiadanie JSON jako tekstu umożliwia przeszukiwanie, pozwala nam z łatwością wykorzystać go do przetestowania rzeczywistych danych i użycia go w naszej odpowiedzi, a ogólnie jest to po prostu dobre rzeczy do zrobienia. –

Odpowiedz