gpt4 book ai didi

azure - Xamarin.Android 无法在 Android 10 Q 中从 Azure 数据库中提取表

转载 作者:可可西里 更新时间:2023-11-01 17:16:24 26 4
gpt4 key购买 nike

我确实读过,因为缺乏对 Netcore 2.1 的支持

myItemsList = await App.MobileServiceAndroid.GetTable<MyTable>().ToListAsync();

目前不适用于 Android,并且有一个解决方法可以在 MobileServiceClient 的构造函数中传递 HttpClientHandler(),所以我这样做了:

public static MobileServiceClient MobileServiceAndroid =
new MobileServiceClient(AppConstants.AZURE_PRODUCTION_WEB_API_URL, new HttpClientHandler());

但这并不完整,它仍然不起作用,我到底需要做什么才能使这项工作成功,非常感谢任何指导。

最佳答案

据我了解,您正在使用 Forms/PCL 项目,而 other solution正在他们的 Android 项目中实现此代码。对于您来说,一旦将 using Xamarin.Android.Net; 添加到类中,您应该能够执行以下操作:

public static MobileServiceClient MobileServiceAndroid =
new MobileServiceClient(AppConstants.AZURE_PRODUCTION_WEB_API_URL, new AndroidClientHandler());
<小时/>

您很可能在获取该 using 语句时遇到问题,因为您必须按照 here 所示的步骤进行操作。 ,或按照以下步骤为您定制:

  1. 将 Xamarin Forms 项目添加到您的所有项目中。
  2. 在 Core 项目中创建接口(interface) ICustomClientHandler
using System;
using System.Net.Http;

namespace Test
{
public interface ICustomClientHandler
{
HttpClientHandler GetHandler();
}
}
  • 然后在 Droid 项目中创建一个 CustomClientHandler,它将作为依赖服务的 Android 部分,帮助您检索 native AndroidClientHandler
  • using System.Net.Http;
    using Xamarin.Android.Net;
    using System.Runtime.CompilerServices;
    using Xamarin.Forms;
    using Test;
    [assembly: Xamarin.Forms.Dependency(typeof(Test.Droid.CustomClientHandler))]
    namespace Test.Droid
    {
    public class CustomClientHandler : ICustomClientHandler
    {
    public HttpClientHandler GetHandler()
    {
    return new AndroidClientHandler();
    }
    }
    }
  • 也以类似的方式实现 iOS 版本,但它将返回 new HttpClientHandler();
  • 最后,在您的 Core 项目中使用所示的代码:
  • var clientHandler = DependencyService.Get<ICustomClientHandler>().GetHandler();
    public static MobileServiceClient MobileServiceAndroid =
    new MobileServiceClient(AppConstants.AZURE_PRODUCTION_WEB_API_URL, clientHandler);

    关于azure - Xamarin.Android 无法在 Android 10 Q 中从 Azure 数据库中提取表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58293151/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com