首页 > 解决方案 > “导入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 后,我注意到错误仍然存​​在。

这是显示错误的屏幕截图:

javax-websocket-错误

我认为整个问题来自import javax.websocket.*;代码行。我也认为我添加的依赖项不对应。我添加的依赖项可以是 forjava.websocket而不是javax.websocket

我正在使用 Android Studio 3.1.3。

标签: javaandroid-studiowebsocketjava-websocketandroid-studio-3.1

解决方案


要解决这个问题,您需要做的就是下载所需的 jar 文件(在我的情况下为 javax.json-1.0.jar 和 tyrus-standalone-client-1.9.jar),添加(从压缩文件夹中提取它,然后复制并粘贴)到您在 android studio 上的资产资源文件夹。在此之后,找到您的包并将这些 jar 文件添加到您的库中。使用适当的导入语句,错误应该会消失。


推荐阅读