Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Vorstellung Projekt 'Finderwille Einsatz App'
BerndFfm
myCSharp.de - Team

Avatar #nZo9Gyth4VPDSxGqM4sT.jpg


Dabei seit:
Beiträge: 3782
Herkunft: Frankfurt a.M.

Themenstarter:

Vorstellung Projekt 'Finderwille Einsatz App'

beantworten | zitieren | melden

Hallo,

ich möchte hier mein Projekt 'Finderwille Einsatz App' vorstellen an dem ich gerade arbeite.

Durch die Beschränkung die wir zur Zeit bei Trainings und Einsätzen mit unseren Hunden haben habe ich eine App gesucht um Einsätze und einsatznahe Trainings aus der Ferne zu organisieren und die Live Standorte zu sehen. Leider habe ich da nichts gefunden. Also programmiert man so etwas selber !

Da ich mich normalerweise nur mit Desktop Software und Winforms beschäftige tu ich mich da etwas schwer. Aber man lernt ja gerne dazu.

Für die Server Applikation, die die GPS-Koordinaten entgegennehmen, speichern und darstellen soll, habe ich traccar gefunden.
Das ist eine professionelle Open Source Lösung die von Speditionen, Taxiunternehmen, Krankentransporten und Rettungsdiensten eingesetzt wird und bis zu 10.000 Geräte gleichzeitig im Blick haben kann. Der traccar Server kann neben meiner App bis zu 1200 verschiedene GPS Devices tracken, er versteht über 130 Protokolle. Also geht alles vom Hunde-GPS-Halsband bis zum Rettungshubschrauber. Für die Einsatzleitsoftware die hier in Einsätzen verwendet wird gibt es eine Schnittstelle, so dass die Einsatzkräfte auf der Karte der Einsatzleitsoftware erscheinen. Für Einsatzfahrzeuge gibt es OBD2-Dongle, die man einfach einsteckt und man sieht wo das Einsatzfahrzeug im Wald steht.

Die geplante App soll die GPS Koordinaten, einen Einsatz- bzw. Trainings-Status und einige weitere Daten an die Server Software senden.

Als Plattform habe ich Xamarin.Forms gewählt. Soll ja auch später mal auf einem iPhone laufen.

Die erste Hürde war das Laufen im Hintergrund. Das ist wohl etwas sehr böses bei einer Handy App, jeder Hersteller hat Angst um seine Akkulaufzeit.

Ich habe eine Bibliothek mit Beispiel gefunden, die das recht gut abdeckt. Hie muss auch mit einigen Tricks gearbeitet werden.

Zum Vergleich : GPS-Koordinaten abfragen und an einen Server schicken : 5 Programmzeilen. GPS-Koordinaten im HIntergrund abfragen und an einen Server schicken : 1500 Programmzeilen.

Der erste Entwurf war leider mit festen Größen und lief so nur auf meiner Handy Auflösung. Der jetzige Entwurf basiert auf Grids und passt sich vom Layout an alle Größen an. Lediglich die Schriftgröße und die Größe der Schalter muss man manuell anpassen.

Unten der Bildschirm der App (Design ist nicht mein Ding!).

Hier eine Beschreibung mit einigen Beispiel-Bildschirmen : Finderwille Einsatz App | Finderwille Frankfurt/Main

Gestern war der erste Einsatz bei einer Einsatz-Übung. Hat super funktioniert. Der Standort der Teilnehmer war sekundengenau und metergenau zu sehen.

Vorherige Lösungen wie WhatsApp Live Standort, Viewranger oder Outdoor Active hängen schon mal 15 Minuten bis der nächste Standort kommt. Da ist man schon weit in die falsche Richtung gelaufen. Außerdem sind sie in Hessen bei Einsätzen verboten, weil einsatzrelevante Daten nur auf deutschen Servern gespeichert werden dürfen.

Ich werde berichten wie es mit dem Projekt weitergeht.

Grüße Bernd

Attachments
Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3
private Nachricht | Beiträge des Benutzers
BerndFfm
myCSharp.de - Team

Avatar #nZo9Gyth4VPDSxGqM4sT.jpg


Dabei seit:
Beiträge: 3782
Herkunft: Frankfurt a.M.

Themenstarter:

beantworten | zitieren | melden


Trotz einiger Hürden bin ich weitergekommen :

Zuerst ließ sich die App nicht auf dem Handy installieren, die Fehlermeldung lautete "App nicht installiert".

Erst nach einigen Recherchen konnte ich das genaue Protokoll mit dem Programm adb anschauen und den Fehler eingrenzen.
Mit adb konnte ich die vorherige Version komplett de-installieren und die neue Version installieren.

Das Layout hatte ich komplett auf Grid umgestellt und so passt es sich an die verschiedenen Auflösungen an. Nur die Schriftgröße nicht. Die muss man manuell anpassen.
Dazu gibt es jetzt ein Menü mit dem man die Schrift größer und kleiner machen kann.
Im Listview kann ich die Schriftgröße leider nicht ändern, das habe ich dann anders gelöst.

Die erste Rückmeldung der Beta Version : "Man kann nichts sehen !"
"Dark Mode" was ist das ?
Für den Dark Mode muss man so einige Controls anpassen, dann klappt das auch. Nur der DatePicker läuft nicht, der zeigt seine Werte weiß auf weiß an. Lässt sicher leider nicht ändern. Das ist ein known issue und wird hoffentlich bald behoben.

