Mehr

Aktualisieren statischer GTFS-Daten Android and


Ich habe eine Android-Anwendung, die statische GTFS-Daten verwendet, die ich manuell in eine Datenbank umgewandelt habe.

Wie aktualisiere ich diese GTFS-Daten automatisch oder ist das nicht möglich?


Dafür gibt es meines Wissens keine fertige, wiederverwendbare Lösung. Ich kann jedoch teilen, was ich in der Vergangenheit getan habe.

Das, was Sie erreichen möchten, besteht aus drei Teilen:

  1. Automatisches Erkennen und Herunterladen von Updates für den GTFS-Feed. Ein einfacher Ansatz könnte darin bestehen, den von GTFS Data Exchange für Ihre Agentur veröffentlichten RSS-Feed (in einem Feed-Reader) zu abonnieren, der Ihnen zumindest hilft, zu wissen, wann neue Daten verfügbar sind, damit Sie manuell ein Update für Ihre App vorbereiten können. Ein vollständig automatischer Ansatz erfordert möglicherweise die Entwicklung eines benutzerdefinierten Tools, das entweder den RSS-Feed oder die Website des Verkehrsunternehmens direkt abfragt, um zu erkennen, wenn neue Daten verfügbar sind, diese dann herunterzuladen und zu verarbeiten.

  2. Generieren einer neuen Datenbank aus den heruntergeladenen Daten. Hier gibt es einige vorhandene Ressourcen, die Sie nutzen können. Ich selbst habe ein kleines Dienstprogramm in C geschrieben, das eine SQLite-Datenbank aus einem GTFS-Feed generiert; Sie könnten dies vielleicht als Ausgangspunkt verwenden und es ändern, um mit Ihrem eigenen Datenbankschema zu arbeiten. Wenn Sie lieber bei Java bleiben möchten, veröffentlicht das OneBusAway-Projekt eine Reihe von Entwicklertools, die Sie möglicherweise nützlich finden, einschließlich einer Java-Bibliothek zum Arbeiten mit GTFS-Daten im CSV-Format.

  3. Bereitstellen der aktualisierten Datenbank für Ihre Benutzer. Wenn Ihre App so konzipiert ist, dass sie über eine auf Ihrem eigenen Server gehostete API auf Transitdaten zugreift, kann dies so einfach sein wie das Kopieren über die neue Datenbank und das Neustarten des App-Servers. Wenn Ihre App stattdessen aus einer Datenbank liest, die auf dem Gerät selbst installiert ist, kann das Pushen von Updates schwieriger sein. In diesem Fall muss ich mich an jemanden mit mehr Erfahrung beim Veröffentlichen von Android-Apps wenden.

Keines dieser Dinge ist besonders schwierig, aber es stimmt, dass die Aktualität der von einer Versandanwendung verwendeten Daten im Wesentlichen eine ganz andere Anwendung selbst erfordert.


Schau das Video: Lecture 3 - Display GTFS in a Map (Oktober 2021).