0

我想在 Android 上使用 Azure Text Analytics(extractKeyPhrases),但它在我的项目中出现了一些错误。我想知道为什么我会收到这个错误。错误发生在“client.extractKeyPhrases(text)”中。我认为错误的重要部分是“在 io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)”。请帮帮我!!!:(

我的代码

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

    TextAnalyticsClient client = authenticateClient(KEY, ENDPOINT);

    extractKeyPhrasesExample(client);

}

static TextAnalyticsClient authenticateClient(String key, String endpoint) {
    return new TextAnalyticsClientBuilder()
            .credential(new AzureKeyCredential(key))
            .endpoint(endpoint)
            .buildClient();
}

static void extractKeyPhrasesExample(TextAnalyticsClient client)
{
    // The text that need be analyzed.
    String text = "My cat might need to see a veterinarian.";

    System.out.printf("Recognized phrases: %n");

    for (String keyPhrase : client.extractKeyPhrases(text)) {
       Log.d("TextAnalytics",keyPhrase);
    }
}

build.grdle(项目)

mavenCentral()
    maven {
        url 'https://mvnrepository.com/artifact/com.azure/azure-ai-textanalytics/5.0.0'

    }
    maven {
        url 'https://mvnrepository.com/artifact/javax.xml.stream/stax-api/1.0-2'

    }

构建.grdle(应用程序)

implementation 'com.azure:azure-ai-textanalytics:5.0.0'
implementation 'javax.xml.stream:stax-api:1.0-2'

我的错误

2020-09-26 18:30:30.301 27287-27287/com.example.newtextanalytics E/AndroidRuntime:     at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
    at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163)
    at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:714)
    at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:650)
    at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:576)
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493)
    at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
    at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    at java.lang.Thread.run(Thread.java:919)
    Suppressed: java.lang.Exception: #block terminated with an error
    at reactor.core.publisher.BlockingSingleSubscriber.blockingGet(BlockingSingleSubscriber.java:99)
    at reactor.core.publisher.Mono.block(Mono.java:1678)
    at com.azure.ai.textanalytics.TextAnalyticsClient.extractKeyPhrases(TextAnalyticsClient.java:457)
    at com.azure.ai.textanalytics.TextAnalyticsClient.extractKeyPhrases(TextAnalyticsClient.java:432)
    at com.example.newtextanalytics.MainActivity.extractKeyPhrasesExample(MainActivity.java:41)
    at com.example.newtextanalytics.MainActivity.onCreate(MainActivity.java:23)
    at android.app.Activity.performCreate(Activity.java:7957)
    at android.app.Activity.performCreate(Activity.java:7946)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1307)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3530)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3707)
    at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
    at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2220)
    at android.os.Handler.dispatchMessage(Handler.java:107)
    at android.os.Looper.loop(Looper.java:237)
    at android.app.ActivityThread.main(ActivityThread.java:8016)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1076)
4

1 回答 1

0

文本分析 Java SDK 正在使用 reactor 核心,但 Reactor 3 并未正式支持或针对 Android。 https://projectreactor.io/docs/core/release/reference/index.html#prerequisites

目前,文本分析 SDK 仅适用于 Java,不适用于 Android。我们可以尝试调试,看看这是怎么回事,但我们从来没有证明我们所有的 SDK 都可以在 Android 中工作。

如果您有其他问题,欢迎在 Azure SDK for Java 存储库中创建问题。 https://github.com/Azure/azure-sdk-for-java/tree/master/sdk/textanalytics/azure-ai-textanalytics

于 2020-10-07T21:02:04.000 回答