无法使用GoogleTranslateFreeApi接收翻译结果



在我使用 c# xamarin 的 android 应用程序中,我使用GoogleFreeTranslateApi来翻译一个单词 - 但由于某种原因它无法返回翻译结果值。当我按下翻译按钮时,它会等待并等待,直到它说 - android 应用程序没有响应。没有某种错误可以告诉我我做错了什么。 这就是我使用的代码

private async void OnTranslateButtonReleased(object sender, EventArgs e)
{
GoogleTranslator translator = new GoogleTranslator();
var result = await translator.TranslateAsync("ball", Language.English, Language.Bulgarian);
await DisplayAlert("Alert", result.MergedTranslation, "ok");
}

另一个重要的事情是,在 C# 控制台应用程序中,它可以毫无问题地工作。 就像我等待 1 秒,它返回翻译后的值。

using System;
using System.Threading;
using System.Threading.Tasks;
using GoogleTranslateFreeApi;

namespace ARIWE
{
class Program
{
public static async Task Main(string[] args)
{
GoogleTranslator translator = new GoogleTranslator();
var result = await translator.TranslateLiteAsync("ball",Language.English, Language.Bulgarian);
Console.WriteLine(result.MergedTranslation);
}
}
}

我是编程新手,我不知道为什么会发生这种情况。

您需要在函数中使用异步 await 来阻止它阻止 UI 线程

最新更新