Android Dev Summit 2021

Draußen wird es kalt und ungemütlich, genau die richtige Zeit um drinnen Entwickler-Events und Streams zu schauen. In diesem Bereich gibt es in der nächsten Zeit einige und vor allem die Rückkehr der Android Dev Summit freut mich.
Vom 27. bis 28. Oktober wird es unter anderem diverse Tech-Talks und Coding Sessions geben. Auch neues zu Android 12 aus Entwicklersicht wird man erfahren. Ich werde an dem online Event auf jeden Fall teilnehmen und mal rein schauen. Alle weiteren Informationen findet ihr auf der offiziellen Webseite, welche ihr in den Related Links findet.
Open Source Event Hacktoberfest gestartet

Der Oktober hat begonnen und für Entwickler mit Interesse im Open Source Bereich bedeutet dies interessante Möglichkeiten. Denn wie schon in den letzten Jahren ist auch dieses Jahr das Hacktoberfest wieder aktiv.
Soll heißen auf GitHub open_in_new und GitLab open_in_new gibt es in diversen teilnehmenden Projekten Issues mit dem Label Hacktoberfest. Ob ein Projekt teilnimmt ist dem Maintainer überlassen. Durch das abarbeiten solcher Issues könnt ihr Punkte sammeln und vielleicht die eine oder andere Kleinigkeit als Belohnung bekommen. Doch eigentlich geht es eher darum etwas für die jeweiligen Projekte zu tun, gemeinsam etwas zu erreichen und voneinander zu lernen.
Ich bin schon seit langem am überlegen etwas aktiver im Kontext der Flutter Community zu werden und dort bei den Plus Plugins open_in_new zu helfen. Leider habe ich bis dato nicht die Zeit gefunden, nehme dieses Event nun aber als Anlass etwas mehr zu tun. Falls auch ihr Interesse habt schaut doch generell mal, ob eure favorisierten Projekte vielleicht teilnehmen oder schaut wie ich mal im Plus Plugins Repository vorbei.
Die Aktion geht wie der Name schon sagt bis Ende des Monats und alles weitere findet ihr in den Related Links. Vergesst nicht euch auf der offiziellen Webseite anzumelden, damit eure PRs auch gezählt werden.
Unresolved reference: java in IntelliJ Idea / Android Studio

Im Rahmen eines meiner letzten Updates für IntelliJ Idea kam es leider zu einem nervigen Problem. Alle normalerweise vorhandenen Java Klassen wurden mir als fehlerhaft angezeigt und das schon beim Import. Der Fehler Unresolved reference: java weißt dabei auf eine fehlende / falsche Konfiguration des innerhalb von Idea genutzten JDKs hin. Bestätigt wurde diese Annahme im meinem Fall durch den Fakt, dass ich das Projekt ohne Probleme via Gradle bauen konnte, obwohl die IDE mir Build Fehler prophezeite.
Nach dem öffnen von File / Project Structure / Platform Settings / SDKs
war schnell klar das ein Problem existiert, denn es war zwar ein Eintrag vorhanden und ausgewählt (jbr-11
), aber es waren keinerlei Einträge im Classpath Tab vorhanden.
Jetbrains Toolbox - IDEA und Android Studio einfach verwalten

