Android无法从Android 10 Q中的Azure数据库中提取表
我确实读过这篇文章,因为缺乏对Netcore 2.1的支持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添加对于类,您应该能够执行以下操作:
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
CustomClientHandler
,它将是依赖项服务的Android部分,帮助您检索本机AndroidClientHandlervar 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);