我正在尝试从交易平台(https://www.binary.com)获取一些数据。开发人员网站(https://developers.binary.com/demos/)提供了用于从中获取数据的代码示例。
因为我使用的是android studio,所以我选择了java,复制了代码,创建了一个新类,然后将代码粘贴到了那里。
这是我的代码:
package com.example.smijes.myapplication;
import java.net.URI;
import java.io.IOException;
import java.lang.InterruptedException;
import javax.websocket.*;
@ClientEndpoint
public class WSClient {
@OnOpen
public void onOpen(Session session) throws java.io.IOException {
session.getBasicRemote().sendText("{\"ticks\": \"R_100\"}");
}
@OnMessage
public void onMessage(String message) {
System.out.println("ticks update: " + message);
}
public static void main(String[] args)
throws IOException, DeploymentException, InterruptedException {
WebSocketContainer container = ContainerProvider.getWebSocketContainer();
URI apiUri = URI.create("wss://ws.binaryws.com/websockets/v3?app_id=1089");
Session session = container.connectToServer(WSClient.class, apiUri);
Thread.sleep(10000);
}
}
我注意到一些错误,做了一些研究,然后在我的应用程序级别build.gradle文件中添加了一个依赖项:
implementation "org.java-websocket:Java-WebSocket:1.3.8
在同步gradle之后,我注意到错误仍然存在。
以下是显示错误的屏幕截图:
我认为整个问题来自import javax.websocket.*;
行代码。我还认为我添加的依赖项不对应。我添加的依赖项可以用于java.websocket
而不是javax.websocket
吗?
我正在使用Android Studio 3.1.3。
答案 0 :(得分:0)
要解决此问题,您需要做的就是下载所需的jar文件(在我的情况下为javax.json-1.0.jar和tyrus-standalone-client-1.9.jar),然后添加(从压缩文件夹,然后将其复制并粘贴到android studio上的资产资源文件夹中。 之后,找到您的软件包并将那些jar文件添加到您的库中。 使用适当的import语句,错误应该会消失。
答案 1 :(得分:0)
@SMIJ 所说的对我也有帮助!只需在 build.gradle 中插入并使用以下依赖项:
implementation group: 'javax.json', name: 'javax.json-api', version: '1.0'
implementation group: 'org.glassfish.tyrus.bundles', name: 'tyrus-standalone-client', version: '1.9'