java - “导入javax.websocket。*;” 在 android studio 上显示错误
问题描述
我正在尝试从交易平台 ( 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.*;
代码行。我也认为我添加的依赖项不对应。我添加的依赖项可以是 forjava.websocket
而不是javax.websocket
?
我正在使用 Android Studio 3.1.3。
解决方案
要解决这个问题,您需要做的就是下载所需的 jar 文件(在我的情况下为 javax.json-1.0.jar 和 tyrus-standalone-client-1.9.jar),添加(从压缩文件夹中提取它,然后复制并粘贴)到您在 android studio 上的资产资源文件夹。在此之后,找到您的包并将这些 jar 文件添加到您的库中。使用适当的导入语句,错误应该会消失。