Jak pobierać dane z Firebase w Swift Language (iOS)?

Cele bloga

Po przeczytaniu tego bloga będziemy mogli zrozumieć proces pobierania danych z Firebase. Proces ten obejmuje instalację SDK Firebase i implementację kodu do pobierania danych z Firebase.

Wymagania wstępne

Musimy napisać kod swift, aby pobrać dane z Firebase. W tym celu musimy stworzyć projekt Firebase. Wykonaj poniższe kroki, aby utworzyć projekt Firebase –

1. Iść do https://console.firebase.google.com

2. Następnie musisz utworzyć projekt Firebase, klikając „Dodaj projektprzycisk "

add-project: Jak pobierać dane z Firebase w Swift Language (iOS)?

3. Potrzebujesz pliku GoogleService-Info.plist dla SDK iOS, ponieważ ten plik zawiera szczegóły projektu Firebase, który jest używany przez Firebase SDK

4. Następnie dodaj plik plist do projektu

5. Dodaj następujący kod przed instrukcją return w aplikacji(_: didFinishLaunchingWithOptions 🙂 w pliku AppDelegate.swift

FirebaseApp.configure ()

6. Następnie przejdź do "Baza danych„opcja z lewego menu.

7. Wybierz "Baza danych w czasie rzeczywistym„i to jest baza danych dla projektu Firebase. Wszystkie dane przechowywane lub pobierane z tej lokalizacji.

8. Instalacja Firebase została zakończona Teraz będziesz musiał pobrać Firebase SDK w Swift. W tym celu musisz zainstalować następujące strąki.

  1. pod 'Firebase / Core'
  2. pod 'Baza ogniowa / baza danych'

Załóżmy, że masz następujące dane w danej strukturze w bazie danych Firebase –

// Korzeń drzewa {// artykuły spożywcze "artykuły spożywcze": {// artykuły spożywcze / mleko "mleko": {// artykuły spożywcze / mleko / nazwa "nazwa": "Mleko", / / artykuły spożywcze / milk / addedByUser „addedByUser”: „David”}, „pizza”: {„name”: „Pizza”, „addedByUser”: „Alice”},}}

Po udanej instalacji strąków możemy przejść do części kodującej.

Wdrożenie kodu

Wszystkie punkty / węzły danych służą do uzyskiwania dostępu do danych z bazy danych Firebase. Tworzymy odniesienia do węzłów, a następnie pobieramy dane z tego węzła. Innymi słowy odniesienie Firebase wskazuje na lokalizację w Firebase, gdzie przechowywane są dane. Najpierw musimy utworzyć odniesienie do węzła głównego struktury bazy danych –

niech ref = Database.database (). reference (withPath: "artykuły spożywcze")

lub można zastosować następujący sposób –

niech rootRef = Database.database (). reference () niech ref = rootRef.child ("artykuły spożywcze")

Odwołanie do węzła podrzędnego, którym jest „mleko”, można utworzyć za pomocą następującego kodu –

niech milkRef = ref.child („mleko”)

Listę asynchroniczną można dołączyć do odwołania w celu pobrania danych z Firebase za pomocą obserwuj (_: z 🙂 metoda. Poniższy kod pobierze dane i będzie nasłuchiwał zmian danych w bazie danych. Po wprowadzeniu jakichkolwiek zmian w bazie danych pobierana jest nowa migawka węzła / odniesienia i otrzymujemy zaktualizowane dane natychmiast po wprowadzeniu jakichkolwiek zmian w bazie danych.

ref.observe (.value, z: {snapshot in // To jest migawka danych w bazie danych Firebase // Aby uzyskać wartość z snapshotu, używamy snapshot.value print (snapshot.value as Any) })

Następnie wartości migawek mogą być analizowane i używane w aplikacji. Jedna duża zaleta używania obserwować metoda zakończona observerSingleEvent Metoda polega na tym, że nie musisz wywoływać funkcji ponownie i ponownie, ponieważ zaktualizowane dane są pobierane z bazy danych, gdy tylko zmieni się wartość w bazie danych.

Podsumowanie

Teraz powinieneś być w stanie pobrać dane z bazy danych Firebase w szybki sposób przy użyciu Firebase SDK.


Jak zapisać dane w Firebase w języku Swift (iOS)?

Cele bloga

Po przeczytaniu tego bloga będziemy mogli zainstalować Firebase SDK w Twoim projekcie i napisać kod do zapisywania danych w bazie Firebase wraz z tworzeniem projektu Firebase.

Korzyści z używania bazy danych Firebase

Nie ma znaczenia, czy pracujesz nad małym projektem, czy patrzysz na duży, potrzebujesz bazy danych do przechowywania wszystkich informacji. Jeśli pracujesz nad małym projektem, możesz użyć tej bazy danych Firebase. Oto lista korzyści z korzystania z bazy danych Firebase: 1. Pomaga w bezproblemowym zarządzaniu danymi Twojego sklepu. 2. Jeśli dane ulegną zmianie w dowolnym momencie, wszystkie podłączone urządzenia otrzymają zaktualizowane dane w swoich urządzeniach. 3. Korzystanie z bazy danych czasu rzeczywistego Firebase jest bezpłatne. 4. Oszczędność czasu. 5. Łatwa w użyciu i wieloplatformowa obsługa SDK. 6. Przydatne do aplikacji na czacie, powiadomień push, kanału informacyjnego itp.

Wymagania wstępne

Musimy napisać szybki kod, aby zapisać dane w Firebase. W tym celu najpierw będziemy musieli stworzyć projekt Firebase. Wykonaj poniższe czynności, aby utworzyć projekt Firebase — 1.Przejdź do https://console.firebase.google.com

2. Kliknij „Dodaj projekt” przycisk

 

3. Następnie utwórz aplikację na iOS i pobierz plik GoogleService-Info.plist 4. Następnie przenieś plik plist wewnątrz projektu 5. Następnie w Xcode otwórz AppDelegate.swift i dodaj ten kod przed instrukcją powrotu w aplikacji (_:didFinishLaunchingWithOptions:)

FirebaseApp.configure()

6. Następnie kliknij „Baza danych” opcja z lewego menu.

 

7. Wybierz „Baza danych w czasie rzeczywistym“, znajdziesz tam adres URL bazy danych, którego możesz użyć w kodzie, aby pobrać dane z bazy danych. Generalnie nie będziesz potrzebować tego adresu URL, ponieważ używamy GoogleServices-Info.plist i adres URL bazy danych jest już w tym pliku dostępny, wystarczy zainicjować Firebase. 8. Konfiguracja Firebase została zakończona Teraz będziesz musiał szybko pobrać Firebase SDK. W tym celu będziesz musiał zainstalować następujące strąki. 1. strąk ‘Firebase/rdzeń‘ 2. pod ‘Firebase/Baza danych‘ Załóżmy, że aktualnie nie mamy danych w bazie Firebase i chcemy zapisać w bazie następujące dane w podanym formacie� –

// Korzeń drzewa { "movies": [ "movie1": { "name": "Avengers", "addedByUser": "John" }, "movie2": { "name": "Gwiezdne wojny", " addedByUser": "Jane" }, ] }

Po pomyślnym zainstalowaniu kapsuł na projekcie jesteśmy gotowi do wdrożenia części kodującej.


Implementacja kodu Przed utworzeniem referencji musisz zrozumieć, czym jest referencja Firebase. Odniesienie Firebase wskazuje lokalizację w Firebase, w której przechowywane są dane. Nawet jeśli utworzysz wiele odniesień, wszystkie mają to samo połączenie. Najpierw będziemy musieli stworzyć referencję FIRDatabaseReference. Odwołanie, które będzie zawierało węzeł główny (artykuły-spożywcze) można wykonać za pomocą następującego kodu –

let ref = Database.database().reference(withPath: "movies")

lub możesz również użyć następującego sposobu –

let rootRef = Database.database().reference() let ref = rootRef.child("filmy")

Następnie będziemy musieli utworzyć referencję do elementów potomnych, którymi są mleko i pizza, abyśmy mogli dodać dane wewnątrz tych węzłów.

let movieRefAvengers = ref.child("film1") let movieRefStarWars = ref.child("film2")

Wiemy, że musimy zapisać słownik wewnątrz tych kluczy. W tym celu stworzymy dwa słowniki jeden dla mleka, a drugi dla pizzy.

let dictMovieRefAvengers: [String: String] = ["name": "Avengers", "addedByUser": "John"] let dictMovieRefStarWars: [String: String] = ["name": "Star Wars", "addedByUser": " Jane"]

Następnie możemy dodać dictMovieRefAvengers dzięki dictMovieRefGwiezdne wojny do filmRefAvengers dzięki filmRefGwiezdne wojny a te zostaną dodane jako dziecko tych odniesień. Istnieją dwie metody zapisywania danych w bazie danych Firebase: setValue i updateChildValues. Jeśli chcesz wiedzieć, kiedy Twoje dane zostały zatwierdzone, możesz dodać blok uzupełniania. Zarówno setValue, jak i updateChildValues ​​przyjmują opcjonalny blok uzupełniania, który jest wywoływany po zatwierdzeniu zapisu w bazie danych. Ten detektor może być przydatny do śledzenia, które dane zostały zapisane, a które są nadal synchronizowane.

 

// Zapisywanie wartości w węźle movie1 movieRefAvengers.setValue(dictMovieRefAvengers) { (error:Błąd?, ref:DatabaseReference) in if let error = error { print("Nie można zapisać danych: \(błąd).") } else { print("Dane zostały zapisane pomyślnie!") } } // Zapisywanie wartości w węźle pizza movieRefStarWars.setValue(dictMovieRefStarWars) { (error:Error?, ref:DatabaseReference) in if let error = error { print("Dane nie mogły być zapisany: \(błąd).") } else { print("Dane zostały pomyślnie zapisane!") } }

 

Po uruchomieniu powyższego kodu otrzymasz w bazie danych Firebase taką samą strukturę, jaka jest już pokazana.

Podsumowanie

Po wykonaniu powyższej procedury będziesz mógł szybko zapisać dane w bazie danych Firebase.

Przeczytaj także te artykuły:

Iteruj przez każdy element ciągu JSON w systemie Android i iOS

Wprowadzenie

Przyjmiemy, że przyjmujemy ciąg JSON jako ciąg wejściowy, a my zajmiemy się procesem dostępu do każdego elementu łańcucha JSON w systemie Android i iOS.

android

String jsonString = "{\" animal \ ": \" Lion \ ", \" bird \ ": \" Sparrow \ "}"; JSONObject jsonObject = new JSONObject (jsonString); Iterator <? > keys = jsonObject.keys (); while (keys.hasNext ()) {String key = (String) keys.next (); String value = jsonObject.getString (key); // Tutaj otrzymujemy wartość z justowania ciągu JSON; }

iOS

Konwertujemy ciąg JSON na obiekt JSON, korzystając z rozszerzenia podanego poniżej

rozszerzenie String {func toJSONObject () -> Dowolny? {guard let data = self.data (używając: .utf8, allowLossyConversion: false) else {return nil} return try? JSONSerialization.jsonObject (z: data, options: .mutableContainers)}}

Używamy wyżej wymienionego rozszerzenia, jak poniżej:

niech jsonString = "{\" animal \ ": \" Lion \ ", \" bird \ ": \" Sparrow \ "}"; jeśli pozwala jsonObject = jsonString.toJSONObject () jako? [String: String] {for (key, value) in jsonObject {print ("\ (key): \ (value)") // Tutaj otrzymujemy wszystkie klucze i wartości z ciągu JSON}}