【问题标题】:How to import the Gottox/socket.io-java-client api in current Eclipse Android Project?如何在当前的 Eclipse Android 项目中导入 Gottox/socket.io-java-client api?
【发布时间】:2015-03-09 23:08:54
【问题描述】:

我正在尝试使用Socket.io 编写一个在node.js 上运行的JavaScript 服务器,该服务器与我的android 应用程序(java 类)客户端进行通信。由于我需要结合使用 Socket.io(或任何其他有效的 websockets)框架的 JS 服务器和 java 客户端,我发现 Gottox/socket-io.-java-client 实现似乎可以完成这项工作。

问题:我对套接字编程和使用 Github 项目非常陌生。我尝试遵循项目中提到的简单方法,但遇到了build errors with Eclipse,特别是与 WebSocket.jar 和 json-org.jar 的归档问题有关。

无法解决这个问题,当我遇到一个完全不同的bug 时,我尝试将项目导入 Android Studio,我对此非常陌生。

我只是想确保我一开始就在处理这个项目。这是我的客户端类的样子:

package com.example.culami;

import io.socket.IOAcknowledge;
import io.socket.IOCallback;
import io.socket.SocketIO;
import io.socket.SocketIOException;

import org.json.JSONException;
import org.json.JSONObject;

public class AcknowledgeExample implements IOCallback {
    private SocketIO socket;

    /**
     * @param args
     */
    /*public static void main(String[] args) {
        try {
            new AcknowledgeExample();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }*/

    public AcknowledgeExample() throws Exception 
    { 
        socket = new SocketIO();
        socket.connect("http://192.168.0.108:3000/", this);

        // Sends a string to the server.
        socket.send("Hello Server");

        // Sends a JSON object to the server.
        socket.send(new JSONObject().put("key", "value").put("key2",
                "another value"));

        // Emits an event to the server.
        socket.emit("event", "argument1", "argument2", 13.37);
    }

    @Override
    public void onMessage(JSONObject json, IOAcknowledge ack) {
        try {
            System.out.println("Server said:" + json.toString(2));
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }

    @Override
    public void onMessage(String data, IOAcknowledge ack) {
        System.out.println("Server said: " + data);
    }

    @Override
    public void onError(SocketIOException socketIOException) {
        System.out.println("an Error occured");
        socketIOException.printStackTrace();
    }

    @Override
    public void onDisconnect() {
        System.out.println("Connection terminated.");
    }

    @Override
    public void onConnect() {
        System.out.println("Connection established");
    }

    @Override
    public void on(String event, IOAcknowledge ack, Object... args) {
        System.out.println("Server triggered event '" + event + "'");
    }

}

我导入了 socketio.jar 甚至 WebSocket.jar 和 json-org.jar,因为它们似乎也是需要的。任何关于我做错了什么或我应该如何将这个库合并到我的 android 项目中的反馈都将受到高度赞赏,因为我已经花费了无数小时来尝试调试构建问题。

注意:我正在使用 Android L、API 21 和 jdk1.7 来运行这个项目。

【问题讨论】:

    标签: java android eclipse build java-websocket


    【解决方案1】:

    你可以添加

    socket.io-client-0.1.0.jar

    他的http://mvnrepository.com/artifact/com.github.nkzawa/socket.io-client/0.1.0的链接

    【讨论】:

      猜你喜欢
      • 2015-01-24
      • 2014-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-26
      • 2014-07-27
      • 1970-01-01
      • 2013-04-26
      相关资源
      最近更新 更多