Шаги по созданию SignalR в Android Studio
Я пытаюсь привести SignalR в проект Android Studio.
Я успешно выполнил учебник по начинающему с SignalR, так что теперь у меня есть рабочий Hub
. Клиент в этом учебнике - это javascript, и я получил его нормально на веб-странице (в Chrome) на ПК и на моем Android-телефоне через Wi-Fi в моей домашней локальной сети.
Затем я пошел, чтобы работать с java-клиентом Android. У меня уже был проект приложения Android в Android Studio, в котором я хочу поговорить с тем, что работает Hub
как тест, в качестве следующего шага.
Я загрузил официальный Microsoft java-клиент для Android в качестве почтового индекса.
Затем я извлек его и загрузил его как проект в Android Studio. Он строит без ошибок.
Проблема №1: Этот проект дает мне AAR, а не JAR. Я выяснил, как использовать банку в Android Studio, поэтому, если есть способ создать банку на этом этапе, я, вероятно, смогу сделать эту работу.
В этот момент я включил зависимости в свой проект приложения. Readme.md говорит:
Добавьте signalr-client-sdk.jar, signalr-client-sdk-android.jar gson библиотека как зависимость gradle от проекта.
поэтому я старался следовать этому как можно ближе. Здесь из моего 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')
Проблема № 2: импортировав aar в качестве модуля в проект приложения в Android Studio, он все еще не видит необходимого пространства имен, чтобы заставить основной оператор работать. Вот основной оператор (привет мир SignalR в Android, компилятор):
Platform.loadPlatformComponent(new AndroidPlatformComponent());
Сначала он ничего не собирал, затем взял import microsoft.aspnet.signalr.client.Platform;
для Platform
. Он все еще не имеет понятия, что import
для AndroidPlatformComponent
, поэтому я застреваю, пока не смогу пройти мимо этого.
Как вы знаете, в Android Studio есть много файлов, и я не хочу просто извергать их здесь, прежде чем я узнаю, какие файлы вы хотите видеть. Я добавлю их в качестве редактирования, если вы скажете мне, какие файлы вы хотите видеть.
Ответы
Ответ 1
Ну, вы можете скачать файлы jar из этой ссылки
Шаг 1
Создайте папку libs внутри вашего пакета и просто вставьте эти файлы jar здесь.
![enter image description here]()
Шаг 2
Теперь добавьте "компилировать файлы" внутри зависимостей build.gradle
![enter image description here]()
Теперь после этого нажмите "Синхронизировать проект с Gradle файлом" ![enter image description here]()
Шаг 3
Даже после синхронизации и импорта банкомата вы все равно сталкиваетесь с некоторыми ошибками импорта и т.д.
Теперь попробуйте недействить кеш и перезагрузите. После нескольких раз это будет нормально и импортирует все классы
![enter image description here]()
Шаг 4
Теперь вы увидите импорт для Platform.loadPlatformComponent(); без проблем
![enter image description here]()
![enter image description here]()
Ответ 2
Я получил эту работу только с Android Studio и файлами проекта GitHub.
Вот что я должен был сделать для потомков.
- Извлеките zip файл из github
- Откройте содержимое в Android Studio в качестве отдельного проекта и Сборка. Он производит:
-
signalr-client-sdk-android-debug.aar
в java-client\signalr-client-sdk-android\build\outputs\aar
-
signalr-client-sdk.jar
в java-client\signalr-client-sdk\build\libs
- Скопируйте эти 2 файла в папку
libs
вашего приложения.
- Войдите в модуль
build.gradle
и добавьте:
repositories {
flatDir{
dirs 'libs'
}
}
dependencies {
compile 'com.google.code.gson:gson:2.3.1'
compile fileTree(dir: 'libs', include: ['*.jar'])
compile(name: 'signalr-client-sdk-android-release', ext: 'aar')
}
-
Инструменты, Android, проект синхронизации с Gradle файлами, и когда это было успешно, я сделал Build.
-
Затем, наконец, эта строка кода дала мне приглашение ALT + Enter для генерации import
для этой строки кода:
Platform.loadPlatformComponent(new AndroidPlatformComponent());
который дал мне:
import microsoft.aspnet.signalr.client.Platform;
import microsoft.aspnet.signalr.client.http.android.AndroidPlatformComponent;
Уф!