Ingenieurbüro Edelmann

Ingenieurbüro Edelmann

Softwareentwicklung • Softwarearchitektur • Beratung


Google I/O 2016 - Android Studio 2.2 Preview - Constraint Layout

Vom 18. bis zum 20. Mai 2016 fand die diesjährige Google Entwicklerkonferenz Google I/O (https://events.google.com/io2016) statt. Google selbst spricht übrigens nicht mehr von Entwicklerkonferenz, sondern von einem Developer Festival ;). Stattgefunden hat die Google I/O dieses Jahr nicht in San Fransisco im Moscone Center, sondern in den Shoreline Amphitheatres in Mountain View, CA, sozusagen Googles Hinterhof.

Google I/O 2016

Im Rahmen der I/O wurden auch neue Developer Tools für Android vorgestellt. So zum Beispiel eine neue Version der Android Entwicklungsumgebung Android Studio in einer Preview Version (2.2.0.1 Preview). –> “This week at Google I/O 2016 we launched Android Studio 2.2 Preview.”

Die beinhaltet zahlreiche neue Features die die Entwicklung betreffen, aber auch neue und verbesserte Designunterstützung. Am interessantesten finde ich einen neuen Layout Manager namens “Constraint Layout”.

–> “Constraint Layout: A new powerful and flexible Android layout that allows you to express complex UIs without nesting multiple layouts.”

Der wird im ‘Rahmen’ einer Support Library rückwärtskompatibel bis Version 9 des Android SDKs angeboten.

Und für diesen neuen Constraint Layout Manager gibt es auch Design Unterstützung im neuen Android Studio. Allerdings ist die noch Work-in-Progess.

Ein erster Blick:

Android Studio Constraint Layout

Der Riesenvorteil im neuen Android Studio (zumindest wenn die Entwicklung abgeschlossen ist): Die Constraints können per UI (Drag and Drop) erstellt werden und das XML muss nicht nochmal angefasst werden. (So der Plan ;)

Constraints können vom aktiven View zu einem anderen Punkt erstellt werden, wie:

  • dem Ankerpunkt eines andern Views
  • dem Eckpunkt eines Layouts
  • einer unsichtbaren Hilfslinie

mehr demnächst hier!

PS: Irgendwie erinnert mich das ConstraintLayout an das AutoLayout bei iOS. Oder? ;)

Android Studio 2.0

Nach langem Warten ist das Android Studio nun in der Version 2.0 erschienen.

Mein absolutes Lieblingsfeature (ich weiß jetzt grad nicht wie es offiziell heißt, aber):

  • Instant Code Swapping

–> Der Entwicklungszyklus wird wieder erträglich im Emulator, wenn testweise Kleinigkeiten an der Benutzerobrfläche geändert werden. !!!

Weitere Features:

Android Studio 2.0 Features

Reto Meier im Youtube Android Developer Channel:

WWDC 2016 Ticket Lotterie

Apple alljährliche Entwicklerkonferenz “WWDC”:https://developer.apple.com/wwdc steht wieder an.

Die WWDC wird dieses Jahr vom 13.-17. Juni 2016 in San Francisco stattfinden. Viele, viele Developer werden zu dieser Zeit wieder nach San Francisco pilgern und Apple huldigen. Noch viel mehr werden allerdings wieder leer ausgehen, da die Tickets mittlerweile so begehrt sind, dass sie über eine Art Lotterie ausgespielt werden.

Für uns Europäer ist die ganze Konferenz sicherlich eine tolle Erfahrung mit interessanten Einblicken, allerdings auch ein ziemlich teurer Spaß. Zu der Zeit sind keine vernünftigen Hotelzimmer unter 150$ zu bekommen. Und der Flug schlägt auch nochmal mit mindestens 1000€ zu Buche bzw. zu Karte.

Ich werde dieses Jahr gar nicht erst versuchen ein Ticket über die Lotterie zu ergattern, sondern werde mich ganz auf die, mittlerweile tollen, Streamingangebote verlassen. Die Keynotes werden per Live Stream übertragen und meisten interessanten Sessions gibt es kurz nachher als Video.

Allen die bei der Lotterie teilnehmen viel Erfolg!

Apple WWDC 2016 Einladung Screenshot

UbiWoL - die neue WakeOnLAN App für iOS und tvOS 1 (später watchOS)

Um mein NAS und diverse andere Rechner bequem von überall im häuslichen WLAN starten zu können, war ich auf der Suche nach einer Wake-On-LAN App im iOS AppStore. Leider war da nichts vernünftiges und zeitgemäßes zu finden. Also Selbermachen ;)


