2

我是一个初学者的android程序员。我在使用SignalA时遇到问题。有人试图运行 SignalA 客户端?它是如何工作的???我按照 Erick 所写的那样做所有事情:下载 SignalA.LongPolling。添加了对 SignalA.LongPolling 的引用,添加到 SignalA.LongPolling basic-http-client。

然后添加到MainActivity

package com.example.testdemo;

import com.zsoft.SignalA.Connection;
import com.zsoft.SignalA.Transport.StateBase;
import com.zsoft.SignalA.transport.longpolling.LongPollingTransport;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.Toast;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        String url = "http://signalrcalc.apphb.com/";
         Connection con = new com.zsoft.SignalA.Connection(url, this, new LongPollingTransport()) {

                @Override
                public void OnError(Exception exception) {
                    Toast.makeText(MainActivity.this, "On error: " + exception.getMessage(), Toast.LENGTH_LONG).show();
                }

                @Override
                public void OnMessage(String message) {
                    Toast.makeText(MainActivity.this, "Message: " + message, Toast.LENGTH_LONG).show();
                }

                @Override
                public void OnStateChanged(StateBase oldState, StateBase newState) {
                }
            };

            con.Start();
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

}

并得到一个错误:

04-25 07:05:30.112: E/AndroidRuntime(275): FATAL EXCEPTION: main
04-25 07:05:30.112: E/AndroidRuntime(275): java.lang.NoClassDefFoundError: com.zsoft.SignalA.transport.longpolling.ConnectingState$1
04-25 07:05:30.112: E/AndroidRuntime(275):  at com.zsoft.SignalA.transport.longpolling.ConnectingState.OnRun(ConnectingState.java:39)
04-25 07:05:30.112: E/AndroidRuntime(275):  at com.zsoft.SignalA.transport.longpolling.StopableStateWithCallback.Run(StopableStateWithCallback.java:29)
04-25 07:05:30.112: E/AndroidRuntime(275):  at com.zsoft.SignalA.ConnectionBase.SetNewState(ConnectionBase.java:46)
04-25 07:05:30.112: E/AndroidRuntime(275):  at com.zsoft.SignalA.transport.longpolling.DisconnectedState.OnRun(DisconnectedState.java:42)
04-25 07:05:30.112: E/AndroidRuntime(275):  at com.zsoft.SignalA.Transport.StateBase.Run(StateBase.java:28)
04-25 07:05:30.112: E/AndroidRuntime(275):  at com.zsoft.SignalA.transport.longpolling.DisconnectedState.Start(DisconnectedState.java:25)
04-25 07:05:30.112: E/AndroidRuntime(275):  at com.zsoft.SignalA.ConnectionBase.Start(ConnectionBase.java:127)
04-25 07:05:30.112: E/AndroidRuntime(275):  at com.example.testdemo.MainActivity.onCreate(MainActivity.java:38)

如何运行它,我不知道......(((

4

3 回答 3

2

我也遇到了这个错误。我设法通过包含 basic-http-client-android-0.88.jar 和 parallel-http-client.jar 来让 Signala 工作。

后一个库位于 Signala 的主分支中,与其他库一起编译并将其复制到您的项目中。您需要在此处下载的前库https://code.google.com/p/basic-http-client/

我使用的是 android studio 而不是 eclipse,所以我也遇到了 gradle 的一些问题;如果遇到这些,请确保在 build.gradle 的依赖项下包含以下内容:

compile files('libs/signala.jar','libs/basic-http-client-android-0.88.jar','libs/parallel-basic-http-client.jar','libs/signala.longpolling.jar')
于 2013-08-01T07:04:06.417 回答
0

我从源头假设您的建筑。克隆 github 存储库后,请执行以下操作。

git submodule init
and then
git submodule update

它将初始化作为子模块包含在项目中的 basic-http-client。然后你不需要安装jar。

希望这可以帮助!

于 2013-09-19T03:32:13.027 回答
0

我在我的项目中也遇到了很多引用 SignalA 的问题。我试图在我的项目中引用 SignalA、SignalA.LongPolling 和 parallel-basic-http-client。将 basic-http-client-android-0.88.jar 库导入 SignalA.LongPolling 和 parallel-basic-http-client 作为项目库后,我能够编译我的项目而没有任何错误。但是,当我尝试打开 Signalr HubConnection 时,应用程序崩溃了。我得到的错误与@Kiran 的错误非常相似。

我花了几个小时玩它,终于设法让它工作没有任何错误。我的方法是将以下库中的“src”文件夹导出为 Jar 文件:-SignalA-SignalA.LongPolling-parallel-basic-http-client

并将这些 .jar 文件 + basic-http-client-android-0.88.jar 复制到我的项目(Workspace/my_app/libs/)中。

由于 SignalA 是 Android 平台上 SignalR 的唯一解决方案,我想在这里与求助者分享一个完整的解决方法。

您可以观看此视频以逐步按照说明进行操作!

https://www.youtube.com/watch?v=f9ih_M7PC10

于 2013-12-11T10:12:41.877 回答