Начало работы с Xamarin.Essentials

Xamarin.Essentials обеспечивает единый кроссплатформенный API-интерфейс, который предоставляет доступ из общего кода для любого приложения iOS, Android и универсальной платформы Windows независимо от используемого метода создания пользовательского интерфейса. Дополнительные сведения о поддерживаемых операционных системах см. в руководстве по поддержке платформ и функций.

Установка

Xamarin.Essentials предоставляется в виде пакета NuGet и включается в каждый новый проект в Visual Studio. Его также можно добавлять в любые существующие проекты с помощью Visual Studio, выполнив указанные ниже действия.

  1. Скачайте и установите Visual Studio с помощью средств Visual Studio для Xamarin.

  2. Откройте существующий проект или создайте новый, используя шаблон пустого приложения в разделе Visual Studio C# (для Android, для iPhone и iPad или кроссплатформенный).

    Внимание

    При добавлении в проект UWP укажите в свойствах проекта сборку 16299 или более позднюю версию.

  3. Добавьте в проект пакет NuGet Xamarin.Essentials:

    На панели обозревателя решений щелкните правой кнопкой мыши имя решения и выберите Управление пакетами NuGet. Найдите Xamarin.Essentials и установите пакет во ВСЕ проекты, в том числе для Android, iOS, универсальной платформы Windows и .NET Standard.

  4. Добавьте ссылку на Xamarin.Essentials в любой класс C#, чтобы включить в него API-интерфейсы.

    using Xamarin.Essentials;
    
  5. Для Xamarin.Essentials нужно настроить в соответствии с конкретной платформой:

    Xamarin.Essentials поддерживает Android начиная с версии 4.4, что соответствует уровню API 19, однако целевой версией для компиляции должна быть 9.0 или 10.0, что соответствует уровням API 28 и 29. (В Visual Studio эти две версии задаются в диалоговом окне "Свойства проекта" для проекта Android на вкладке "Манифест Android". В Visual Studio для Mac они задаются в диалоговом окне "Параметры проекта" для проекта Android на вкладке "Приложение Android".)

    При компиляции для Android 9.0 набор Xamarin.Essentials устанавливает версию 28.0.0.3 всех требуемых библиотек Xamarin.Android.Support. Все другие библиотеки Xamarin.Android.Support, которые использует приложение, также следует обновить до версии 28.0.0.3 с помощью диспетчера пакетов NuGet. Все библиотеки Xamarin.Android.Support, используемые в приложении, должны иметь одну и ту же версию (не ниже версии 28.0.0.3). Если вы столкнетесь с проблемами при добавлении пакета NuGet для Xamarin.Essentials или при обновлении пакетов NuGet в решении, воспользуйтесь страницей устранения неполадок.

    Начиная с версии 1.5.0 при компиляции для Android 10.0 набор Xamarin.Essentials устанавливает необходимые ему вспомогательные библиотеки AndroidX. Если вы еще не перешли на эту версию, прочтите документацию по AndroidX.

    В MainLauncher проекта Android или в любом запущенном действии Activity необходимо инициализировать Xamarin.Essentials в методе OnCreate:

    protected override void OnCreate(Bundle savedInstanceState) {
        //...
        base.OnCreate(savedInstanceState);
        Xamarin.Essentials.Platform.Init(this, savedInstanceState); // add this line to your code, it may also be called: bundle
        //...
    

    Для обработки на устройстве Android разрешений среды выполнения Xamarin.Essentials нужно получить любой OnRequestPermissionsResult. Добавьте следующий код во все классы Activity:

    public override void OnRequestPermissionsResult(int requestCode, string[] permissions, Android.Content.PM.Permission[] grantResults)
    {
        Xamarin.Essentials.Platform.OnRequestPermissionsResult(requestCode, permissions, grantResults);
    
        base.OnRequestPermissionsResult(requestCode, permissions, grantResults);
    }
    
  6. Выполните инструкции в руководствах Xamarin.Essentials по копированию и вставке фрагментов кода для каждого компонента.

Xamarin.Essentials — кроссплатформенные API-интерфейсы для мобильных приложений (видео)

Другие ресурсы

Мы рекомендуем разработчикам, которые еще не работали с Xamarin, начать с этой статьи.

Посетите репозиторий GitHub для Xamarin.Essentials, чтобы изучить актуальный исходный код, узнать ближайшие планы развития, выполнить примеры кода и клонировать репозиторий. Мы рады любому вкладу в сообщество!

Просмотрите документацию по API для каждого компонента Xamarin.Essentials.