Update 2016-04-05: Apples Review Team hat es noch immer nicht geschafft, die tvOS Version zu prüfen. Daher ist jetzt erstmal nur die iOS Version im AppStore verfügbar. :(


Hier ein Screenshot des Ergebnisses für iOS:

UbiWoL am iPhone SE

Nicht nur zum Starten eines Rechners ist die App geeignet, es werden auch die aktuell laufenden Rechner durch ein Indikatorfeld (rot/grün) angezeigt.

Aktuelle Features:

  • WakeOnLAN (WOL) Packete verschicken ;)
  • Status Indikator (Rechner an/aus)
  • iCloud Sync zwischen verschiedenen Rechnern

Demnächst im UbiWoL im AppStore

iOS 9 - AppIcons

Gerade habe ich für ein eigenes iOS und tvOS Projekt in Inkscape ein Icon entworfen. Um alle Plattformicons (25 Stück) zu erstellen, muss ich 25x in inkscape jeweils die neue Icongrüße und einen Namen angeben. Dauert …

iOS 9 App Icons

iOS 9 Watch Icons

tvOS 9 App Icons

Das muss doch einfacher gehen.

Tut’s auch.

Inkscape kann auch per Kommandozeile gesteuert werden. Dadurch kann ich alle Icons per Script zeitsparend erzeugen lassen.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/bin/sh

inkscape --export-area-drawing --export-png=icon__29.png --export-width=29 --export-height=29 $1
inkscape --export-area-drawing --export-png=icon__58.png --export-width=58 --export-height=58 $1
inkscape --export-area-drawing --export-png=icon__87.png --export-width=87 --export-height=87 $1
inkscape --export-area-drawing --export-png=icon__40.png --export-width=40 --export-height=40 $1
inkscape --export-area-drawing --export-png=icon__80.png --export-width=80 --export-height=80 $1
inkscape --export-area-drawing --export-png=icon_120.png --export-width=120 --export-height=120 $1
inkscape --export-area-drawing --export-png=icon_180.png --export-width=180 --export-height=180 $1
inkscape --export-area-drawing --export-png=icon__76.png --export-width=76 --export-height=76 $1
inkscape --export-area-drawing --export-png=icon_152.png --export-width=152 --export-height=152 $1
inkscape --export-area-drawing --export-png=icon_167.png --export-width=167 --export-height=167 $1

inkscape --export-area-drawing --export-png=icon__48.png --export-width=48 --export-height=48 $1
inkscape --export-area-drawing --export-png=icon__55.png --export-width=55 --export-height=55 $1
inkscape --export-area-drawing --export-png=icon__88.png --export-width=88 --export-height=88 $1
inkscape --export-area-drawing --export-png=icon_172.png --export-width=172 --export-height=172 $1
inkscape --export-area-drawing --export-png=icon_196.png --export-width=196 --export-height=196 $1

inkscape --export-area-drawing --export-png=icon1024.png --export-width=1024 --export-height=1024 $1

OS X 10.11 El Capitan von USB Stick installieren

Wer das neue OS X 10.11 Betriebssystem El Capitan auf mehreren Mac’s installieren möchte oder einfach nur einen Offline Installer sucht, ist hier richtig.

El Capitan von USB 1

So erstellt man einen bootbaren OS X 10.11 El Capitan USB Stick:

  • zuerst der zeitaufwändigste Teil, der Download von der neuen OS X Version El Capitan ( bei mir ca. eine ganze Stunde)

El Capitan von USB 2

  • einen USB Stick mit 8GB oder mehr einstecken

  • “diskutility” starten

El Capitan von USB 3

El Capitan von USB 4

  • den USB Stick mit Mac OS X Extended (Journaled) formatieren und als Name z.B. “ElCapUSB” angeben

  • wenn der Stick formatiert ist, kann das von Apple bereitgestellte Installations- bzw. Kopierscript verwendet werden:

bc. sudo /Applications/Install\ OS\ X\ El\ Capitan.app/Contents/Resources/createinstallmedia –volume /Volumes/ElCapUSB –applicationpath /Applications/Install\ OS\ X\ El\ Capitan.app –nointeraction

El Capitan von USB 5

  • 15 Minuten warten

–>

Done!

UbiDo - WebApp mit Bootstrap und MySQL Backend

So, letzte Woche hab’ ich mal wieder ein paar Stunden Zeit in mein ‘UbiDo’ Nebenbeiprojekt investiert.

Dabei ist eine erste kleine ‘UbiDo’-WebApp entstanden. Listeneinträge am PC mit vernünftiger Tastatur erstellen ist einfach bequemer. ;)

Für die Datenhaltung wird MySQL verwendet. Die Services werden durch node.js und express.js realisiert. Und für die Darstellung hab’ ich der Einfachheit halber einfach Bootstrap verwendet.

UbiDo WebApp - erste Screenshots (1) UbiDo WebApp - erste Screenshots (2)