Ich arbeite mittlerweile seit mehr als 5 Jahren mit Jetbrains Produkten und in diesem Kontext meist mit IntelliJ IDEA in der Community Edition und mit Android Studio. Es gibt noch viele weitere Tools, vor allem für zahlende Kunden, aber ich bin mit den beiden genannten durchaus gut ausgerüstet.
Da diese Tools die Basis meiner Entwicklung sind, möchte ich sie natürlich aktuell halten und von Zeit zu Zeit ist auch eine Beta Version nicht schlecht, um vorab Features zu testen. All diese Sachen hatte ich bis letztes Jahr von Hand installiert und verwaltet, wobei die Updates via automatischer Funktion direkt innerhalb der Tools verwaltet wurden.
Seit der letzten Neuinstallation, welche im Rahmen meines PC Upgrades stattfand, bin ich nun voll und ganz auf die Jetbrains Toolbox umgestiegen. Hierbei handelt es sich um ein kleines Management Tool für IntelliJ Produkte. Es kann mit einem Account genutzt werden, ich selber nutze es allerdings ohne. Die Toolbox ermöglicht es euch Software zu installieren und das auch parallel in verschiedenen Version. Updates werden ebenfalls hier verwaltet. Dabei ist ein Rollback möglich, da die alte Version nicht direkt überschrieben wird. Dies ist sehr praktisch, sofern ein Projekt o.ä. vielleicht doch noch nicht mit der neusten Version funktioniert. Darüber hinaus gibt es weitere kleine Einstellungsmöglichkeiten, wie z.B. für die Java Settings.
Alles in allem ist das Tool keine Magie, aber er hilft bei der unkomplizierten Verwaltung von für mich essentieller Software, sowohl bei der initialen Installation, wie auch beim sicheren Aktualisieren. IDEA nutze ich bereits seit diversen Monaten mit der Toolbox, Android Studio seit ca. einem Monat und bis dato konnte ich noch keiner Fehler bei Updates oder ähnlichem feststellen.
Tessa App - Update mit Dark Mode und anpassbaren Kategorien

Es gibt wieder neues von mir aus der Flutter Welt. Meine App Tessa hat ein Update erhalten. In dieser Version fügte ich einen Dark Mode und anpassbare Kategorien hinzu. Natürlich wurden auch diverse Fehler behoben und einige Anpassungen an der UI vorgenommen. Letzteres sorgt vor allem für einen modernen Look im Bereich der Snackbars. Ebenfalls verbessert wurde die Performance.
Im Rahmen des Updates habe ich das erste Mal mit Flutter in Verbindung mit einem dedizierten Dark Mode gearbeitet und ich bin durchaus zufrieden. Generell musste ich lediglich mein allgemeines Theme in ein helles und ein dunkles aufteilen und der Großteil war geschafft. Natürlich muss man sich dann noch um eventuelle manuelle Einstellungen kümmern, aber extrem vieles lief einfach so. Selbst UI die von Third Party Libraries gebaut wird, konnte bis auf kleine Ausnahmen ohne Änderungen verwendet werden. Hier merkt man das Flutters Material Komponenten alle aus einem Guss kommen.
Bedenken sollte man allerdings auch die nativen oder statischen Komponenten. In diesem Bereich habe ich vor allem kleinere Anpassungen an den genutzten Bildern vorgenommen und den initialen Splash Screen angepasst. Hierfür habe ich innerhalb von Android selbst die gegebenen Möglichkeiten genutzt. Da zu diesem Zeitpunkt Flutter selbst noch nicht aktiv ist, ist der Splash Screen immer gemäß des System Themes gesetzt und manuelle App Einstellungen greifen dann nachdem der Flutter Kontext geladen ist.
Jetpack Compose - Meine ersten Erfahrungen

Ich habe in den letzten Wochen relativ eingehend erste Schritte mit Jetpack Compose gemacht. Dies ist Androids neues Framework zu Erstellung des User Interfaces. Dabei entfernt man sich weit vom bekannten Ansatz, bei welchem ausgelagertes XML genutzt und später auf die eine oder andere Art mit der eigentlichen Logik verbunden wird.
Mit Compose bewegt man sich in sehr ähnlichen Welten wie bei Flutter. Die gesamte UI wird direkt im Code definiert und entsprechend ist eine extra Verbindungsschicht unnötig. Dadurch spart man sich natürlich einiges an Boilerplate Code. Auf der anderen Seite muss man natürlich umdenken, was mir persönlich durch meinen Flutter Hintergrund relativ leicht fällt.
Jetpack / AndroidX Library Updates im Auge behalten

