Der ADFC-Stormarn e.V. verwendet Klebeetiketten zur Codierung von Fahrrädern.
Auf diesen Etiketten ist ein EIN-Code (Eigentümer-Identifizierungs-Nummer) aufgedruckt, die es der Polizei, den Fundbüros und dem ADFC erlauben, den Eigentümer eines Fahrrads zu ermitteln. Eine über aufgeklebte Etikett angebrachte Plombierfolie schützt dieses vor dem Ablösen.
Dieses Verfahren eignet sich auch für andere Gegenstände, wie Kameras, Fahrrad-Akkus, Kinderwagen, Pferdesättel, etc.
Die hier vorgestellte Android-App ermöglicht es, EIN-Codes zu generieren und einen Etikettendrucker anzusteuern.
Inhaltsverzeichnis
Funktionsdialog Online-Abfrage (Online-Abfrage)
Funktionsdialog Decodierung (Decode)
Funktionsdialog Listendruck (Listendruck)
Funktionsdialog Straße hinzufügen (Hinzufuegen)
Funktionsdialog Verwaltung (Verwaltung)
Funktionsdialog Barcode-Anzeige (BarCode)
Details zur Implementierung der ActionBar-Komponente
Details zur Implementierung des Etikettendrucks
Erweiterungskomponenten der App (Extensions)
Das App-Inventor-Projekt ADFC_EIN_Code_SH_HH.aia zum Download (Stand 29.6.2025).
Version | Anpassungen |
---|---|
1.0 (2024) | Initiale Version |
2.2 (2025-06-29) | Es konnten nicht mehrere Smartphones gleichzeitig mit dem Drucker verbunden sein. Die BT-Verbindung wird
nun automatisch zwei Sekunden nach dem Drucken eines Etiketts getrennt. Diese Zeit wird in etwa für den Datentransfer und das Auslösen
des Drucks benötigt. Die Druckerwahl wurde als Auswahl über eine ListPicker-Komponente implementiert. Der Funktionsdialog Druckerwahl entfällt. |
Leider ist die App nicht über den Google-Playstore verfügbar. Die Installation erfolgt per Download über den Web-Browser.
Ein Download-Link kann über diese E-Mail-Adresse angefordert werden:
.
Wenn die zurückgelieferte E-Mail mit dem Handy oder Tablet geöffnet und der Link angeklickt wird, sollte die Installation beginnen.
Wenn auf dem Handy keine Mail empfangen werden und den Link auch nicht dorthin übertragen werden kann, kann die Datei auf einem PC herunter laden und über Dateitransfer in das Download-Verzeichnis des Smartphones kopiert werden. Auf dem Smartphone muss dann das Verzeichnis über einen Dateimanager (z.B. Files von Google) geöffnet und die Datei dort angetippt werden.
Die ausführliche Anleitung steht im PDF- und im MS-Word-Format zur Verfügung:
![]() |
![]() |
![]() |
||
Download PDF | Download Word |
Ermittlung der Adressdaten aus einem vorhandenen EIN-Code. Zur Implementierung
Anzeige des ermittelten EIN-Codes als Barcode im Format Code-128(A). Zur Implementierung
Die Actionbar wird am Kopf jedes Screens angezeigt. Zur Implementierung
Die Funktionalitäten zum Etikettendruck sind in allen Screens auf gleiche Weise implementiert. Zur Implementierung
Beschreibung des Datenbankschemas der benutzen SQLite-Datenbank.
Extension zur Ansteuerung eines Etikettendruckers vom Typ Brother P-touch E560BT per Bluetooth.
Extension zum speziellen Einlesen einer unter Windows erstellten CSV-Datei.
UrsAI2StringUtils: Hilfsfunktionen zur Bearbeitung von Texten
UrsAI2Utils: Diverse Hilfsfunktionen
UrsAI2ActionBar: Menüleiste, die oben auf dem Bildschirm eines Screens angezeigt wird.
KeyBoard: zusätzliche Methoden für die Tastatur von Patryk_F
MyFonts: Verwende deine eigenen benutzerdefinierten Schriftarten von Anke
Die benötigten Ressourcen werden als sogenannte Assets (Rubrik Media) in die App eingebunden. Assets ist ein separater Ordner in der Programmdatei (APK-Format). Dies ist ein ZIP-Archiv, das vom Programmcode zur Laufzeit ausgelesen aber nicht verändert werden kann.
Neben dem Barcode-Font (s.u.) enthalten den Assets eine Reihe von Grafiken und eine Ton-Datei im ogg-Format. Download der Ressourcen-Dateien.
Der zum EIN-Code gehörende Barcode wird im im Format Code-128 angezeigt. Google Fonts stellt mit Libre Barcode 128 Text einen passenden Font bereit. Die Berechnung der Prüfziffer wird bei free-barcode.com gut erklärt: Check digit calculation of Code-128. Die Codes für die einzelnen ASCII-zeichen findet man bei Le code 128.
Größe des Barcodes variieren. Ist auf kleineren Bildschirmen nicht in einer Zeile. Dazu auch:
Funktionsdialog BarCode: Ermittlung der optimalen Breite der Label-Komponente.
Automatisch erkennen, welcher Drucker angesteuert werden kann (in Reichweite und angeschaltet)
Einlesen des Barcodes zum Drucken und zur Dekodierung