Steps to get SignalR working in Android Studio

toddmo picture toddmo · Apr 13, 2015 · Viewed 22k times · Source

I'm trying to bring SignalR into my Android Studio project.

I successfully followed the tutorial on getting started with SignalR, so now I have a working Hub. The client in that tutorial is javascript, and I got it working ok in a web page (in Chrome) on PC AND on my Android phone over WiFi on my home LAN.

Then I went to go get the Android java client working. I already had an Android app project in Android Studio, which I want to make talk to that working Hub as a test, as the next step.

I downloaded the official Microsoft java client for Android, as a zip.

Then I extracted it and loaded it as a project into Android Studio. It builds with no errors.

Problem #1: This project only gives me an AAR, not a JAR. I have figured out how to use a jar in Android Studio, so if there's a way to create a jar at this juncture, I can probably make this work.

At this point I included the dependencies into my app project. The readme.md says to:

Add the signalr-client-sdk.jar, signalr-client-sdk-android.jar gson library as a gradle dependency to the project.

so I tried to follow that as closely as possible. Here's from my build.gradle:

compile 'com.google.code.gson:gson:2.3.1'
compile files('libs/signalr-client-sdk.jar')
compile files('libs/signalr-client-sdk-android-release.aar')

Problem #2: Having imported the aar as a module into my app project in Android Studio, it still does not see the necessary namespace to make the primary statement work. Here is the primary statement (the hello world of SignalR in Android, compiler-wise):

Platform.loadPlatformComponent(new AndroidPlatformComponent());

At first it wasn't picking up anything, then it picked up import microsoft.aspnet.signalr.client.Platform; for Platform. It still does not have a clue what to import for AndroidPlatformComponent, so I'm stuck until I can get past this.

As you know there are a lot of files in Android Studio, and I don't want to just spew them all out here before I know which files you want to see. I'll add them as an edit if you tell me which files you want to see.

Answer

Talha Q picture Talha Q · Apr 14, 2015

Well you can download the jar files from this link

Step 1

Create a libs folder inside your package and simply paste these jar files here.

enter image description here

Step 2

Now add "compile files" inside dependencies of build.gradle

enter image description here

Now after this press "Sync Project with Gradle file" enter image description here

Step 3

Even after syncing and importing jar successfully you still face some import errors etc. Now try Invalidate cache and restart.After couple of times it will be fine and imports all the classes

enter image description here

Step 4

Now you will see the imports for Platform.loadPlatformComponent(); without any problems

enter image description here enter image description here