Skip to content
This repository has been archived by the owner on Apr 12, 2021. It is now read-only.

Die interne Datenbank

firesoft-de edited this page Jan 8, 2018 · 2 revisions

Die innerhalb der App verwendete Datenbank beruht auf dem ROOM-Framework von Android. Es handelt sich dabei um eine gemanagte Datenbank, bei der der Entwickler sicht nicht um die Wartung und Generierung der Datenbank kümmern muss.

In der vorliegenden App sind die wichtigen Datenbankklassen in den Paketen data und viewmodels hinterlegt. Details zum Aufbau der Room Datenbank folgen in einem andern Artikel.

Im Pakt data befindet sich die beiden Datenklassen EquipmentItem (Ausrüstungsgegenstände) und TrayItem (Geräteräume). Diese stellen zum einen als Datenklasse einen Datentyp zum Handling der Items und Trays innerhalb der App und zum Anderen die Definition für die Datenbank.

Aufbau der EquipmentItem-Klasse

Ein Ausrüstungsgegenstand besteht aus folgenden Feldern

  • id, int, eindeutige Kennung des Gegenstandes
  • name, String, Bezeichnung des Gegenstandes
  • description, String, eine ausführliche Beschreibung zum Gegenstand
  • categoryId, int, die eindeutige Id des Trayitems, welchem der Gegenstand unterstellt ist
  • mSetName, String, optionale Bezeichnung des Ausstattungssatzes
  • position, String, Position des Gegenstandes im Fahrzeug
  • keywords, ArrayList, enthält Suchbegriffe welche bei der Suche verwendet werden
  • additionalNotes, String, weitere Hinweise wie z.B. Reinigungs- und/oder Benutzungshinweise

Jedes Feld ist mit einer Getter und einer Setter Methode versehen, damit Room die Felder erkennt (optional können die Felder auch direkt auf public gesetzt werden).

In der Klassendatei Equipmentitem ist zudem noch die Klasse Converters vorhanden. Diese wandelt die ArrayList der keywords in einen GSON String um, damit dieser in einem simplen SQL-TEXT-Feld gespeichert werden kann.

Aufbau der TrayItem-Klasse

Ein Trayitem besteht aus den folgenden Feldern

  • id, int, eindeutige Kennung des Geräteraums
  • name, String, Bezeichnung des Geräteraums
  • description, String, eine ausführliche Beschreibung zum Geräteraum
  • position, String, Position des Geräteraums im Fahrzeug

Zur Darstellung der beiden Datentypen in den Listviews ist jeweils ein passender Adapter im Paket dataStructure hinterlegt.

Aufbau der ImagItem-Klasse

Hier fehlt noch was zur ImageItem Struktur. Hoffentlich kommt bald jemand vorbei und bearbeitet das :/