Exemplo em Java

Para usar as classes Java gtfs-realtime-bindings no seu próprio projeto, você precisa adicionar uma dependência apropriada. Publicamos nosso módulo no Maven Central Repository (em inglês) para que ele possa ser consultado facilmente por ferramentas de compilação Java, como Maven, Ivy e Gradle.

Nos snippets de dependência abaixo, substitua a string de versão X.Y.Z pela versão mais recente disponível no Maven Central Repository (em inglês).

Para usar com Maven (em inglês), adicione o seguinte à seção de dependências do arquivo pom.xml:

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

Para utilizar com o Gradle, adicione o seguinte código à sua seção de dependências build.gradle:

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

O snippet de código a seguir demonstra o download de um feed de dados da GTFS Realtime a partir de um URL específico, a análise dele como FeedMessage, que é o tipo raiz do esquema da GTFS Realtime, e a iteração dos resultados.

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());
      }
    }
  }
}

Para mais detalhes, veja a página do projeto Java (em inglês).