← 返回蜂巢洞察

Xamarin.窗体和使用 Xamarin 基本产品的设备信息

介绍 Xamarin.Forms 代码在多个平台上运行,每个平台都有自己的文件系 … Read More

Socrates

介绍

Image title

Xamarin.Forms 代码在多个平台上运行,每个平台都有自己的文件系统。这意味着,使用每个平台上的本机文件 API,读取和写入文件是最容易完成的任务。或者,嵌入式资源也是使用应用分发数据文件的更简单的解决方案。

沙马林.要点

Image title

Xamarin.Essentials 插件为移动应用程序开发提供了 20 多个跨平台 API。Xamarin.基本 API 适用于所有 Xamarin.Forms、Xamarin.Android、Xamarin.iOS 或 UWP 应用程序,这些应用程序可以从共享代码访问。Xamarin.Essentials 克服了使用 Android、iOS 和 UWP 应用程序开发 Xamarin 的问题,因此开发人员可以使用 C# 访问每个本机平台 API。此插件提供了许多 API,所以最初,不需要更多的插件为 Xamarin.Xamarin.Essentials 插件会影响应用的最小大小。

平台支持

Xamarin.Essentials 支持以下平台和操作系统:

平台

版本

Android

4.4 (API 19) 或更早版本

Ios

10.0 或更高

UWP

10.0.16299.0 或更早版本

先决条件

  • 视觉工作室 2017 (Windows 或 Mac)

设置 Xamarin.窗体项目

首先创建一个新的 Xamarin.Forms 项目。通过自己完成这些步骤,您将学到更多。

在”新项目”对话框中选择”Xamarin.窗体应用项目”类型,在”跨平台/应用程序”下。

Image title

为应用命名,为共享代码选择”使用可移植类库”,并同时定位 Android 和 iOS。

您可能希望项目和解决方案使用与应用相同的名称。将其放入项目的首选文件夹中,然后单击”创建”。

现在你有一个基本的Xamarin.Forms应用程序。点击播放按钮来试用它。

设置用户界面

转到 MainPage.Xaml 并编写以下代码。

主页.xaml

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:local="clr-namespace:XamarinEssentials"
             x:Class="XamarinEssentials.MainPage">

    <StackLayout>
        <StackLayout HorizontalOptions="Center" VerticalOptions="Start">

         <Image Margin="0,50,0,0" x:Name="imgBanner" Source="banner.png" ></Image>
     <Image Margin="0,0,0,10" x:Name="imgXamarinEssential" Source="xamarinessential.png" ></Image>
         <Label HorizontalOptions="Center" x:Name="lblDeviceName"></Label>   
         <Label HorizontalOptions="Center" x:Name="lblDeviceType"></Label>   
         <Label HorizontalOptions="Center" x:Name="lblPlatform"></Label>   
         <Label HorizontalOptions="Center" x:Name="lblModel"></Label>   
         <Label HorizontalOptions="Center" x:Name="lblManufacturer"></Label>   
         <Label HorizontalOptions="Center" x:Name="lblVersion"></Label>   
         </StackLayout>
    </StackLayout>

</ContentPage>

添加 Xamarin 要点

在此步骤中,添加 Xamarin您可以通过NuGet安装 Xamarin.基本内容,也可以在GitHub上浏览源代码。

转到解决方案资源管理器并选择您的解决方案。右键单击并选择”管理解决方案的 NuGet 包”。搜索”Xamarin.基本组件”并添加包。请记住为每个项目(PCL、Android、iO 和 UWP)安装它。

Image title

Xamarin.基本要求特定于平台的设置

Android

Android 需要以下步骤:

  1. Xamarin.Essentials 支持最低 Android 版本 4.4

  2. 用于编译的目标 Android 版本必须为 8.1,API 级别 27。

在 Android 项目的主要活动中,Xamarin.基本必须初始化在OnCreate方法中。

Xamarin.Essentials.Platform.Init(this, bundle);

Xamarin.基本必须收到任何申请许可结果。为运行时权限编写以下代码。

public override void OnRequestPermissionsResult(int requestCode, string[] permissions, [GeneratedEnum] Android.Content.PM.Permission[] grantResults)
{
    Xamarin.Essentials.Platform.OnRequestPermissionsResult(requestCode, permissions, grantResults);

    base.OnRequestPermissionsResult(requestCode, permissions, grantResults);
}

Ios

无需其他设置。

UWP

无需其他设置。

在此步骤中,编写以下代码以获取设备信息。

MainPage.xaml.cs

using Xamarin.Forms;
using Xamarin.Essentials;
namespace XamarinEssentials
{
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();

            lblDeviceName.Text ="Device Name :"+ DeviceInfo.Name;
            lblDeviceType.Text ="DeviceType :"+ DeviceInfo.DeviceType.ToString();
            lblModel.Text ="Model :"+ DeviceInfo.Model;
            lblManufacturer.Text ="Manufacturer :" + DeviceInfo.Manufacturer;
            lblPlatform.Text ="Platform : " + DeviceInfo.Platform;
            lblVersion.Text = "Version :" + DeviceInfo.Version;
}
}
}

单击播放按钮试用。

Image title

我希望你了解如何在 Xamarin.Forms 中使用 Xamarin 基本产品获取设备信息。

谢谢你的阅读。请分享意见和反馈。

相关文章

技术实践

如何使用 Fastlane 和 GitHub Actions 自动化Flutter应用的发布流程,以便将其分发到 Firebase App Distribution、Google Play、TestFlight 以及 App Store Connect平台上

想象一下:现在是周五下午4点,你的团队刚刚完成了本次迭代周期的最后一项功能开发。但产品经理要求在当天结束前通过TestFlight发送一个新的版本,这样客户就可以在周末进行测试。 你打开Xcode,等待代码打包完成,处理一个昨天还不存在的签名错误,修复问题后重新打包代码,再次等待上传,然后等待App Store Connect进行处理。接着你需要为Android版本重复这些步骤,不过这次是通过Android Studio来操作的。你需要签署APK文件,登录Firebase App Distribution平台,将文件上传进去,添加测试人员,编写发布说明,最后点击发送按钮。 现在已经是下午6点4

阅读全文
技术实践

Android Studio Quail 2对“代理模式”进行了重新设计,优化了人工智能辅助编码功能。

最新发布的Android Studio版本Quail 2现已稳定可用。该版本在IDE中扩展了“Gemini/AI Agent Mode”功能,使得多路AI对话可以同时进行,进一步推动了谷歌将基于AI的工作流程直接集成到Android Studio中的目标。此外,该版本还提升了调试和性能分析功能,使用户能够更轻松地测试那些处于实验阶段的新增功能。 作者:Sergio De Simone

阅读全文