Языковые привязки Java GTFS-realtime¶
Предоставляет классы Java, созданные на основе спецификации GTFS-realtimeProtocol Buffer. Эти классы позволят вам разобрать двоичный поток данных Protocol Buffer GTFS-realtime в объекты Java.
Добавьте зависимость¶
Чтобы использовать классы gtfs-realtime-bindings
в своем проекте, необходимо добавить соответствующую зависимость. Мы публикуем наш модуль в центральном репозитории Maven,чтобы на него могли легко ссылаться такие инструменты сборки Java, как Maven, Ivy и Gradle.
Для Maven добавьте следующее в раздел зависимости pom.xml
:
<dependency>
<groupId>org.mobilitydata</groupId>
<artifactId>gtfs-realtime-bindings</artifactId>
<version>0.0.8</version>
</dependency>
Для Gradle добавьте следующее в раздел зависимости build.gradle
:
implementation group: 'org.mobilitydata', name: 'gtfs-realtime-bindings', version: '0.0.8'
Убедитесь, что центральный репозиторий Maven ссылается на ваш проект.
Пример кода¶
Следующий фрагмент кода демонстрирует загрузку потока данных GTFS-realtime с определенного URL, его разбор как 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-классов, созданных на основе gtfs-realtime.proto, можно найти в разделе Java Generated Codesна сайте разработчика Protocol Buffers.
История проекта¶
0.0.4
и ниже¶
Этот проект был первоначально создан компанией Google. Вы можете загрузить версии 0.0.4
и старше под групповым идентификатором com.google.transit
здесь, на Maven Central.
0.0.5
¶
MobilityData начала поддерживать проект в начале 2019 года и первоначально опубликовала артефакты релиза через JCenter. Вы можете загрузить версию 0.0.5
под групповым идентификатором io.mobilitydata.transit
здесь на Maven Central.
0.0.6
и 0.0.7
¶
JCenter был закрыт в 2021 году. До закрытия, проблема синхронизации не позволяла синхронизировать версии 0.0.6
и 0.0.7
из JCenter в Maven Central, поэтому прямая загрузка артефактов для этих версий в настоящее время недоступна. Однако вы можете скомпилировать их самостоятельно из тегов с помощью команды mvn package
.
0.0.8
и выше¶
В 2022 году MobilityData перешла на публикацию артефактов непосредственно в Maven Central под групповым идентификатором org.mobilitydata
, где публикуются версии 0.0.8 и выше.