Ich hatte bereits eine Android App für den MC67NA entwickelt, die bisher nur mit Jelly Bean ausgeliefert wurde. Da die EMDK nur KitKat und höher unterstützt, musste ich alle Barcodes über DataWedge scannen. Jetzt, da KitKat veröffentlicht wurde und ich jetzt ein Gerät mit KitKat habe, ändere ich die App, um das EMDK anstelle von DataWedge zu verwenden. Meine Frage ist, während ich alle bereitgestellten Beispiele sehe und sie helfen, anzufangen, sind sie auch auf ein einzelnes Layout/Activity-Anwendung ausgerichtet. Meine vorhandene Anwendung hat eine Hauptaktivität, die als Container für Fragmente und einen View-Pager dient. Ich muss mehrere Fragmente scannen, wenn sie die aktive Seite im Ansichtspager sind. Die DataWedge machte das so einfach, weil ich mir darüber keine Gedanken machen musste, sie würde einfach auf das Feld scannen, das den Fokus hatte.Motorola/Zebra Mobilcomputer MC67 Barcode Scannen mit Xamarin EMDK
Alles in allem, was ist der beste Weg, um den EMDK Barcode-Scanner für dieses Setup zu implementieren? Ich weiß, dass viele Leute gegen eine Singleton-Klasse sind, aber ich dachte daran, diesen Weg zu gehen. Erstellen Sie ein Singleton, um den Scanner beim Start der App zu implementieren. Von jedem Fragment könnte ich dann die Instanz zur Scanner-Klasse bringen und sie verwenden. Kann mir jemand dazu einen Rat geben? Ich weiß auch nicht, wie man auch die Event-Handler im Singleton genau registriert (vorausgesetzt, dies ist die beste Methode) und dann diese Ereignisse auf die Fragmente feuern lassen.
Ich möchte aus verschiedenen Gründen von DataWedge weg und integrieren die EMDK.
Last, auf einem entsprechenden Hinweis, habe ich begonnen, eine Ausnahme, diesen Ansatz zu codieren und bin immer auf dieser Linie:
EMDKResults results = EMDKManager.GetEMDKManager(Application.Context, this);
Die Ausnahmezustände:
java.lang.ClassNotFoundException: Die Klasse "com.symbol.emdk.EMDKManager" wurde im Pfad nicht gefunden: DexPathList [[Zip-Datei "/data/app/PocketPacTracAndroid.PocketPacTracAndroid-2.apk"],nativeLibraryDirectories=[/data/app-lib/PocketPacTracAndroid. PocketPacTracAndroid-2,/vendor/lib,/system/lib]]
Dies geschieht, obwohl ich den Hinweis aufgenommen haben:
Vielen Dank im Voraus!
Mike