Xamarin.Essentials 入门
Xamarin.Essentials 提供了适用于任何 iOS、Android 或 UWP 应用程序的单一跨平台 API,不管如何创建用户界面,都可以通过共享代码进行访问。 有关支持的操作系统的详细信息,请参阅平台和功能支持指南。
安装
Xamarin.Essentials 可用作 NuGet 包并包含在 Visual Studio 的每个新项目中。 通过执行以下步骤,还可以使用 Visual Studio 将其添加到任何现有项目。
使用 Visual Studio tools for Xamarin 下载并安装 Visual Studio。
使用 Visual Studio C#(Android、iPhone 和 iPad 或跨平台)下的空白应用模板打开现有项目,或创建新项目。
重要
若要添加到 UWP 项目,请务必在项目属性中设置内部版本 16299 或更高版本。
将 Xamarin.Essentials NuGet 包添加到每个项目中:
在“解决方案资源管理器”面板中,右键单击解决方案名称,然后选择“管理 NuGet 包”。 搜索 Xamarin.Essentials 并将包安装到所有项目,包括 Android、iOS、UWP 和 .NET Standard 库。
在任何 C# 类中添加对 Xamarin.Essentials 的引用以引用 API。
using Xamarin.Essentials;
Xamarin.Essentials 需要特定于平台的设置:
Xamarin.Essentials 支持 Android 版本 4.4(对应于 API 级别 19)及更高版本,但用于编译的目标 Android 版本必须为 9.0 或 10.0(对应于 API 级别 28 和 29)。 (在 Visual Studio 中,已在“Android 清单”选项卡中的 Android 项目的“项目属性”对话框中设置这两个版本。在 Visual Studio for Mac 中,已在“Android 应用程序”选项卡中的 Android 项目的“项目选项”对话框中设置这两个版本。)
针对 Android 9.0 进行编译时,Xamarin.Essentials 将安装必需的 28.0.0.3 版 Xamarin.Android.Support 库。 还应使用 NuGet 包管理器将应用所需的其他任何 Xamarin.Android.Support 库更新到版本 28.0.0.3。 应用使用的所有 Xamarin.Android.Support 库都应相同,且版本不得低于 28.0.0.3。 如果在解决方案中添加 Xamarin.Essentials NuGet 或更新 NuGet 时遇到问题,请参阅疑难解答页面。
从版本 1.5.0 开始,在针对 Android 10.0 进行编译时,Xamarin.Essentials 将安装必需的 AndroidX 支持库。 如果尚未转换,请阅读 AndroidX 文档。
在 Android 项目的
MainLauncher
或任何已启动的Activity
中,必须在OnCreate
方法中初始化 Xamarin.Essentials: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); }
按照 Xamarin.Essentials 指南为每个功能复制并粘贴代码片段。
Xamarin.Essentials - 用于移动应用(视频)的跨平台 API
其他资源
建议刚开始接触 Xamarin 的开发人员访问 Xamarin 开发入门。
访问 Xamarin.Essentials GitHub 存储库查看当前源代码,接下来,运行示例,并克隆存储库。 欢迎为社区做贡献!
浏览 API 文档了解每个 Xamarin.Essentials 功能。