Zum Inhalt

Übungsblatt 7

Die App Geo Tracker soll eine Route, welche beispielsweise zu Fuß begangen wird, tracken und entsprechend über eine Karte anzeigen können. Tracken in diesem Zusammenhang bedeutet, dass die Geokoordinaten kontinuierlich abgefragt und gespeichert werden.

Übung 1: Tracking

Für das Tracking ist ein Foreground Service implementiert worden. Einige wichtige Operationen wurden noch nicht vollständig implementiert. Diese sind über TODO Einträge markiert, dabei handelt es sich ausschließlich um Datenbankoperationen.

Übung 2: Darstellung mit RecyclerView

Die einzelnen aufgenommenen Tracks sollen innerhalb einer RecyclerView in der MainActivity dargestellt werden. Dazu ist bereits ein Adapter implementiert. Es fehlt jedoch das fertige Layout für einen Listeneintrag. Das Layout soll in der Datei layout/track_card.xml angelegt werden und passend aussehen. Es sollen alle wichtigen Informationen zum Track dargestellt werden (Title, Beschreibung, Trackdauer, Map Button, Edit Button). Ebenfalls wurde die RecyclerView noch nicht in der MainActivity initialisiert und mit dem Adapter bzw. der Datenquelle verknüpft.

Übung 3: MapActivity

Mit Klick auf den Map Button im Listeneintrag in der MainActivity wird man auf die MapActivity geleitet. In dieser soll der Track über die einzelnen Location Einträge eingezeichnet werden. In der MapActivity muss eine Karte geladen werden. Innerhalb der Karte können Polygone eingezeichnet werden. Die ID des Tracks wurde im Intent übergeben und damit können die entsprechenden Location Objekte aus der Datenbank geladen werden.

Übung 4: EditActivity

Mit Klick auf den Edit Button im Listeneintrag in der MainActivity wird man auf die EditActivity geleitet. Dort sollen 2 Formularfelder für die Bearbeitung des Titels bzw. der Beschreibung des Tracks vorzufinden sein. Mit Speicherung des Formulars soll der Eintrag in der Datenbank angepasst werden und wieder zurück auf die MainActivity geleitet werden. Die veränderten Daten sollen entsprechend angezeigt werden (Neuladen der RecylcerView).