Inzwischen läuft die App sehr gut auf vielen verschiedenen Android Devices.

Link : https://www.finderwille-frankfurt-main.de/finderwille-einsatz-app-betaversion/

Als nächstes kommt die iOS Version dran. Ich habe nun ein MacBook Pro leiheise hier. Leider muss sehr viel installiert werden, so werde ich mir doch einen eigenen Mac zulegen.

Grüße Bernd
Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3
private Nachricht | Beiträge des Benutzers
BerndFfm
myCSharp.de - Team

Avatar #nZo9Gyth4VPDSxGqM4sT.jpg


Dabei seit:
Beiträge: 3782
Herkunft: Frankfurt a.M.

Themenstarter:

beantworten | zitieren | melden

Da Date- und Timepicker in Xamarin.Forms m.M.n. hässlich und nicht intuitiv bedienbar sind und dazu noch im Darkmode nicht funktionieren habe ich jetzt eigene Time- und Datepicker geschrieben. Ganz ohne Design, aber sie funktionieren !

Grüße Bernd
Attachments
Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3
private Nachricht | Beiträge des Benutzers
BerndFfm
myCSharp.de - Team

Avatar #nZo9Gyth4VPDSxGqM4sT.jpg


Dabei seit:
Beiträge: 3782
Herkunft: Frankfurt a.M.

Themenstarter:

beantworten | zitieren | melden


Ich glaube es war eine schlechte Idee als erste Mobile App eine App zu wählen die im Hintergrund laufen soll.

Die App läuft auf Android und iOS manchmal stabil über mehrere Stunden im Hintergrund, manchmal bricht sie sofort ab wenn der Bildschirmschoner angeht.

Woran das liegt weiß ich nicht. Hat da jemand eine Idee ?

Weitere Hürden :

"Error archiving ..."
Xamarin Einstellungen Archives auf C:\Archives einstellen. Der Default Pfad ist länger als 255 Zeichen und erzeugt einen Fehler in Windows.

"iOS Lock Down Error. Mux Error."
iPhone neu starten, dann gehts.

"Error deleting /bin/obj/"
Pfad /bin/obj/ manuell löschen, dann gehts.

Ich glaube dass Xamarin Forms noch nicht so gut in Visual Studio integriert ist. Ich hoffe das wird besser mit .NET Maui.

Grüße Bernd
Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 16147

beantworten | zitieren | melden

Zitat von BerndFfm
"Error deleting /bin/obj/"
Pfad /bin/obj/ manuell löschen, dann gehts.
In VS2022 solls einen Clean-Setup geben, das bei einem Project / Solution-Clean automatisch automatisch bin/obj löscht.
Hab das bisher nur mit der myCSharp Foren-Solution versucht; aber leider noch nicht gefunden. Wird viele Probleme in Zukunft mit Solutions lösen.
Zitat von BerndFfm
Woran das liegt weiß ich nicht. Hat da jemand eine Idee ?
Gibt keine 100% Run-Sicherheit für Apps.
Für nen "echtes" Background-Verhalten brauchst zumindest auf iOS ne System-Allowance, die aktuell nur Musik- und Navi-Apps erhalten (oder sowas wie eben Corona Warn App durch ne extra API).
Nervt mich bei einigen Apps, wie zB. OneDrive, das nur synct wenn die App "offen" ist, also nicht manuell geschlossen wurde.

Ich kenn zumindest noch Shiny (shinyorg/shiny), das das Handling von Background Services mit Xamarin vereinfacht.
- performance is a feature -

Microsoft MVP - @Website - @blog - @AzureStuttgart - github.com/BenjaminAbt
private Nachricht | Beiträge des Benutzers
BerndFfm
myCSharp.de - Team

Avatar #nZo9Gyth4VPDSxGqM4sT.jpg


Dabei seit:
Beiträge: 3782
Herkunft: Frankfurt a.M.

Themenstarter:

beantworten | zitieren | melden


Inzwischen bin ich mit der App viel weiter gekommen.

Unter Android ist die Sicherheit beim Betrieb im Hintergrund sehr hoch, aber 100% geht nicht. Für die App kein Problem, denn die Einsatzleitung sieht sofort wenn der Hintergrundprozess nicht läuft und per Funkruf kann man die Einsatzkraft anweisen die App neu zu starten.

Unter iOS läuft sie absolut stabil im Hintergrund.

Mit der Signierung der iOS App habe ich ja lange gekämpft, und mittlerweile gewonnen. Die Signierung läuft nur auf dem Mac obwohl das anders angegeben ist.

Die App ist inzwischen von Apple für den App Store zertifiziert und kann mit der Apple Software TestFlight an die Beta-Tester verteilt werden. Man kann die Tester per Email einladen oder einen öffentlichen Download-Link erzeugen.

Die Verifizierung der App durch Apple dauert laut Forum 12 - 24 Stunden, früher hat es 7 bis 14 Tage gedauert ! Bei mir hat es 2 Tage gedauert da ich noch einige Fragen beantworten musste.

Grüße Bernd
Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3
private Nachricht | Beiträge des Benutzers