Exemple de code Java

Pour utiliser les classes Java gtfs-realtime-bindings dans votre propre projet, vous devez ajouter une dépendance appropriée. Nous publions notre module dans le dépôt central Maven afin d'en faciliter le référencement dans les outils de build Java tels que Maven, Ivy et Gradle.

Dans les extraits de dépendance ci-dessous, remplacez la chaîne de version X.Y.Z par la dernière version disponible dans le dépôt central Maven.

Pour Maven, ajoutez l'extrait suivant dans la section de dépendance de votre fichier "pom.xml" :

<dependency>
  <groupId>com.google.transit</groupId>
  <artifactId>gtfs-realtime-bindings</artifactId>
  <version>X.Y.Z</version>
</dependency>

Pour Gradle, ajoutez l'extrait suivant dans la section des dépendances build.gradle :

compile group: 'org.google.transit', name: 'gtfs-realtime-bindings', version: 'X.Y.Z'

L'extrait de code suivant montre comment télécharger un flux de données GTFS-realtime à partir d'une URL spécifique, l'analyser en tant que FeedMessage (le type de schéma GTFS-realtime racine) et itérer l'opération pour chaque résultat.

import java.net.URL;

import com.google.transit.realtime.GtfsRealtime.FeedEntity;
import com.google.transit.realtime.GtfsRealtime.FeedMessage;

public class GtfsRealtimeExample {
  public static void main(String[] args) throws Exception {
    URL url = new URL("URL OF YOUR GTFS-REALTIME SOURCE GOES HERE");
    FeedMessage feed = FeedMessage.parseFrom(url.openStream());
    for (FeedEntity entity : feed.getEntityList()) {
      if (entity.hasTripUpdate()) {
        System.out.println(entity.getTripUpdate());
      }
    }
  }
}

Pour en savoir plus, consultez la page du projet Java.