Erste Android-App

vorhergehende Artikel in: Java GUI Android
16.03.2014

Erfahrungen bei der Entwicklung der ersten Android App...

Als Neu-Besitzer eines Android-Gerätes war es nur eine Frage der Zeit, bis mich die Neugierde packte und ich sehen wollte, wie sich eine Anwendung für dieses System erstellen läßt. Mit dem Erscheinen der Android-Studio genannten Entwicklungsumgebung war der Zeitpunkt gekommen.

In mir sitzt eine tief verwurzelte Abneigung gegen Eclipse, die sich rational nicht begründen lässt. Das ist unter Umständen auch mit ein Grund dafür, daß es so lange gedauert hat, bis ich begann, mich an ein solches Vorhaben zu wagen. Bis vor kurzem war Eclipse die einzige ernstzunehmende Umgebung dafür. Die Netbeans-Unterstützung steckt in den Kinderschuhen und das andauernde Patent-Gezanke zwischen Oracle und Google wird dafür sorgen, daß Larry Ellison oder wer auch immer bei Oracle das Sagen in dieser Beziehung hat, das Projekt Netbeans und Android nicht wirklich mit Hochdruck betreibt.

Aber jetzt gibt es ja Android-Studio. Ein ziemlicher Klopper zum Download - aber wer hat heutzutage wie ich schon noch DSL-1000? Nach dem Download ist es fix eingerichtet. Zwei Beanstandungen dazu: Es war mir nicht möglich, mein bereits installiertes Android-SDK zu verwenden - versuchte ich es, bekam ich die Fehlermeldung, daß ebendieses offizielle Google-Android-SDK gar keines sei. Ich konnte das Problem nicht lösen und biß in den sauren Apfel, das mit der IDE gebundelte zu benutzen. Das zweite und meiner Ansicht nach schwerwiegendere Problem war, daß die IDE nur bei Start aus der Kommandozeile eine Warnung abgibt, wenn man versucht, sie mit der Java-Laufzeitumgebung aus dem OpenJDK-Projekt zu betreiben - was bei unmodifizierten Ubuntus die Voreinstellung ist. Ich hatte mir eine desktop- Datei gebaut - bei Start darüber tauchte diese Meldung nicht auf. Diese Meldung ist überlebensnotwendig für die IDE: Bei mir nämlich war es so, daß die Übersetzung eines Projektes in der IDE durch Münzwurf entschieden wurde: in einem von drei Fällen funktionierte es nicht. Und wenn die Erstellung nicht funktionierte, fraß die IDE auch gleich noch ein Gigabyte Speicher auf. Dadurch stand sie schon kurz vor der endgültigen De-Installation. Ich probierte sie doch nochmal mit der Oracle-JRE aus und siehe da: alle Probleme verschwanden! Daher sollte diese Warnung beim Start immer erscheinen und ruhig auch noch etwas prominenter!

Aber nun zur Erstellung der ersten App: Wie wahrscheinlich die Mehrzahl der neuen Android-Einsteiger kam ich auf die Idee, eine Uhr zu erstellen. Ich benutzte dazu ein WebView-Widget, das SVG-Graphiken anzeigen kann und die Uhren des Autoren eines der besten Bücher über Inkscape. Ich legte die zwei Uhren als Ressource in der App ab und fertige noch eine dritte an, die mit einem Ziffernblatt ausgestattet ist.

Die Erstellung der App war ohne größere Probleme - ich lernte viel über den Lebenszyklus von Apps und über Ressourcen-Verwaltung. Das Ausprobieren war schon spannender aber letztlich völlig problemlos - fast schon langweilig: die IDE bietet an, einen Emulator zu starten, in dem man die App dann bewundern kann. Alternativ findet sie angeschlossene Geräte. Besonders hervorzuheben ist die Tatsache, daß sogar die als Andro-VM laufende virtuelle Maschine als Gerät erkannt wurde und man dann damit genauso interagieren kann, wie mit einem echten Gerät.

Leider ist seit meinen Versuchen androvm in ein kommerzielles Produkt umgewandelt worden.

Aktualisierung vom 24. August 2013

Die Anwendung wurde erweitert: Jetzt erkennt sie selbst, ob das Gerät im Hochformat oder im Querformat gehalten wird. Abhängig davon werden nur Uhrdesigns angeboten, die zu dem jeweiligen Design passen. Darüber hinaus speichert die Anwendung für jede der beiden Orientierungen das zuletzt gewählte Design.

Ich legte dafür zwei Uhren als Ressource in der App ab, die besonders für das Hochformat geeignet sind.

Aktualisierung vom 24. Februar 2014

Nun kann die Anwendung als sogenannter Daydream agieren: Sie dient - wenn sie denn vom Anwender dazu bestimmt wird - ab Android 4.2 als Bildschirmschoner, wenn sich das Gerät im Dock befindet oder aufgeladen wird.

Aktualisierung vom 16. März 2014

Dank der Informationen aus dem Netz kann die Anwendung jetzt auf Geräten, die dieses Feature unterstützen, im Multi-Window-Betrieb funktionieren.

Artikel, die hierher verlinken

Android Downloader Projekt

14.08.2013

Nachdem ich kürzlich mit der Entwicklung meiner ersten Android-Anwendung nur einen kleinen Zeh ins kalte Wasser gesteckt habe, gewinnt mein erstes "richtiges" Projekt langsam aber sicher an Konturen

Alle Artikel rss Wochenübersicht Monatsübersicht Codeberg Repositories Mastodon Über mich home xmpp


Vor 5 Jahren hier im Blog

  • Multi-User-WebDAV, Docker, GitHub

    17.11.2019

    Nachdem ich mich in letzter Zeit verstärkt mit Docker und dem zugehörigen Ökosystem beschäftige, habe ich begonnen, verschiedenste Dienste in Containern zu testen um zu sehen, ob in manchen Fällen LXC oder KVM nicht doch die bessere Wahl wäre...

    Weiterlesen...

Neueste Artikel

  • Migration der Webseite und aller OpenSource Projekte

    In eigener Sache...

    Weiterlesen...
  • AutoHideToolbar für Java Swing

    Ich habe eine neue Java Swing Komponente erstellt: Es handelt sich um einen Wrapper für von JToolBar abgeleitete Klassen, die die Werkzeugleiste minimieren und sie nur dann einblenden, wenn der Mauszeiger über ihnen schwebt.

    Weiterlesen...
  • Integration von EBMap4D in die sQLshell

    Ich habe bereits in einem früheren Artikel über meine ersten Erfolge berichtet, der sQLshell auf Basis des bestehenden Codes aus dem Projekt EBMap4D eine bessere Integration für Geo-Daten zu spendieren und entsprechende Abfragen, bzw. deren Ergebnisse auf einer Kartenansicht zu visualisieren.

    Weiterlesen...

Manche nennen es Blog, manche Web-Seite - ich schreibe hier hin und wieder über meine Erlebnisse, Rückschläge und Erleuchtungen bei meinen Hobbies.

Wer daran teilhaben und eventuell sogar davon profitieren möchte, muss damit leben, daß ich hin und wieder kleine Ausflüge in Bereiche mache, die nichts mit IT, Administration oder Softwareentwicklung zu tun haben.

Ich wünsche allen Lesern viel Spaß und hin und wieder einen kleinen AHA!-Effekt...

PS: Meine öffentlichen Codeberg-Repositories findet man hier.