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 usunąć dodatkowe miejsce między paskiem nawigacyjnym a widokiem przewijania?

Cele bloga

Po przeczytaniu tego bloga będziemy mogli zrozumieć przyczynę dodatkowego odstępu między górnym paskiem nawigacji a widokiem przewijania w aplikacji na iOS w wersjach iOS 7 do iOS 10.

Problem Statement

Kiedy dodajemy widok przewijania lub widok tabeli (dowolny widok przewijalny) w kontrolerze widoku, który zawiera pasek nawigacji u góry, napotykamy powszechny problem, który polega na dodatkowym odstępie między górnym paskiem nawigacji a widokiem przewijania.

 

Dlaczego obecny problem jest?

Od iOS 7 do iOS 10, gdy dodamy pasek nawigacyjny na górze dowolnego ViewController, Xcode zapewnia nam opcję, aby pasek nawigacyjny był przezroczysty. Abyśmy mogli widzieć przez pasek nawigacyjny, a przewijanie strony można zobaczyć przez pasek nawigacyjny. Teraz przyczyną problemu jest to, że gdy widok przewijania zostanie dodany w ViewController, a pasek nawigacyjny jest ustawiony i półprzezroczysty, ScrollView pozostawia margines od głównego widoku dla paska nawigacyjnego. Ale pasek nawigacyjny dodany w czasie wykonywania i przesuwa główny widok w dół, tak aby pasek nawigacyjny mógł zmieścić się na górze. W takim przypadku widok jest przesuwany w dół przez pasek nawigacji, a widok przewijania pozostawia margines na pasek nawigacji. Tutaj obserwujemy, że dodatkowy odstęp został dodany dwa razy. To był jedyny powód, dla którego widzimy dodatkową przestrzeń między paskiem nawigacji a widokiem przewijania.

Procedura rozwiązania problemu-

Problem można rozwiązać na dwa sposoby. W obu przypadkach ograniczamy widok przewijania, aby pozostawić dodatkowy margines na pasek nawigacyjny.

1. Możemy ustawić opcję Translucent dla paska nawigacyjnego na „False” w Xcode � Spowoduje to, że pasek nawigacyjny będzie nieprzezroczysty, a widok przewijania nie będzie wymagany do przewijania pod paskiem nawigacyjnym. Dzięki temu widok przewijania nie pozostawia miejsca na pasek nawigacyjny. W poniższym gifie widać, że ograniczenie układu widoku zmienia się, gdy włączamy/wyłączamy właściwość „Przezroczysty” paska nawigacyjnego.

 

 

2. Możemy wyłączyć właściwość „Dostosuj wstawki widoku przewijania” w kontrolerze ViewController. � Ograniczy to widok przewijania do pozostawienia dodatkowego miejsca na pasek nawigacji u góry.

 

Podsumowanie

Po wykonaniu powyższej procedury będziesz mógł usunąć dodatkową przestrzeń między paskiem nawigacji a widokiem przewijania.

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:

Czy obciążanie europejskich producentów smartfonów może doprowadzić Google do problemów z antymonopolizacją?

Wszyscy zdajemy sobie sprawę z walki o protekcję w systemie Android z Google i Unią Europejską. Google zareagowało na nałożoną przez UE grzywnę, nakładając opłatę licencyjną na producentów smartfonów z systemem Android w Europie. We wtorek 16th of Oct 2018, gigant technologiczny ogłosił, że producenci urządzeń będą mieli dostęp do opłaty licencyjnej za dostęp do Sklepu Google Play.

Jaką opłatę licencyjną może wyświadczyć Google?

. Komisja Europejska uderzyła w Google kwotą 5B za nadużycia w zakresie przeciwdziałania nadużyciom w Androidzie w lipcu X X X tego roku. Google natychmiast odrzucił wszystkie zarzuty o dominację na rynku i zaczął cytować: "Android zawsze zapewniał więcej możliwości dla wszystkich, a nie mniej". Firma twierdziła, że ​​platforma była przyczyną wielu źródeł utrzymania europejskich deweloperów. A teraz, gdy Google odegrał swoją rolę w nakładaniu opłat za korzystanie z aplikacji na Androida w Europie, pojawia się pytanie, czy jest to posunięcie intelektualne? Istnieje marginalna możliwość, że przy tej próbie firma może stracić kontrolę nad branżą przeszukiwania i przeglądarek, tak jak ma to miejsce obecnie. Ta decyzja Google otworzyła także drzwi dla innych producentów urządzeń i wymyśliła własne sklepy. Na przykład, Samsung może wprowadzić swoje aplikacje galaktyk do telefonów zamiast iść na płatne chrome i wyszukiwarki Google. Teraz, w nadchodzącym czasie, możemy być świadkami smartfonów bez Google Apps. Może to spowodować, że firma będzie miała więcej konkurentów i zwiększy liczbę uboju.

Zamykanie argumentów

. Google wcześniej odwołała się od grzywny w Europejskim Trybunale na 9th tego miesiąca, a teraz wymyślili tę ostatnią polisę licencyjną. Wygląda na to, że dostrzegli, że ich odwołanie się nie kończy. Tak więc, nie można tego w tej chwili powiedzieć, że to działanie technologicznego biggie poprawi na chwilę równowagę na dobre lub wyląduje w gorących wodach. To tylko czas pokaże.

Google kwestionuje karę 5B w UE za sprawą Android Antitrust Case

W tym roku, w lipcu, Firma Google została ukarana grzywną w wysokości 5B przez Komisję Europejską za nadużycie Androida. Teraz, po trzech miesiącach, gigant techniczny zdecydował się podnieść

Dlaczego Google został obciążony trzy miesiące temu?

Google został ukarany grzywną za zarzuty niewłaściwego wykorzystania siły do ​​stworzenia swojej dominacji na rynku. Google został oskarżony o zmuszanie użytkowników do korzystania z wyszukiwarki, by zmotywować swoich konkurentów. EC powiedział, że firma narzucała nielegalne ograniczenia producentom urządzeń z systemem Android przez bardzo długi czas, aby umocnić swoją dominującą pozycję w wyszukiwaniu. Mówiono nawet wtedy, że firma dokonała różnych nielegalnych transakcji z różnymi producentami smartfonów z systemem Android, płacąc im. Ale wyszukiwarka zawsze negowała wszystkie zarzuty. Rzecznik Google'a, Al Verney, zacytował nawet: "Android zawsze zapewniał większy wybór dla wszystkich, a nie mniej“.? Indian origin Google CEO urged that the company has always allowed the developers to make a living through the platform.

Co teraz zajmuje Google?

We wtorek X X X października 9, Google powiedział: "Zgłoszono już odwołanie od decyzji Komisji Europejskiej dotyczącej Androida do Sądu Unii Europejskiej"Teraz Google kontratkuje tę grzywnę, odwołując się do Europejskiego Trybunału Sprawiedliwości.

Zamykanie myśli

Ta walka między Komisją Europejską a Google wydaje się nie mieć końca