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 Github Repositories Gitlab Repositories Mastodon Über mich home xmpp


Vor 5 Jahren hier im Blog

  • Certstream, InfluxDB, Grafana und Netflix

    16.04.2019

    Nachdem ich vor kurzem über mein erstes Spielen mit dem certstream berichtete, habe ich weitere Experimente gemacht und die Daten zur besseren Auswertung in eine InfluxDB gepackt, um sie mit Grafana untersuchen zu können.

    Weiterlesen...

Neueste Artikel

  • Die sQLshell ist nun cloudnative!

    Die sQLshell hat eine weitere Integration erfahren - obwohl ich eigentlich selber nicht viel dazu tun musste: Es existiert ein Projekt/Produkt namens steampipe, dessen Slogan ist select * from cloud; - Im Prinzip eine Wrapperschicht um diverse (laut Eigenwerbung mehr als 140) (cloud) data sources.

    Weiterlesen...
  • LinkCollections 2024 III

    Nach der letzten losen Zusammenstellung (für mich) interessanter Links aus den Tiefen des Internet von 2024 folgt hier gleich die nächste:

    Weiterlesen...
  • Funktionen mit mehreren Rückgabewerten in Java

    Da ich seit nunmehr einem Jahr bei meinem neeun Arbeitgeber beschäftigt und damit seit ungefähr derselben Zeit für Geld mit Python arbeite, haben sich gewisse Antipathien gegenüber Python vertieft (ich kann mit typlosen Sprachen einfach nicht umgehen) - aber auch einige meiner Gründe, Python zu lieben sind ebenso stärker geworden. Einer davon ist der Fakt, dass eine Methode in Python mehr als einen Wert zurückgeben kann.

    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, muß 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 GitHub-Repositories findet man hier - meine öffentlichen GitLab-Repositories finden sich dagegen hier.