Android无法从Android 10 Q中的Azure数据库中提取表

Android无法从Android 10 Q中的Azure数据库中提取表,azure,http,xamarin,xamarin.android,Azure,Http,Xamarin,Xamarin.android,我确实读过这篇文章,因为缺乏对Netcore 2.1的支持 myItemsList = await App.MobileServiceAndroid.GetTable<MyTable>().ToListAsync(); 但这是不完整的,它仍然不起作用,我到底要做什么才能使它起作用,非常感谢任何指导。据我所知,您使用的是Forms/PCL项目,而他们在Android项目中实现了这段代码。 对于您来说,一旦您使用Xamarin.Android.Net添加对于类,您应该能够执行以下操作:

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

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

但这是不完整的,它仍然不起作用,我到底要做什么才能使它起作用,非常感谢任何指导。

据我所知,您使用的是Forms/PCL项目,而他们在Android项目中实现了这段代码。 对于您来说,一旦您使用Xamarin.Android.Net添加
对于类,您应该能够执行以下操作:

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

很可能您在获取using语句时遇到问题,因此您必须遵循所示的步骤,或者在以下步骤中为您定制:

  • 将Xamarin表单项目添加到所有项目中
  • 在核心项目中创建接口ICustomClientHandler
  • 然后在Droid项目中创建一个
    CustomClientHandler
    ,它将是依赖项服务的Android部分,帮助您检索本机AndroidClientHandler
  • 以类似的方式实现iOS版本,但它将返回新的HttpClientHandler()
  • 最后,在核心项目中使用如下代码:
  • var clientHandler=DependencyService.Get().GetHandler();
    公共静态移动服务客户端移动服务Android=
    新的MobileServiceClient(AppConstants.AZURE\u PRODUCTION\u WEB\u API\u URL,clientHandler);
    
    我试过了,但没用,谢谢你花时间。我得到一个错误“未找到资源”,你从哪里得到这个错误?是运行时还是编译时?错误是在运行时。这是否应该不起作用,而是使用连接字符串通过HTTP直接连接到数据库?只是不知道你到底会怎么做。@Sammer我今天晚些时候会试一试。
    public static MobileServiceClient MobileServiceAndroid =
                new MobileServiceClient(AppConstants.AZURE_PRODUCTION_WEB_API_URL, new AndroidClientHandler());
    
    using System;
    using System.Net.Http;
    
    namespace Test
    {
        public interface ICustomClientHandler
        {
            HttpClientHandler GetHandler();
        }
    }
    
    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();
            }
        }
    }
    
    var clientHandler = DependencyService.Get<ICustomClientHandler>().GetHandler();
    public static MobileServiceClient MobileServiceAndroid =
                new MobileServiceClient(AppConstants.AZURE_PRODUCTION_WEB_API_URL, clientHandler);