Насколько я понимаю, вы используете проект Forms / PCL, тогда как другое решение внедрило этот код в свой проект Android. Для вас, как только вы добавите using Xamarin.Android.Net;
в класс, вы сможете просто сделать это:
public static MobileServiceClient MobileServiceAndroid =
new MobileServiceClient(AppConstants.AZURE_PRODUCTION_WEB_API_URL, new AndroidClientHandler());
Скорее всего, у вас могут возникнуть проблемы с получением этого утверждения с помощью, потому что у вас будетвыполните шаги, показанные здесь или настроенные для вас, в следующих шагах:
- Добавьте проект Xamarin Forms ко всем вашим проектам.
- Создайте интерфейс
ICustomClientHandler
в основном проекте
using System;
using System.Net.Http;
namespace Test
{
public interface ICustomClientHandler
{
HttpClientHandler GetHandler();
}
}
Затем создайте
CustomClientHandler
в проекте Droid, который станет частью Android службы зависимостей, которая поможет вам получить нативный 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 аналогичным образом, но вместо этого она будет
return new HttpClientHandler();
Наконец, используйте код, показанный в вашем проекте Core:
var clientHandler = DependencyService.Get<ICustomClientHandler>().GetHandler();
public static MobileServiceClient MobileServiceAndroid =
new MobileServiceClient(AppConstants.AZURE_PRODUCTION_WEB_API_URL, clientHandler);