App interne Hinweise

Hier eine kleine Auflistung von Besonderheiten in der Programmierung der App. Details können dem Code und dem Javadoc entnommen werden.

Activities:

Jeder Activity ist ein View zugeordnet, was ihr die Möglichkeit bietet mit dem Nutzer zu interagieren. Im Ordner „res/layout“ befinden sich die zu den jeweiligen Activities zugehörigen Layouts. Diese Layout Dateien werden beim Aufruf der entsprechenden Activity durch die „setContentView“ Methode als View sichtbar auf dem Handybildschirm.

Threads:

Da Android Fehler wirft, wenn ein Vorgang eine längere Zeit benötigt und somit den Main Thread blockiert, müssen zusätzliche Threads erstellt werden. Diese führen Vorgänge parallel zum Main Thread aus, hindern diesen aber nicht an seiner Arbeit. Diesbezüglich haben wir eine Klasse "NetworkThread" erstellt, welche sich um Anfragen an den Server und das Einlesen von Dateien kümmert. Hat NetworkThread seine Arbeit beendet, also eine Antwort vom Server erhalten, wird diese an das "ResponseInterface" weitergegeben.

Kamera:

CameraTestActivity, AdminCameraActivity und CameraPreview integrieren den ZBar Barcode Scanner in die App.

Adapter:

(ProductAdapter, UserAdapter, BillAdapter, HistoryAdapter)
Jedem dieser Adapter wird eine ArrayList<Type> übergeben. Type ist in diesem Fall eine Klasse aus dem "object" Package: Product, User, Bill, oder History. Um die Datenzuweisung zu kontrollieren und um mehrere Views zu unterstützen, wird ein Adapter benötigt. Dieser findet die relevanten Views in dem "custom_row.xml" Layout und setzt dessen Inhalt basierend auf dem Input. Hier werden die gesuchten Informationen eines Typs in eine Zeile der Liste konvertiert.

Hinweise zur Anwendung:

Nutzerverwaltung:

Hier hat der Admin Zugang zu einer Liste aller Nutzer der App, welche ihm Name, E-Mail und den zu bezahlenden Geldbetrag pro Nutzer anzeigt. Berührt man den "Searchbutton", kann man nach der E-Mail Adresse oder nach dem Namen eines Nutzers suchen.
Klickt man auf ein Listitem, bietet sich die Möglichkeit den Nutzer zu löschen oder eine Rechnung per Mail zu senden. Wurde die Mail erfolgreich abgesendet, wird die zugehörige Rechnung in einer Liste des "Bills"-Screen angezeigt. Hat der Nutzer bezahlt, kann die Rechnung aus der Billliste bestätigt und diese somit gelöscht werden.
Auf "Change Products" kann man neue Produkte hinzufügen, indem man auf den "Addbutton" der Actionbar klickt. Außerdem kann man ein bereits vorhandenes Produkt ändern oder löschen, wenn man dieses in der Liste auswählt. Außerdem bietet die Nutzerverwaltung einen weiteren Barcode Scanner. Nachdem der Barcode eines Produkts gescannt wurde, besteht hier die Möglichkeit dieses der Datenbank direkt hinzuzufügen. Wichtig dabei ist, zu überprüfen, ob der Code richtig gescannt wurde!

Timer für automatischen Logout:

Beim Einloggen in der LoginActivity wird ein Timer gestartet, welcher nach 10 Minuten den Nutzer automatisch ausloggt.

  • Technische Daten:
  • Minimum Sdk Version: 8
  • Target Sdk Version: 21
  • ZBar Barcode Scanner
  • appcompat_v7
    (muss auf gleicher Ebene wie das App Projekt liegen beim kompilieren!)