Home sdk 如何通過Java SDK接入時時股票數據

如何通過Java SDK接入時時股票數據

Last updated on Apr 02, 2026

iTick Java SDK

Java 语言版本的 iTick API SDK,提供基础、股票、指数、期货、基金、外汇、加密货币数据的 REST API 查询和 WebSocket 实时数据订阅功能。

官网地址:https://itick.org

功能特性

  • 支持 REST API 查询基础、股票、指数、期货、基金、外汇、加密货币数据

  • 支持 WebSocket 实时数据订阅

  • 自动重连机制

  • 心跳保持连接

  • 回调式事件处理

安装

Maven

在您的 pom.xml 中添加以下依赖:


<dependency>

    <groupId>io.github.itick</groupId>

    <artifactId>sdk</artifactId>

    <version>0.1.0</version>

</dependency>

Gradle

在您的 build.gradle 中添加以下依赖:


implementation 'io.github.itick:sdk:0.1.0'

从源码构建


cd java

mvn clean install

快速开始

初始化客户端


import io.github.itick.sdk.Client;

public class Example {

    public static void main(String[] args) {

        String token = "your_api_token";

        Client client = new Client(token);

    }

}

REST API 使用

外汇数据查询


// 获取外汇实时成交

var tick = client.getForexTick("GB", "EURUSD");

System.out.println(tick);

// 获取外汇实时报价

var quote = client.getForexQuote("GB", "EURUSD");

System.out.println(quote);

// 获取外汇实时盘口

var depth = client.getForexDepth("GB", "EURUSD");

System.out.println(depth);

// 获取外汇历史K线

var kline = client.getForexKline("GB", "EURUSD", 2, 10, null);

for (var k : kline) {

    System.out.println(k);

}

股票数据查询


// 获取股票实时成交

var tick = client.getStockTick("US", "AAPL");

System.out.println(tick);

// 获取股票实时报价

var quote = client.getStockQuote("US", "AAPL");

System.out.println(quote);

// 获取股票实时盘口

var depth = client.getStockDepth("US", "AAPL");

System.out.println(depth);

// 获取股票历史K线

var kline = client.getStockKline("US", "AAPL", 2, 10, null);

for (var k : kline) {

    System.out.println(k);

}

加密货币数据查询


// 获取加密货币实时成交

var tick = client.getCryptoTick("BA", "BTCUSDT");

System.out.println(tick);

// 获取加密货币实时报价

var quote = client.getCryptoQuote("BA", "BTCUSDT");

System.out.println(quote);

// 获取加密货币实时盘口

var depth = client.getCryptoDepth("BA", "BTCUSDT");

System.out.println(depth);

// 获取加密货币历史K线

var kline = client.getCryptoKline("BA", "BTCUSDT", 2, 10, null);

for (var k : kline) {

    System.out.println(k);

}

WebSocket 使用

SDK 提供了增强的 WebSocket 功能,包括自动重连和心跳保持,用户无需手动管理连接状态。

设置回调函数


// 设置消息处理器

client.setMessageHandler(message -> {

    System.out.println("Received WebSocket message: " + message);

});

// 设置错误处理器

client.setErrorHandler(error -> {

    System.err.println("WebSocket error: " + error.getMessage());

});

// 设置打开处理器

client.setOpenHandler(() -> {

    System.out.println("WebSocket connected");

});

// 设置关闭处理器

client.setCloseHandler(() -> {

    System.out.println("WebSocket closed");

});

连接和订阅


// 连接外汇 WebSocket

client.connectForexWebSocket();

// 发送订阅消息

client.sendWebSocketMessage("{\"action\": \"subscribe\", \"codes\": [\"EURUSD\"]}");

// 等待接收消息

Thread.sleep(5000);

// 检查连接状态

System.out.println("WebSocket connected: " + client.isWebSocketConnected());

// 关闭 WebSocket

client.closeWebSocket();

其他 WebSocket 连接


// 连接股票 WebSocket

client.connectStockWebSocket();

// 连接加密货币 WebSocket

client.connectCryptoWebSocket();

WebSocket 功能说明

自动重连

SDK 内置自动重连机制,当网络异常或连接断开时,会自动尝试重新连接:

  • 重连间隔:5 秒

  • 最大重连次数:10 次

  • 重连成功后自动恢复订阅

心跳保持

SDK 自动维护 WebSocket 连接的心跳:

  • 心跳间隔:30 秒

  • 自动发送 ping 消息保持连接活跃

连接状态检查


// 检查 WebSocket 是否连接

boolean connected = client.isWebSocketConnected();

完整示例


import io.github.itick.sdk.Client;

public class Main {

    public static void main(String[] args) {

        try {

            // 初始化客户端

            String token = "your_api_token";

            Client client = new Client(token);

            // 设置 WebSocket 消息处理器

            client.setMessageHandler(message -> {

                System.out.println("Received WebSocket message: " + message);

            });

            // 设置 WebSocket 错误处理器

            client.setErrorHandler(error -> {

                System.err.println("WebSocket error: " + error.getMessage());

            });

            // 测试 REST API

            System.out.println("Testing forex tick...");

            var tick = client.getForexTick("GB", "EURUSD");

            System.out.println(tick);

            // 测试 WebSocket

            System.out.println("\nTesting WebSocket...");

            client.connectForexWebSocket();

            // 发送订阅消息

            client.sendWebSocketMessage("{\"action\": \"subscribe\", \"codes\": [\"EURUSD\"]}");

            // 等待接收消息

            Thread.sleep(5000);

            // 检查连接状态

            System.out.println("WebSocket connected: " + client.isWebSocketConnected());

            // 关闭 WebSocket

            client.closeWebSocket();

        } catch (Exception e) {

            e.printStackTrace();

        }

    }

}

系统要求

  • Java 11 或更高版本

  • Maven 3.6 或更高版本(用于构建)

依赖项

  • OkHttp 4.10.0 - HTTP 客户端

  • Java-WebSocket 1.5.3 - WebSocket 客户端

  • Gson 2.10.1 - JSON 解析

文档

详细 API 文档请参考:https://docs.itick.org