“导入javax.websocket。*;”在android studio上显示错误

时间:2018-07-05 23:10:28

标签: java android-studio websocket java-websocket android-studio-3.1

我正在尝试从交易平台(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-error

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

我正在使用Android Studio 3.1.3。

2 个答案:

答案 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'