StatusBar unter Android, iOS und UWP einfärben
Die drei großen Plattformen verfügen jeweils über eine StatusBar
, welche man je nach der eigenen App einfärben möchte. Leider ist dies zum jetzigen Zeitpunkt nicht im plattformunabhängigen Code möglich, daher muss dies tatsächlich auf jeder Plattform implementiert werden. In diesem Beitrag möchte ich euch nun für jede Plattform zeigen, wie man die StatusBar
entsprechend einfärben kann.
Apple AirTags – Nie wieder etwas kostbares verlieren
Am 20. April 2021 fand das Frühlings-Event von Apple statt. Neben der Vorstellung eines neuen iMacs und der obligatorischen Erneuerung des iPad Pro, wurden auch die bereits seit langem erwarteten AirTags vorgestellt. Bei AirTags handelt es sich um leine runde Chips, welche dabei helfen sollen, Gegenstände wiederzufinden, welche man nicht mehr auffinden kann. Die Kommunikation findet dabei mit der Hilfe von Bluetooth LE und der Ultrabreitband-Technologie (UWB) statt welche Apple in Form das U1-Chips ab dem iPhone 11 unterstützt.
Auf plattformspezifische APIs in einer Xamarin.Forms-App zugreifen
Der Ansatz von Xamarin.Forms besteht darin, dass man fast die gesamte Anwendung nur einmal schreiben muss und diese App dann auf den verschiedenen mobilen Betriebssysteme wie Android und iOS zur Verfügung stehen. Dies bedeutet, dass man die meiste Zeit keinen plattformspezifischen Code schreiben müssen. Dies war jedoch nicht immer der Fall, da gerade zu Beginn der Xamarin.Forms-Entwicklung viel plattformspezifischer Code geschrieben werden musste, wenn man beispielsweise auf die Sensoren des Geräts zugreifen wollte. Aus diesem Grund gab es Plugins für Xamarin.Forms, die in den App-Projekten installiert werden können, um einen Wrapper für die plattformspezifischen APIs und die entsprechende Implementierung auf jeder Plattform zu erhalten. Bereits 2018 veröffentlichte Microsoft Xamarin.Essentials, ein NuGet-Paket, das jetzt Teil der Xamarin.Forms Templates ist, um den Zugriff auf viele plattformspezifische APIs zu ermöglichen, sodass man einfach über den plattformunabhängigen Code darauf zugreifen kann.
Animationen in Xamarin.Forms mit Lottie
Vor ein paar Jahren habe ich bereits Lottie hier im Blog vorgestellt. Da sich in der vergangen Zeit ein wenig was im Handling geändert hat, werde ich in diesem Beitrag nun zeigen, wie ihr Animationen mit Lottie in eure Xamarin.Forms Apps integrieren könnt. Zunächst ein paar Worte zu Lottie. Dabei handelt es sich um eine Library für Android, iOS, Web und Windows, welche die Möglichkeit bietet Animationen, welche mit Adobe After Effects erstellt und als JSON-Datei abgespeichert wurden nativ auf den mobilen Endgeräten und im Web rendern kann. Entwickelt wir Lottie dabei von der Firma AirBnB und steht kostenfrei zur Verfügung.
Die Ausgangslage bildet eine leere Xamarin.Forms App. Als nächstes stellen wir sicher, dass alle NuGet-Pakete aktualisiert sind.
Rekursive Funktionen in C#, Python und Racket
Wenn ich an mein Informatik-Studium zurück denke, dann kommen mir auch rekursive Funktionen in den Sinn. Bereits in den ersten Vorlesungen und Übungen mussten wir verschiedene Funktionen als rekursive Funktionen in der Sprache Racket umsetzen. In diesem Beitrag möchte ich euch nun einige "Standard"-Funktionen zeigen, welche man sicherlich in jedem Informatik-Studium schreiben muss. Dabei werde ich neben C# diese auch in Python schreibe. Zunächst wollen wir aber die Frage beantworten, was eigentlich eine rekursive Funktion ist. Kurz gesagt, ist eine Funktion rekursiv, wenn sie sich selbst aufruft. Wir finden also im Rumpf der Funktion einen Aufruf derselben Funktion.
Man benutzt eine rekursive Funktion zum Beispiele gerne, um mathematische Funktionen abzubilden. So hat sicherlich jeder schon einmal von der Fakultät gehört. Diese Funktion multipliziert alle natürlichen Zahlen (ohne Null), welche kleiner oder gleich der übergebenen Zahl ist. So ist 5! = 5 * 4 * 3 * 2 * 1 oder aber 5! = 5 * 4! und so sehen wir hier bereits eine Rekursion.
Neuer Bereich: Archiv
Dem einen oder anderen wird es sicherlich bekannt sein, dass ich früher auf tsjdev.de gebloggt und über meine App-Projekte berichtet habe. Mit meinem Umzug nach Pforzheim habe ich dann das Bloggen etwas schleifen lassen, bevor ich unter tsjdev-apps.de dann meinen neuen Blog ins Leben gerufen habe. Nun habe ich die letzten Tagen etwas nachgedacht und mir überlegt, dass ich den Inhalt von tsjdev.de nicht einfach löschen, sondern weiterhin zur Verfügung stellen möchte, auch wenn viele Dinge heutzutage anders gemacht werden. Daher habe ich nun den gesamten Content genommen und stelle diesen nun unter archive.tsjdev-apps.de zur Verfügung.
Windows Sandbox zum Testen von Software
Es kommt vor, dass man zum Beispiel Software einmal testen möchte, ohne Änderungen an seinem eigenen Betriebssystem vornehmen zu müssen. Oder man bekommt eine verdächtige eMail mit Anhang, welchen man sich gefahrenlos anschauen möchte. In diesem Beitrag möchte ich euch nun Schritt für Schritt zeigen, wie ihr die Windows Sandbox genau für diese Szenarien auf eurem eigenen Rechner in wenigen Schritten einrichten könnt.
NuGet: Xamarin Community Toolkit
Der eine oder andere hat bestimmt schon von der Ankündigung im Rahmen der Microsoft Build-Konferenz 2020 gehört, dass mit Xamarin.Forms 5.0 die letzte Version von Xamarin.Forms erscheinen wird und im November 2021 mit der Veröffentlichung von .NET 6 als .NET MAUI fortgeführt wird. Seit einiger Zeit wurde nun Xamarin.Forms 5.0 veröffentlicht. Doch was passiert mit den Features, welche es nicht mehr in einen stabilen Zustand gebracht haben? Hier kommt das Xamarin Community Toolkit ins Spiel, welches ich euch in diesem Beitrag näher vorstellen möchte.
Replatforming: Von Xamarin Native zu Xamarin.Forms
Normalerweise entscheidet man sich am Anfang der Entwicklung einer neuen App, ob man auf Xamarin Native oder Xamarin.Forms setzt. Im Laufe der Zeit kann sich die Meinung oder auch der Rahmen ändern, so dass man seine Entscheidung anders treffen würde. In diesem Beitrag möchte ich kurz aufzeigen, wie man eine bestehen native Xamarin App auf Xamarin.Forms portieren kann. Dieser Artikel ist bereits in englischer Sprache auf Medium veröffentlicht worden.
Surface Duo: Simple Liste mit Detail
Seit wenigen Wochen ist das neue Smartphone von Microsoft mit Android und dem Namen Surface Duo auch außerhalb den USA erhältlich. In einem Blog-Beitrag habe ich das Gerät mit den zwei Screens bereits vorgestellt. Nun dachte ich mir, dass es an der Zeit ist einmal einen Blick auf die Entwicklung für das Surface Duo zu werfen. Als Beispiel-Anwendung soll eine einfache Liste dienen, welche bei der Auswahl eines Eintrags ein entsprechendes Detail anzeigt. Das besondere dabei ist, dass wir die beiden Screens des Surface Duos verwenden wollen, aber gleichzeitig auch lauffähig sind, wenn keine zwei Screens zur Verfügung steht.
Padding bei SVG-Bilder entfernen
Ich hatte letztens für ein Projekt ein Problem mit SVG-Bilder. Diese wurde mir bereitgestellt, allerdings hatten diese bereits ein Padding, so dass das eigentliche Bild kleiner war. Daher habe ich eine Möglichkeit gesucht mit relativ wenig Aufwand das Padding zu entfernen, so dass ich dieses selbst bei Bedarf in meiner App setzen kann. Nach kurzer Zeit habe ich eine Möglichkeit gefunden, welche ich euch gerne in diesem Beitrag vorstellen möchten.
Anzeigen von Dateien auf einem Device mit dem Device File Explorer
Gerade wenn man eine mobile App entwickelt, kann es hilfreich sein, wenn man auf die Dateien eines Devices Zugriff hat. Für eines meiner Projekte speichern wir die Daten in einer Datenbank im lokalen App-Verzeichnis. Es ist nun jedoch nicht so einfach möglich Zugriff auf diese Datei außerhalb der App zu bekommen, um zum Beispiel einen Blick in die Datenbank zu werfen. Glücklicherweise ist der Device File Explorer Teil von Android Studio, welcher euch ganz einfach Zugriff auf die Dateien gibt.