Android | BVA-System

Posts Tagged ‘Android’

Ich habe leider wenig Lust hier was zu schreiben …

Donnerstag, Juli 7th, 2016

Die Stille in den letzten Wochen, ja Monaten heißt nicht, das am BVASystem nicht mehr weiter gearbeitet wird. Aber irgendwie fehlt mir aktuell die Lust, hier alle 2-3 Wochen etwas zu schreiben. Sowohl beim alten, als auch beim neuen BVASystem bin ich gerade viel am probieren, ohne das ich richtig weiß, ob die Sachen zielführend sind. Obwohl ich weiß, das mit den begonnenen Sachen noch wenig anzufangen ist, habe ich trotzdem eine neue Version zusammengestellt. Denn so ganz ohne Fortschritts-Blogs macht diese Homepage keinen Sinn mehr…

Beim alten Delphi Programm probiere ich mich immer noch an der Suche nach ähnlichen Bildern. Dort bin ich zumindest soweit, das mit dem Programm hierarchische Bildmerkmale berechnet werden können. Der eigentliche Suchalgorithmus ist in der Entstehungsphase, in der ich viele viele Kritzeleien auf Papier erstelle. Ob ich damit zum gewünschten Ziel komme, weiß ich leider noch nicht. Es kann sein, das ich die Merkmalsberechnung nochmals abändern muss, wenn sich die Suche nicht durch direkte SQL-Befehle implementieren oder zumindest erleichtern lässt.

Berechnete Bildmerkmale

Berechnete Bildmerkmale

Dafür ist die im letzten Blog angekündigte Start-Applikation für die beiden BVASystem Versionen fertig.

Launcher-Applikation

Launcher-Applikation

Bei der neuen Java Version dagegen stecke ich noch immer in den Anfängen fest. So habe ich dort mit einer Logging-Funktionalität begonnen und bin dabei gleich über die Problematik der richtigen Speicherort-Auswahl gestolpert. Gerade für die Android Variante habe ich dort relativ viel Zeit verbraucht, da ich auf meinem Handy keinen Root Zugriff habe. Daher komme ich ohne das Programm nicht an das Standard-Verzeichnis für Apps heran. Als Ausweichmöglichkeit habe ich nun ein Verzeichnis auf der SD-Karte gewählt. Des weiteren habe ich mich darin versucht, eine Plattform übergreifende Ordner-Überwachung zu implementieren. Anders als bisher möchte ich nämlich, das das BVASystem von allein erkennt, wenn neue Bilder auf dem Rechner/Tablet oder Handy gespeichert werden. Diese neuen Bilder sollen dann automatisch in die Datenbank aufgenommen werden. Der Import-Vorgang würde damit dann komplett entfallen. Einzig eine Synchronisation zwischen verschiedenen Datenverbindungen müsste vom Anwender noch manuell angeregt werden. Aber bis dahin ist es noch ein langer Weg.

Aktueller Entwicklungsstand

Aktueller Entwicklungsstand

Zweifel an der weiteren Vorgehensweise – BVA goes Android?

Dienstag, März 15th, 2016

Seit nun fast 2 Jahren befindet sich bei uns ein Android-Tablet im Familienbesitz, mittlerweile haben sogar die Kinder eigene Geräte. Auch die alten Handys wurden mittlerweile durch Smartphones ersetzt. Nachdem ich durch ein kleines „Nebenprojekt“ auch erste Erfahrungen mit der Programmierung von Android-Anwendungen sammeln konnte, stellte sich mir die Frage, ob es nicht sinnvoll wäre, das BVASystem auf Android zu portieren. Praktisch wäre es sicher, da man direkt auf dem Sofa seine Fotos verwalten könnte.

Aber leider ist es mit meiner aktuellen Entwicklungsumgebung Delphi XE2 nicht möglich, für mobile Plattformen zu entwickeln. Bisher war aufgrund dieser Tatsache für mich das Thema Android beendet. Mittlerweile gibt es Delphi XE10 mit der dies möglich wäre, allerdings müsste ich dafür jede Menge Geld investieren. Außerdem müsste ich wohl das Framework VCL durch Firemonkey ersetzen. Der Aufwand dafür gleicht wohl einer Neuentwicklung, da das BVASystem fast ausschließlich auf speziellen selbstentwickelten VCL-Komponenten basiert. Einzig der Teil, der zur Datenhaltung und zur Kommunikation mit der Datenbank zuständig ist, könnte wohl weiterverwendet werden.

Alternativ könnte ich natürlich auch einfach ein zweites Projekt anfangen (z.B. mit dem Android Studio) und alles bzw. zumindest teilweise was ich bisher habe nachprogrammieren. Vorteil ist sicherlich, das ich dafür keinerlei Investitionen tätigen muss. Aber die Aussicht, alles doppelt programmieren zu müssen, ist irgendwie nicht so toll.

In den letzten Wochen habe ich daher viel recherchiert und ein ein wenig herumprobiert. Festgesetzt habe ich mich an einem Cross-Plattform Ansatz, der auf JavaFX basiert. Damit ist es mir zumindest gelungen, eine kleine Testanwendung zu programmieren, die sowohl auf einem Desktop PC, als auch auf einem Android-System lauffähig ist. Vorteil dabei ist sicherlich, das ich nur einmal programmieren muss, um beide Plattformen zu bedienen. Als großer Nachteil erweißt sich aber weiterhin, das ich quasi wieder bei fast null anfangen müsste.

Screenshot der Cross-Plattform-Testanwendung

Screenshot der Cross-Plattform-Testanwendung

Wie ich nun weiter vorgehen soll, weiß ich leider immer noch nicht genau. Fest steht allerdings, das ich das jetzige BVASystem nicht einfach einstellen will. Ich nutze es selbst ja mehrfach die Woche und so muss ich den Vorteil nutzen, das ich jede Sache, die mir nicht passt, ändern kann. Allerdings stellt sich die Frage, ob ich noch groß Energie in riesige Änderungen stecken sollte, oder ob ich die Zeit verkürze bis ich auf dem Sofa meine Fotos verwalte….