WEBVTT

00:00.140 --> 00:00.950
Willkommen zurück.

00:00.950 --> 00:08.540
In diesem Video werden wir einige wichtige Konzepte und Begriffe definieren, die uns im Umgang mit Online-Datenbanken

00:08.540 --> 00:10.050
begegnen werden.

00:10.070 --> 00:12.810
Beginnen wir mit den Webdiensten.

00:12.830 --> 00:21.140
Anwendungen benötigen Webserver, um Daten abzurufen, Datenauthentifizierung hochzuladen, Bilder zu speichern, Dateien hochzuladen und viele weitere

00:21.140 --> 00:22.610
Anwendungsfälle.

00:22.610 --> 00:28.180
Webdienste verfügen in der Regel über eine Rest-API für die Kommunikation.

00:28.190 --> 00:33.560
Die Rest-API bietet verschiedene URLs zum Abrufen von Daten.

00:33.560 --> 00:39.320
Dann müssen wir von der App aus eine Http-Anfrage an eine URL stellen.

00:39.500 --> 00:46.340
Http-Anfragen enthalten auch Kopfzeilen und andere Daten für Pfad- und Abfrageparameter.

00:46.340 --> 00:52.910
Nachdem die API unsere Anfrage erhalten hat, sendet sie ein Antwortobjekt an die Anwendung zurück.

00:52.910 --> 01:00.960
Dieses Antwortobjekt enthält einen Antwortcode, der über Erfolg oder Misserfolg der Anfrage informiert.

01:00.960 --> 01:07.350
Dies ist die allgemeine Idee, wie wir die Daten aus Online-Datenbanken in unsere Anwendungen bekommen.

01:07.350 --> 01:15.360
In den folgenden Videos gehen wir Schritt für Schritt vor, um die Daten zu erhalten und sie in unseren Anwendungen anzuzeigen.

01:15.360 --> 01:17.040
Definieren wir die API.

01:17.070 --> 01:20.940
API steht für Application Programming Interface.

01:20.940 --> 01:28.410
Diese Schnittstelle ermöglicht es den Nutzern, auf den Funktionen und Daten einer anderen Anwendung weiter aufzubauen.

01:28.410 --> 01:36.870
Man könnte sie als Bausteine verstehen, mit denen man fast alles machen kann, denn sie sind in allem zu finden,

01:36.870 --> 01:44.310
von Spotify, Yahoo, Finance, Google, Facebook, Twitter und anderen großen Websites.

01:44.310 --> 01:51.570
Stellen Sie sich zum Beispiel vor, Sie entwickeln eine Wetter-App, die Benutzern aktuelle Wetterinformationen für ihren Standort

01:51.570 --> 01:54.210
liefert, um Wetterdaten zu sammeln.

01:54.240 --> 02:00.660
Sie möchten kein eigenes Wetterüberwachungssystem aufbauen oder Daten manuell erfassen.

02:00.660 --> 02:09.620
Stattdessen können Sie externe APIs nutzen, die von Wetterdiensten wie Openweathermap oder Weather Channel bereitgestellt werden.

02:09.630 --> 02:18.810
APIs ermöglichen es Entwicklern, auf Dienste, Daten oder Funktionen anderer Anwendungen, Dienste oder Plattformen zuzugreifen und diese

02:18.810 --> 02:21.900
in ihren eigenen Anwendungen zu nutzen.

02:21.900 --> 02:24.900
Jetzt wollen wir uns mit Json beschäftigen.

02:24.930 --> 02:33.540
Die empfangenen Daten werden im Json-Format vorliegen und die App muss diese Json formatierten Daten in Java oder Kotlin

02:33.540 --> 02:36.270
parsen und sie dem Benutzer anzeigen.

02:36.300 --> 02:40.650
Json steht für die JavaScript-Objektnotation.

02:40.650 --> 02:45.060
Json ist ein leichtes Format für die Speicherung und den Transport von Daten.

02:45.450 --> 02:52.470
Json wird häufig verwendet, wenn Daten von einem Server an eine Webseite gesendet werden.

02:52.470 --> 02:59.430
Es ist für Menschen leicht zu lesen und zu schreiben und für Maschinen leicht zu analysieren und zu generieren.

02:59.430 --> 03:08.520
Json wird wegen seiner Einfachheit und Kompatibilität mit verschiedenen Programmiersprachen häufig für die Webentwicklung

03:08.520 --> 03:11.160
und Datenübertragung verwendet.

03:11.160 --> 03:20.310
Json-Daten werden als Schlüssel-Wert-Paare dargestellt und mit Hilfe von Objekten und Arrays strukturiert, was sie zu einer beliebten Wahl

