B 站干正事 UP 主推荐:别只刷娱乐,知识区也能起飞
2026/10/21 4:50:38
Xamarin.Forms 能够借助共享用户界面和基于便携式类库、共享库以及 .NET Standard 库的通用 API 集,快速构建可在 Android、iOS(甚至 Windows 10)上运行的跨平台应用。然而,多数应用需要访问 Xamarin.Forms 未映射其 API 的原生 iOS 和 Android 功能,例如调用相机、检测网络连接可用性以及读写文件等。
原理:移动应用常需访问设备和操作系统功能,而 iOS 和 Android 有特定平台的 API。由于硬件和操作系统不同,Xamarin.Forms 中的共享代码无法直接访问这些 API。不过,可基于控制反转(IoC)使用依赖服务让共享代码访问特定平台 API。具体做法是,在 PCL 项目(或其他共享项目类型)中创建一个 C# 接口定义所需功能,然后在 iOS 和 Android 项目中创建实现该接口的类,为这些功能提供特定平台的实现。在 PCL 项目中使用DependencyService类及其Get方法,该方法能为应用运行的平台找到接口的正确实现。
示例:添加 SQLite 本地数据访问支持