Testanwendung | BVA-System

Posts Tagged ‘Testanwendung’

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….

Nachladen des Originalbildes

Freitag, Dezember 14th, 2012

Kurz vor den Feiertagen ist heute die wohl letzte Version für dieses Jahr vom BVASystem fertig geworden. Die letzten beiden Wochen habe ich hauptsächlich damit verbracht, das in den Darstellungen der Bilder das Originalbild nachgeladen werden kann. Außerdem habe ich Änderungen an den Debugausgaben und den Fehlermeldungen vorgenommen. Zu guter letzt habe ich meine Testanwendung soweit erweitert, das dort nun die erste BVASystem-Funktion getestet werden kann.

Nachladen des Originalbildes

Damit  Bilder schneller angezeigt werden können, arbeitet das BVASystem mit einem kleineren Vorschaubild. Dieses ist von der Größe so gewählt, das es ausreicht um Bilder im „Zoom-Fit“ in guter Qualität darzustellen. Bisher hatte ich es allerdings versäumt, das beim Wechsel des Zoom-Modus das Originalbild nachgeladen wird. Jetzt ist es so umgesetzt, das wenn das Originalbild eine bessere Qualität bringen würde als das vorhandene Vorschaubild, dann wird im Hintergrund das Originalbild geladen. Während des Ladevorgangs bekommt der Anwender weiterhin das Vorschaubild angezeigt und kann in diesem beliebig navigieren. Sobald das Originalbild fertig geladen ist, wird die Ansicht aktualisiert. Als Anwender bemerkt man, das die Qualität plötzlich besser wird. 

Damit sichtbar ist, welches Bild gerade angezeigt wird, ist im oberen Bereich neben dem Bildtitel ein Knopf/Informationsbereich angebracht. Folgende 4 möglichen Bilder können dort angezeigt werden:

Vorschaubild wurde geladen Das Vorschaubild wurde geladen. Mit einem Druck auf das Bild, kann das Originalbild geladen werden.
 Originalbild wird geladen Das Originalbild wird gerade geladen.
 Originalbild wurde geladen Das Originalbild wurde geladen.
 Nachladen des Originalbildes ist nicht möglich Das Nachladen des Originalbildes ist nicht möglich, da die Bildgröße des Originalbildes nicht bekannt ist. Mit einem Druck auf das Bild erscheint ein Hinweisdialog, der beschreibt wie dieser Fehler beseitigt werden kann.

Veränderungen an den Debugausgaben

Für eine spätere Änderung die ich vorhabe, war es notwendig die Funktion zur Ausgabe von Debug-Informationen anzupassen. Hauptsächlich ging es mir dabei um die Tatsache, das wegen der geöffneten Dateien, das BVASystem nur einmal gestartet werden konnte. Im Zuge dessen habe ich aber gleich weitere Änderungen einfließen lassen. 

  • Neu: DBLog-Funktion – Hier werden die an die Datenbank gesendeten SQL-Befehle in eine Datei geschrieben
  • Neu: Die Debugfunktionen können nun im Hauptmenü unter „Hilfe“ jederzeit ein- und ausgeschaltet werden
  • Geändert: Fehlerdialoge sind nun auch aus den Hintergrund-Threads möglich
  • Geändert: Startparameter – Hier können nun die Parameter „-trace“ und „-dblog“ verwendet werden. 
  • Neu: Silentmode – Hier werden die Fehlermeldungen nicht angezeigt, können allerdings mit „GetLastError“ abgefragt werden (Habe ich für die automatische Testung benötigt)

Erweiterung der Testanwendung

Die letzten Tage habe ich dann noch ab der Anwendung zur automatisierten Testung weitergearbeitet. Dort bin ich nun soweit, das eine erste Funktion des BVASystems (das Herstellen der Datenbankverbindung) getestet werden kann. Dabei habe ich mit Absicht einen Fehler provoziert, damit ich sehen kann, ob der umgesetzte Silentmode der Fehlerbehandlung funktioniert. Bisher ist es allerdings noch nicht möglich, der zu testenden Funktion Parameter mit auf den Weg zu geben. Daran werde ich in der nächsten Zeit weiterarbeiten. 

Ausblick

Für die nächste BVASystem Version steht wieder eine größere und für mich wohl schwierige Änderung auf dem Plan. Und zwar werde ich die Bildladefunktion für die Miniaturbilder anpassen. Bisher werden nacheinander immer alle Bilder nacheinander geladen. Mein Ziel ist es, das nur noch die geladen werden, welche auch zur Anzeige benötigt werden. Dadurch möchte ich Zeit und vor allem Speicherplatz einsparen. Außerdem werde ich wohl damit beginnen, mir ein Konzept zu überlegen, wie ich eine Schlagwortfunktionalität in das BVASystem integrieren könnte. Und zu guter letzt seht natürlich die Weiterarbeit an der Testanwendung mit auf dem Plan.