Android - API Unterschiede herausfinden
Android ist ein riesiges und teilweise fragmentiertes System. Als Entwickler stellt sich dadurch häufig das Problem für diverse API Versionen entwickeln zu müssen. Dadurch sind Funktionen teilweise nicht verfügbar oder wurden geändert. Hier hilft häufig die Support Library, doch leider nicht immer. So hatte ich z.B. das Problem, sehr tief innerhalb von Android unterwegs zu sein und in diesem Kontext wurden zwischen APIs Funktionen geändert, andere angepasst und scheinbar hatte sich auch auf Google Seite ein Fehler eingeschlichen, wodurch einige Dinge gar nicht mehr funktionierten wie gewünscht. Doch um erst einmal herauszufinden wann sich was geändert hat, braucht man natürlich eine Übersicht. Interessanterweise ist mir diese noch nie untergekommen und ich habe sie auch eher zufällig nach einigem Suchen entdeckt. Um euch die eine oder andere Suche zu ersparen, könnt ihr sie direkt in den Related Links finden. Sie ist direkt auf die offiziellen Android Website hinterlegt und zeigt euch die Unterschiede zwischen verschiedenen API Leveln. Dabei kann nach verschiedenen Dingen (z.B. Klassen oder Methoden) sortiert und zusätzlich noch gefiltert (z.B. nur entfernte Inhalte anzeigen) werden. Meiner Meinung nach eine sehr praktische Seite, welche vermutlich jeder Android Entwickler kennen sollte.
Google Event - Meine Meinung
Das gestrige Google Event war interessant und brachte einige gute Ideen und vor allem den neuen Kurs von Google ans Licht. Die Pixel Phones sind im Flagship Bereich angesiedelt, mit Google Home bringt man den neuen Assistant ins Wohnzimmer und die Verbindung kann man dabei mit einem modularen W-Lan Router Setup aufbauen. Spannende Hardware, welche durch die Daydream VR-Brille vervollständigt wird. Die Pixel Phones sind zusätzlich die ersten Daydream Devices. Insgesamt wird die aktuelle Ausrichtung von Google deutlicher denn je: Ein einheitliches System zu schaffen. Software die auf allen Geräten läuft, eine VR Plattform welche auf den neuen Phones läuft, durch die Brille nutzbar wird und mit der nötigen Software im Hintergrund unterstützt wird. Ergänzt durch Hardware die das Internet, diverse Dienste und Medien direkt aus einer Hand und von einem Hersteller auf jedes Gerät bringt. Gerade dies ist ein eher neuer Part für Google, denn umfangreiche und hilfreiche Software hatte man ja schon lange im Angebot, doch ein breites Hardware-Sortiment war bis dato noch nicht so stark gegeben. Doch für mich persönlich war das ganze leider trotzdem eine gewisse Enttäuschung. Ich hatte auf einen Nachfolger für mein extrem gutes Nexus 5 gehofft. Dabei hatte ich ähnliche Preis- / Leistungsvorstellungen, doch diese wurden leider absolut nicht getroffen, denn die Preise für die beiden Pixel Geräte sind mit mindestens 759 Euro einfach extrem hoch. Somit ergibt sich für mich, das Nexus 5 wird mich noch länger begleiten, gutes W-Lan habe ich schon und Google Home wird auf jeden Fall auf die Beobachtungsliste gesetzt. Was war euer Eindruck vom Event?
Google Event in wenigen Minuten
Nur noch ca. 15 Minuten und dann geht es los mit Googles großem Event. Es scheint dieses Mal tatsächlich einiges zu geben, denn nicht nur in der Community, auch Seitens Google gab es den einen oder anderen Schwenk in Richtung Hype. Sicher ist das die zwei neuen Pixel Smartphones final angekündigt werden, man geht zusätzlich davon aus das Google Home an den Start geht und auch im VR Bereich wird es mit Google Daydream vermutlich Neuigkeiten geben. Zusätzlich gibt es Spekulationen um eine Verbindung von Chrome und Android, vielleicht das eine oder andere neue im Chromecast Bereich und was Google sonst noch an Überraschungen auf Lager hat. Es dürfte also definitiv interessant werden. Solltet auch ihr Interesse haben, schaut einfach in den unteren Bereich der News, dort ist der Live Steam und später das Youtube Video eingebunden. Alternativ gibt es natürlich auch die Related Links.
Android Studio 2.2 - Finaler Release
Über die verschiedenen Vorabversionen von Android Studio 2.2 habe ich bereits das eine oder andere mal berichtet, da möchte man nun den finalen Release natürlich nicht verschlafen. Denn es gibt einiges zu holen, der Layout Editor wurde massiv verbessert und auch das neue Constraint Layout wird immer stabiler. Für die C++ Entwickler gibt es gute Nachrichten, denn selbiger Support wurde stark ausgebaut. Solltet ihr mal nicht weiter wissen, kann man nun direkt in Android Studio auf Beispiele von Google zurückgreifen, um bei Problemen schneller eine Lösung zu finden. Obligatorisch sind schon fast die Optimierungen im Instant Run Bereich. Sehr interessant finde ich den APK Analyzer, welcher es euch ermöglicht die finale APK eurer App zu inspizieren. Der Emulator ist nun in der Lage Sensoreingaben zu simulieren und der Espresso Test Recorder (Beta) soll eure UI Tests vereinfachen. Solltet ihr im Gaming-Bereich unterwegs sein dürfte euch die Beta des GPU Debuggers interessieren. Unter der Haube wurde der Jack Compiler verbessert, ebenso wie der Java 8 Support und auch eure finalen Manifest-Dateien könnt ihr euch nun leichter zu Gemüte führen. Android Studio 2.2 setzt auf IntelliJ 2016.1.3 auf und soll neben diversen Verbesserungen natürlich auch die gewohnt Stabilität liefern. Ich selber habe privat bereits aktualisiert und werde beruflich wohl diese Woche nachziehen, sofern sich keine Probleme ergeben. Für interessierte habe ich im unteren Bereich noch ein kleines Vorstellungsvideo zur neuen Version hinterlegt.
Android Studio 2.2 - Beta 3
In der letzten Zeit gab es mal wieder einige Updates für Android Studio. Diese sind mittlerweile soweit, dass man ihnen den Beta Status verliehen hat. Man nähert sich also langsam einer finalen Version. Meine letzte Erwähnung der Android Studio Updates ist ziemlich genauer zwei Monate her und in dieser Zeit hat sich einiges getan. Instant Run wurde stabilisiert und weiter beschleunigt, der neue Layout Editor und das neue Constraint Layout wurden verbessert und natürlich wurde der Support für Android 7.0 hinzugefügt. Doch allem voran wurde an der Stabilität gearbeitet und viele Bugs behoben. Abschließend gab es noch Optimierungen im Bereich Speicherverbrauch (RAM) und kleine Probleme mit Unit Test + Tests im allgemeinen wurden aus der Welt geschafft. Mit den Updates von Android Studio wurde auch das Build Tool Gradle entsprechend aktualisiert und das dazugehörige Plugin natürlich auch. Bis jetzt ist die Beta 3 nur auf dem Canary Channel verfügbar, der selbst für mich etwas zu heiß ist. Ich selber arbeite privat, wie auch auf der Arbeit auf dem Dev Channel, womit ich sehr gut fahre. Wie sieht es bei euch in diesem Bereich aus, gehört ihr zur “Living on the Edge Fraktion” oder geht ihr lieber auf Nummer sicher.
Android 7.0 Nougat finaler Release
Solltet ihr ein aktuelles Nexus Gerät haben dürft ihr euch freuen, denn seit gestern wird Android 7.0 Nougat als finaler Release ausgeliefert. Ich selber bleibe vorerst leider außen vor, denn das Nexus 5 (2013) wird leider nicht mehr unterstützt. Die neuen Nexus-Geräte wie gesagt aber schon. Weiterhin wird es in der nächsten Zeit sicherlich auch diverse Hersteller geben die Updates, bzw. neue Phones mit Nougat, bringen werden. In diesem Release dürfen wir uns auf mehr Geschwindigkeit, einen neuen JIT/AOT Compiler open_in_new, Unterstützung der Vulkan API und natürlich den Multi-Window Support freuen. Vor allem letzteres dürfte für viele interessant sein. Notifications werden in Nougat auch besser, denn durch Direct Reply kann man nun einfacher und besser auf z.B. Chat-Nachrichten antworten. Das Booten und der Prozess nach einem Betriebssystemupdate wurde auch stark optimiert. Alles in allem hat sich viel getan und laut Google gibt es über 250 Major Features, welche hinzugekommen sind und dabei wurde natürlich auch das Thema VR nicht vergessen. Auf den ersten Blick sind viele Features vor allem für Entwickler relevant, diverse sind aber auch allgemein eine definitive Verbesserung. Ich freue mich schon auf den Herbst, wo hoffentlich gute und erschwingliche neue Nexus-Geräte auf den Markt kommen, was mir dann auch die Tür ins Nougat Land öffnen wird.
Eclipse Mars - Migration zu Neon und IntelliJ Idea
Für einige mag diese Überschrift etwas verwirrend klingen, aber ich denke man wird sie schnell verstehen. Doch worum soll es hier eigentlich gehen? Ich entwickle Software, sowohl für Android (Java), wie auch für meine Webseite (PHP, HTML, CSS, JS) und auch allgemeine Java Projekte sind dabei. Während meiner Uni-Zeit brauchte ich zusätzlich noch LaTeX. Hin und wieder gab es dann noch alternative Projekte und kleinere Tests. Alles in allem wird denke ich relativ schnell klar, dass ich eine vielseitige Lösung brauchte und diese fand ich mit Eclipse. Alle genannten Sprachen und Einsatzgebiete konnte ich dort abdecken. Doch über die letzten Jahre gab es viel neues, einige alte Dinge brauchte ich nicht mehr und mein riesiges Eclipse (ein Eclipse für alles, inklusive allen Plugins, welches ich meistens aktuell hielt, auch über Major Releases hinweg) wurde auch nicht schneller. Somit schaute man etwas über den Tellerrand, teilweise freiwillig und teilweise gezwungenermaßen (Stichwort: Android Studio). Nach einer gewissen Gewöhnungsphase muss ich gestehen Android Studio (IntelliJ Idea ist die Basis) gefällt mir wirklich gut. Aus diesem Grund überlege ich aktuell mehr auf dieser Plattform aufzubauen und da kam das Update von Eclipse Mars auf Neon gerade richtig. Denn dieses Update lässt sich nicht über die internen Eclipse Update-Prozesse regeln, eine komplett neue Installation ist fällig. Somit werde ich innerhalb der nächsten Zeit meine Projekte teilweise unter Eclipse Neon und teilweise unter IntelliJ Idea neu einrichten. Über das Für und Wider und ein wenig auch über den Update-Prozess und die darin enthaltenen Hürden, möchte ich in dieser kleinen neuen News-Reihe berichten. Sollte ihr konkrete Fragen haben, nur raus damit und ich versuche sie zu beantworten. Meldet euch einfach direkt in den Kommentaren.
Droidcon 2016 - Die Sessions - Teil 5
Gegen 12:30 ging es weiter auf der Droidcon. Die Headline war Half way to clean architecture open_in_new und Thema war hier der Aufbau eurer Anwendung und wie ihr diesen nutzen könnt, um alles klar strukturiert und gut separiert aufbauen zu können. Eines der Kernkonzepte war dabei Divide and Conquer open_in_new und allgemein der Aufbau in modularen Layern, anstatt in monolithischen Activities. Ein weiterer sehr relevanter Punkt war das MVP Pattern open_in_new, welches auch ich aktuell einsetze. Dieser Talk war definitiv sehr interessant und hilfreich. Weiter ging es nach dem Mittag um 14:00 mit Professional Data Persistence and Synchronization open_in_new. Hier gab es sehr viel zur SQLite ORM Lösung GreenDAO. Auch andere Ansätze wurden gezeigt, doch alles in allem hatte GreenDAO die Nase vorn. Im Rahmen der Session wurde auch die neue Version 3 vorgestellt. Um 14:45 wurde es dann wirklich anspruchsvoll mit der Session Adoption of RxJava on the Airbnb Android app open_in_new. RxJava verfolgt relativ neue Ansätze wenn es um die Umsetzung von Aktion / Reaktion Abläufen geht. Darüber berichtete ich bereits in einem anderen Artikel. Hier wurden diverse spannende Dinge gezeigt und erläutert, diese waren wie erwähnt aber auch durchaus fordernd. Dies war dann leider auch schon mein letzter Talk, denn die letzten beiden, welche nach der Kaffeepause gestartet wären, konnte ich nicht mehr wahrnehmen. Grund dafür war die Abfahrtszeit meines Busses. Alles in allem habe ich viel gelernt und viele spannende Eindrücke gesammelt, falls euch mein allgemeines Fazit interessiert folgt einfach diesem Link.
Humble Mobile Bundle 19
Für Android Gaming Fans gibt es wieder etwas feines. Denn das Humble Mobile Bundle 19 ist gerade an den Start gegangen und versorgt euch bei Interesse noch knapp 14 Tage lang mit feinen Spielen. Für einen Preis eurer Wahl sichert ihr euch Chameleon Run, Ys Chronicles II und Hitman GO. Mehr als der aktuelle Zahlungsdurchschnitt beschert euch außerdem noch Punch Club und Super Stickman Golf 3 Premium. Ab günstigen 6 Dollar gibt es oben drauf noch die zwei Spiele Dropsy und The Banner Saga. Vor allem Hitman Go gefällt mir dabei gut, denn dieses spiele ich hin und wieder ganz gerne und zum Zeitvertreib taugt es wirklich gut. Wie sieht es bei euch so aus, seid ihr auch auf dem Smartphone Gamer oder interessiert euch dieses Thema nicht so wirklich?
Droidcon 2016 - Die Sessions - Teil 4
Nach einer kurzen Pause geht es heute weiter mit den Sessions des zweiten Tags. Dieser begann mit der zweiten Keynote Android Development Yesterday and Today (and maybe even Tomorrow) open_in_new. Zu dieser findet ihr im unteren Teil der News übrigens direkt das eingebettete Youtube Video. Hier gab es diverse Einblicke in das Android Ökosystem und auch einige persönliche Eindrücke des Google Android Teams. Mir gefiel dieser kleine “Schwank aus der Vergangenheit” gut, wenn er auch nicht viel technische Informationen vermittelte. Weiter ging es um 11 Uhr mit dem Talk Contextual communications and why you should care open_in_new. Dieser ging wie der Name schon sagt darauf ein, dass es für Apps extrem sinnvoll ist, den Nutzer im Kontext der App zu halten. Ich hatte hier erwartet, dass es etwas mehr darum geht den Kontext des Nutzers selbst zu erkennen, aber der Talk war trotzdem interessant. Denn er zeigte mit diversen Techniken, wie z.B. den neuen eingebetteten WebViews, wie man dem Nutzer externe Funktionen bietet, ohne die App aus dem Vordergrund entfernen zu müssen. Um 11:45 Uhr ging es weiter mit Building simple and secure account systems on Android open_in_new. Hier gab es diverse Informationen zu Googles Login Systemen und wie man mit Hilfe von diesen dem Nutzer das Leben einfacher machen kann. Definitiv eine sehr interessante Sache, wenn man die freie Wahl an Diensten hat. Ich persönlich hatte mir hier noch etwas mehr zu allgemeingültigen Ansätzen erhofft. Der Talk brachte trotzdem einige neue Informationen und vor allem im Bezug auf UI und UX gab es den einen oder anderen hilfreichen Tipp. Die weiteren Talks folgen im laufe dieser Woche.