Besser zu spät als nie gibt es heute (2020-07-23), um 2 Tage verspätet den Blogbeitrag. Diese Woche waren wir zu faul ihn pünktlich zu „liefern“. Trotzdem datieren wir ihn zurück auf den 2020-07-21. Das gibt ein besseres Gefühl und stärkt die Moral.
Was stand an diese Woche? Wie auch die letzte stand diese im Zeichen der Wissensaneignung. Im Speziellen ging es um Coroutines. Was sind Coroutinen? Wie funktionieren sie? Welche Möglichkeiten hat man? Passend zum Thema ging es weiterhin um den Aufruf von Webservices aus einer Android Anwendung heraus. Verena hatte sich im Vorfeld sowohl mit Coroutinen, als auch mit Retrofit für den Aufruf von Webservices beschäftigt und wir haben darüber gesprochen was möglich ist und ausprobiert.
Coroutine btw ist Kotlins Lösung mit der „asynchronen“ Ausführung von Funktionen umzugehen. D.h. bspw. mit Threads zu arbeiten. Aber auch sequenzielle Ausführungen in gesonderten Threads sind möglich. Generell ist bei der Nutzung von Coroutines eine Funktion in Kotlin als „suspend fun“ zu deklarieren. Damit ist die Ausführung im allgemeinen Main-Thread der App allerdings nicht möglich. Stattdessen muss die „suspend fun“ in sogenannten Coroutinen aufgerufen werden. Dazu zählen bspw.:
- runBlocking: um die suspend fun sequenziell zur Anwendung auszuführen
- GlobalScope.async: für eine asynchrone Ausführung
Wie immer hat Kotlin – für unseren Geschmack – eine super Lösung ausgeliefert, die auf den ersten Blick verständlich und durchgängig funktioniert.
Drittes Thema diese Woche war: Keycloak als IdProvider. Wie bereits in einem vorherigen Blogbeitrag erwähnt, wollen wir Keycloak als IdProvider einsetzen und haben es bereits in einer vorherigen App verwendet. Für den Zugriff auf Keycloak aus Android nutzen wir App Auth. Ganz einfach haben wir uns damit aber auch dieses Mal nicht getan. Denn obwohl wir schon Beispiele implementiert und eine Vorlage hatten, haben wir gekämpft alles zum Laufen zu bekommen und sind bisher auch nicht fertig geworden. Wahrscheinlich müssen wir uns die ganze Flow-Thematik noch einmal zu Gemüte führen oder um App Auth ein kleine API stricken, die speziell auf unsere Wünsche zugeschnitten ist und die Verwendung für uns noch etwas einfacher gestaltet.
Letztes Thema in dieser Woche war es einen Anbieter zu finden, der uns ein Logo für unsere App kreieren kann. Verena war bereits auf der Suche und ist auch fündig geworden. Kontakt haben wir schon einmal aufgenommen, um Fragen im Vorfeld zu klären. Nächste Woche geht es damit weiter.