SignalR-integration in android studio

Benutze ich signalR-lib in mein Projekt. aber ich war nicht in der Lage zu kompilieren libs von https://github.com/SignalR/java-client auf meiner eigenen, ich fand Sie im internet. Aber wie es scheint, gibt es nicht die volle (WebsocketTransport fehlt)

Wenn ich kompilieren https://github.com/SignalR/java-client, bekomme ich zwei libs, und fügen Sie Sie zu meiner app.gradle -

compile files ('libs/signalr-client-sdk.jar')
compile files ('libs/signalr-client-sdk-android.jar')

Progects bauen suckesfully, butwhen ich durch das drücken der run - es schlägt fehl.
Hier ist die stack-trace -

  UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dx.cf.iface.ParseException: bad class file magic (cafebabe) or version (0034.0000)
at com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:472)
at com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406)
at com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:388)
at com.android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:251)
at com.android.dx.command.dexer.Main.processClass(Main.java:704)
at com.android.dx.command.dexer.Main.processFileBytes(Main.java:673)
at com.android.dx.command.dexer.Main.access$300(Main.java:83)
at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:602)
at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284)
at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)
at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
at com.android.dx.command.dexer.Main.processOne(Main.java:632)
at com.android.dx.command.dexer.Main.processAllFiles(Main.java:510)
at com.android.dx.command.dexer.Main.runMonoDex(Main.java:280)
at com.android.dx.command.dexer.Main.run(Main.java:246)
at com.android.dx.command.dexer.Main.main(Main.java:215)
at com.android.dx.command.Main.main(Main.java:106)
...while parsing microsoft/aspnet/signalr/client/Action.class

1 Fehler; Abbruch
Error:Execution failed for task ':app:preDexDebug'.

com.android.ide.common.Prozess.ProcessException: org.gradle.Prozess.intern.ExecException: Prozess 'Befehl 'C:\Program Files\Java\jdk1.8.0_45\bin\java.exe" finished with non-zero exit-Wert 1

Ich weiß nicht, was zu tun ist. Ich habe sogar versucht zu kompilieren Gabeln von diesem Projekt, aber haben das gleiche Ergebnis, der gleiche Fehler. Brauche jede Hilfe, vielen Dank!

UPDATE

in meiner Anwendung Klasse, ich habe

Platform.loadPlatformComponent(new AndroidPlatformComponent());

in meiner app.gradle:

compile files ('libs/gson-2.2.2.jar')
compile files ('libs/signalr-client-sdk.jar')
compile files ('libs/signalr-client-sdk-android.jar')

in meinem code, den ich verwenden

connection.start(new ServerSentEventsTransport(connection.getLogger())).get();

Außerdem erstelle ich viele hubs auf dieser Verbindung, nad Methoden aufrufen. Alles funktioniert, aber die Verbindung immer verschwindet, wenn ich nichts mit dem Gerät mehr als 30 Sekunden. Und ich habe keine Rückrufe, dass die Verbindung verloren\disconected oder irgendetwas wie das - ich-log-all dieses Zeug. Aber ich denke, dass es passieren kann, weil ich ziemlich alten libs, die ich gegoogelt - wie ich schon erwähnt, in dieser Frage habe ich nicht menaged zu bauen signalR-Projekt zu erhalten, neuere libs

  • Poste deinen code pls
  • welchen code genau brauchen Sie? gradle-Datei?
  • Den code, wie Sie Sie nennen/verwenden, SignalR in Ihrem Android-Projekt.
  • Sie können sich mit diesem link stackoverflow.com/questions/32288357/...
  • aktualisiert answeir
  • Werfen Sie einen Blick auf meine Antwort 🙂
  • Sieht meine Antwort für Ihre Frage oder nicht?
  • Nein, ich verwendet, ziemlich gleichen Ansatz, und ich noch einen Wackelkontakt, wie ich schrieb in den update
  • Meinst du damit, dass Ihre app erfolgreich gearbeitet, aber manchmal ist die Verbindung zwischen it-und server-app verloren?
  • scheint, wie ich gefunden habe, 2 Fehler und machen es Arbeit, noch in der Testphase. Ich habe stürzt in regelmäßigen Abständen in WebSocketTransport, da erhielt ich zu lange Nachricht - und es spaltet sich in zwei Teile und der zweite Teil war ',' ! Und das ist die Scheiße! SignalR fehl, und rufen Sie für die Verbindung zu trennen.
  • Der zweite Fehler ist, dass websokets nicht geschafft richtig einzustellen-Header. Ich habe das getan, manuell. vielleicht, wenn ich fix und lassen für ein paar Tage, ich Schreibe voll answeir
  • Sieht aus wie Android SignalR nicht unterstützt WebSocketTransport
  • mit den 2 Updates, es funktioniert, irgendwie , aber immer noch buggy
  • Buggy??? Sorry, ich nicht verstehen, dieses Wort 🙂
  • haben Sie versucht, LongPolling noch?
  • buggy - es ist die version mit einigen bugs 🙂 LongPolling und ServerSendEvents scheint zu funktionieren, nicht so schnell, wie Sie WebSockets. Also ich brauche websockets in meiner app
  • Ich habe nicht mal versucht Websocket erfolgreich mit SignalR für Android 🙂
  • Aber für mich SSE-transport hat einen Fehler zu - ich "lockere" Verbindung, wenn ich das nicht tun alle Operationen für mehr als eine minute. Verbindung ist aber tehnically noch existiert, aber ich habe in logs auf server - kommt gar nichts an, leider. Mit websockets ich nicht havbe solche Fehler
  • IMO, Sie können versuchen, LongPolling.

InformationsquelleAutor Anton Kizema | 2015-09-10
Schreibe einen Kommentar