Falls ihr in der Android Developer Welt unterwegs seid, habt ihr sicherlich schon mit Jetpack / AndroidX Libraries open_in_new gearbeitet. Selbige bieten eine Vielzahl von wichtigen Kernfunktionen, sind dabei meist abwärtskompatibel und werden sehr aktiv von Google selbst gepflegt. Doch eben diese häufigen Updates sorgen auch dafür, dass man als Entwickler kontinuierlich ein Auge auf die genutzten Versionen haben muss.
In diesem Kontext bietet Google eine schöne Übersichtsseite, welche Informationen zu den verschiedenen Release Channels und den aktuell genutzten Versionen bietet. Außerdem gibt es pro Channel Release News. Selbige können auch via RSS Feed abonniert werden, sodass ihr immer auf dem neusten Stand seid. Auch wenn man gerne sagt “Never change a running system”, sind Updates im Bereich der Jetpack / AndroidX meiner Meinung nach eine Ausnahme. Durch ihre agile Entwicklung werden oft Schritt für Schritt neue Features eingebaut oder kleinere Probleme behoben. Diese Updates landen schnell in den verschiedenen Release Channels und die Nutzung besagter Updates kann einem das Leben durchaus leichter machen. Insofern ist meine Empfehlung alle Updates im Auge zu behalten und gegebenenfalls die Release Notes zu checken, ob es sich lohnt das Update kurzfristig zu integrieren.
Bezüglich der Release Channels kann ich übrigens noch anmerken das man auch mal eine Beta oder sogar Alpha Version testen kann. Bei Google sind derartige Versionen meist wesentlich stabiler als man es vielleicht gewohnt ist. Mitunter liegt dies wohl daran, dass Google ihre Libraries und das dazugehörige Tooling meist intern schon aktiv verwendet und somit testet, bevor es überhaupt die Außenwelt erreicht.
Flutter in Production mit Tessa - Reit-Assistent

Ich arbeite gerne mit Flutter, migrierte meine internen Java & Android Projekte und schreibe quasi täglich die eine oder andere Zeile Code. Doch ist Flutter auch was für den echten produktiven Einsatz? Diese Frage kann ich seit kurzem nun auch offiziell mit einem klar ja beantworten. Grund dafür ist meine erste Flutter App im Google Play Store (Tessa - Reit-Assistent open_in_new), welche durchaus umfangreich geworden ist und mit Dart und Flutter als Basis sehr gut funktioniert.
Der Kontext ist mit einer Companion App für Pferdebesitzer eher außerhalb meiner Kernkompetenzen, aber genau dies zeigt mir noch mehr das man mit Flutter Apps entwickeln kann, die den eigenen Wünschen oder den Wünschen eines Auftraggebers entsprechen. Grund für das Thema der App ist meine Frau, welche mit dem Reiten ein Hobby gefunden hat, welches durchaus komplex sein kann.
Google Play Service Fee - 15 Prozent Programm nicht vergessen

Sofern ihr bei Google Play Apps anbietet, welche auch Einnahmen generieren sollen, solltet ihr euch für das 15 Prozent Programm eintragen. Auch wenn es diverse Hinweise gab, auch ich möchte nochmal darauf hinweisen, denn ich weiß selber wie vergesslich ich bin und vielleicht geht es euch da draußen ja auch manchmal so.
Es geht darum das Google die Google Play Service Fee auf 15% für die erste Million (USD) reduziert. Allerdings müsst ihr euch dafür anmelden. Ansonsten zahlt ihr weiterhin 30% auf alle Einnahmen. Falls ihr von besagten Änderungen profitieren könnt und wollt, folgt einfach den Related Links. Die Anleitung besteht aus nur wenigen Schritten und schon seid ihr dabei.
Google I/O - Interessantes für Android Entwickler

Die Google I/O ist bereits ein paar Tage vorbei und nun kam ich endlich auch dazu die eine oder andere Session anzuschauen. Im Bezug auf Android möchte ich euch ein paar relevante Videos ans Herz legen. Sofern ihr in den Android Welt unterwegs seid und die Chance habt auf aktuelle Dinge setzen zu können, dürfte die eine oder andere neue Funktionalität sicherlich spannend für euch sein.