Android:在 Android 应用程序中使用来自 Gottox 的 java socket.io 客户端

Posted

技术标签:

【中文标题】Android:在 Android 应用程序中使用来自 Gottox 的 java socket.io 客户端【英文标题】:Android : using java socket.io client from Gottox in android app 【发布时间】:2012-07-15 05:33:52 【问题描述】:

好吧,我正在编写一个 android 应用程序,我想使用 Gottox 编写的Socket.IO-Client for Java。 github中的文档特别说该库与android兼容。

现在我的问题有点基本。 如何在 Android 应用中使用该库?

到目前为止,我已经尝试了两种方法。

    我使用命令构建了该库的 jar 文件(如解释 在图书馆的文档中)

    cd $PATH_TO_SOCKETIO_JAVA
    ant jar
    ls jar/socketio.jar
    

    我在文件夹中有一个不错的 jar 库。我把那个罐子加到我的 项目使用

    RIGHT_CLICK->Properties->Java Build Path->Add External Jars
    

    然后我使用连接

    SocketIO socket = new SocketIO("http://"+ip+":"+port+"/");
    

    我能够编译和构建我的应用程序而没有任何错误。但是当我运行时,我在上面发布的行中遇到了异常。

    java.lang.NoClassDefFoundError: io.socket.SocketIO
        at com.research.socketioresearch.LoginActivity.connectToSocketIO(LoginActivity.java:122)
        at com.research.socketioresearch.LoginActivity$1.handleMessage(LoginActivity.java:113)
    

    作为第二次尝试,我使用 socket.io 创建了一个 java 项目 我的 Eclipse 中的库源代码。然后我将该项目导出为 使用

    的 jar 文件
    RIGHT_CLICK->export->java->Jar File
    

    然后我使用该 jar 文件添加到我原来的 android 项目 与我在方法 1(添加外部 jars)中尝试的方式相同。这次我也能够 编译和构建,但在同一行得到相同的异常 代码。

现在有人成功地在 android 中使用相同的库了吗?它是如何实现的?

【问题讨论】:

【参考方案1】:

我自己搞定了..

    使用我在问题中提到的第一种方法,你会得到一个罐子 路径中的文件

    PATH_TO_SOCKETIO_JAVA/jar/socket.jar
    
    现在在您的 android 项目中,创建一个名为“libs”的文件夹(如果是 还没有) 将该 jar 文件复制到“libs”文件夹。 进入eclipse并刷新android项目。

我仍然不确定为什么使用项目属性中的“添加外部 Jars”按钮添加 jar 文件不起作用。两者都将库添加到项目中吗?

【讨论】:

添加外部 jar 不应包含在构建环境中。它应该只在从 Eclipse 工作时工作。但是一旦你把它放在别的地方,它就不会包括罐子了。为此,请使用“添加 jar”方法。 coderanch.com/t/444029/vc/… 你的@Krishnabhadra。我相信你能够解决你的问题。我想问你一个问题。您是否能够在您的 android 应用程序中从您的服务器获取消息?如果是这样,你是这样做的吗?如果你能帮助我,我将不胜感激。如果你有时间,请看看我在堆栈溢出中的问题。 这里是链接***.com/questions/28270345/… 这个问题加1

以上是关于Android:在 Android 应用程序中使用来自 Gottox 的 java socket.io 客户端的主要内容,如果未能解决你的问题,请参考以下文章

在 Android Studio 中使用 ActivityInstrumentationTestCase2 在横向测试 Android 应用程序

如何在 Android 应用程序中使用自定义主题

我可以在 sencha 应用程序(Android)中使用 android AsyncTask

Android:在 Android 应用程序中使用来自 Gottox 的 java socket.io 客户端

Android学习——在Android中使用OpenCV的第一个程序

Android - 在 Android 1.6 中开发的应用程序可以在 Android 2.0 中运行吗?