03:20.310 --> 03:23.520
für die Darstellung strukturierter Daten macht.

03:23.520 --> 03:31.890
Später werden wir tiefer in Json-Formate und Json-Syntax eintauchen und hier kommt unser Freund Retrofit.

03:31.920 --> 03:38.130
Retrofit ist eine beliebte Bibliothek für Netzwerkanfragen in Android-Anwendungen.

03:38.130 --> 03:44.850
Es bietet mehrere Vorteile und Funktionen, die es zu einer bevorzugten Wahl machen.

03:44.850 --> 03:53.850
Für viele Android-Entwickler vereinfacht Retrofit den Prozess der Erstellung von Http-Anfragen, indem es viele der Details

03:53.850 --> 03:57.000
auf niedriger Ebene abstrahiert.

03:57.000 --> 04:06.360
Sie können API-Endpunkte als Java-Schnittstellen definieren, was Ihren Code übersichtlicher und lesbarer macht.

04:06.360 --> 04:16.140
Retrofit ist typsicher, d.h. es generiert Code, der sicherstellt, dass die Daten, die Sie von der API erhalten, mit der erwarteten Datenstruktur

04:16.140 --> 04:18.210
übereinstimmen.

04:18.210 --> 04:23.520
Dies hilft, Fehler zur Kompilierzeit und nicht zur Laufzeit zu erkennen.

04:23.520 --> 04:33.390
Um die Wahrscheinlichkeit von Abstürzen zu verringern, kann die Nachrüstung Json-Antworten vom Server automatisch in Java- oder Kotlin-Objekte

04:33.390 --> 04:38.100
konvertieren, indem eine Bibliothek wie Json verwendet wird.

04:38.130 --> 04:46.260
Damit entfällt die Notwendigkeit, Json-Daten manuell zu parsen, und genau das werden wir in unseren Anwendungen verwenden.

04:46.260 --> 04:54.240
Sobald die Daten heruntergeladen sind, werden sie in ein einfaches altes Java-Objekt Pojo geparst, das für jede Ressource in der

04:54.240 --> 04:56.420
Antwort definiert werden muss.

04:56.430 --> 04:59.790
Die Gesamtnachrüstung vereinfacht den Prozess der.

04:59.950 --> 05:09.340
Die Arbeit mit APIs in Android verbessert die Lesbarkeit des Codes und erhöht die Zuverlässigkeit und Wartbarkeit Ihres

05:09.340 --> 05:10.960
Netzwerkcodes.

05:10.960 --> 05:17.580
Sie ist aufgrund ihrer vielen Vorteile zu einer Standardbibliothek für viele Android-Entwickler geworden.

05:17.590 --> 05:26.050
Wir werden eine erstaunliche Anwendung erstellen, die viele, viele Konzepte enthält. Ich möchte, dass Sie sich mit

05:26.050 --> 05:35.350
mir auf diese Anwendung konzentrieren, denn es gibt viele Konzepte, viele neue Ideen, viele Algorithmen, viele Muster.

05:35.350 --> 05:40.660
Und natürlich werden wir der mvvm-Architektur folgen, was wir machen werden.

05:40.660 --> 05:48.070
Wir beginnen damit, die Daten von Tmdb, der Filmdatenbank-Website, abzurufen und unsere API zu erstellen.

05:48.100 --> 05:51.820
Wir werden sie als Json-Dateien abrufen.

05:51.820 --> 06:00.250
Diese Json-Dateien werden mit Retrofit konvertiert, und dieses Retrofit wird uns helfen, Pojo zu erstellen.

06:00.250 --> 06:08.500
Aus der Json-Antwort resultieren einfache Java-Objekte, die entweder in die Raumdatenbank umgewandelt und

06:08.500 --> 06:16.330
in der Datenbank gespeichert werden, oder in die API, um die Filmliste für den Benutzer anzuzeigen.

06:16.330 --> 06:25.210
Ich möchte, dass Sie mir Schritt für Schritt in all diesen Abschnitten folgen, vom Verständnis der API, dem Verständnis der Json-Syntax

06:25.210 --> 06:32.650
mit Retrofit in unseren Anwendungen, dem Erstellen von Pojo-Objekten, dem Abrufen der Daten von Pojo-Objekten

06:32.650 --> 06:37.840
in die API und dem späteren Speichern in der Raumdatenbank.

06:37.840 --> 06:43.390
Lassen Sie uns in Android Studio einsteigen und beginnen, diese Konzepte gründlich kennenzulernen.
