Java 範例

如要在自己的專案中使用 gtfs-realtime-bindings Java 類別,請務必加入適當的依附元件。我們會將模組發布至 Maven Central Repository,方便 Maven、Ivy 和 Gradle 等 Java 建構工具參照該模組。

在下方依附元件程式碼片段中,請將版本字串 X.Y.Z 換成 Maven Central Repository 中提供的最新版本。

如果是 Maven,請在 pom.xml 依附元件部分中加入:

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

如果是 Gradle,請在 build.gradle 依附元件部分中加入:

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

以下程式碼片段示範如何從特定網址下載 GTFS Realtime 資料動態饋給,並視為 FeedMessage (GTFS Realtime 結構定義的根類型) 進行剖析,然後反覆處理結果。

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

詳情請參閱 Java 專案頁面