Android上的SignalR客户端(SignalA)不起作用
我是一名初学者的android程序员。我遇到SignalA问题。有人试图运行SignalA客户端?它是如何工作的??? 我尽我所能写Erick:下载SignalA.LongPolling。添加了对SignalA.LongPolling的引用,添加到SignalA.LongPolling basic-http-client上。Android上的SignalR客户端(SignalA)不起作用
然后加入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)
如何运行呢,我不知道...(((
我假设您的源代码为building。当您克隆github回购时,请执行以下操作。
git submodule init
and then
git submodule update
它将初始化basic-http-client,它作为子模块包含在项目中。然后你不需要安装jar。
希望这会有所帮助!
我我设法通过包含basic-http-client-android-0.88.jar和parallel-http-client.jar来获得Signala的工作。
后者库在Signala的主分支,与其他库编译它,并将其复制到您的项目。前者lib中,你需要在这里下载https://code.google.com/p/basic-http-client/
我使用Android的工作室,而不是日食,所以我有太多的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')
我也遇到了很多问题,在我的项目引用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 - 并行基本-HTTP客户端
,并复制这些.jar文件+基本-HTTP- client-android-0.88.jar放入我的项目(Workspace/my_app/libs /)。
至于SignalA是SignalR Android平台唯一的解决办法,我想到这里的求助者分享一个完整的解决方法。
您可以观看这部影片遵循指示一步一步!
不错的视频!我只想提到我已经将SignalA上传到Maven Central。希望能够更容易地使用库。有关详细信息,请参阅github上的自述文件。 – 2014-01-18 08:36:15
我有完全相同的问题,有进口的库,但在项目层面。我必须去Project Structure,选择Project Module,然后在Dependencies选项卡中添加库。只有在那之后,它才会奏效。 – 2013-09-18 16:50:18
看看演示项目,看看我如何配置我的Gradle构建。或者包含来自Maven Central的SignalA。 – 2014-01-18 08:38:21