← 返回蜂巢洞察

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 基本产品获取设备信息。

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

相关文章

技术实践

Instagram采用了基于人工智能的架构对用户界面进行了优化,由此使相关成本降低了33%。

Instagram Direct将其Android应用程序的用户界面从传统的Android View系统迁移到了Jetpack Compose,从而创建了一个更适合人工智能编程工具理解和修改的UI代码库。据Instagram的工程师们表示,这一迁移使得UI代码的数量减少了50%,同时每个人工智能程序会话所消耗的资源成本也降低了33%。 作者:Sergio De Simone

阅读全文
技术实践

Android Bench 2新增了对长期任务、智能评估功能以及持续评分机制的支持

谷歌发布了Android Bench 2.0,这是对其用于评估Android开发环境中的人工智能模型及智能体的基准测试框架进行的重大升级。此次更新引入了“长周期任务”机制、基于智能体的评估方式以及连续性评分系统,这些新功能有助于更准确地评价那些复杂的多步骤开发任务的执行效果。 作者:塞尔吉奥·德·西蒙内

阅读全文
技术实践

谷歌为Kotlin开发的开发工具包在功能上已与Python相当,同时也支持设备上的人工智能应用。

谷歌发布了针对Kotlin 1.0版本的Agent开发工具包(ADK)。这个专为生产环境设计的框架,可用于在基于Kotlin的应用程序、Android系统以及JVM/服务器环境中构建人工智能代理。该工具包使Kotlin在功能上与谷歌为Python和Java开发的ADK处于同等水平,同时还增加了针对Android平台的特性,从而支持设备端及混合环境下的人工智能应用。 作者:塞尔吉奥·德·西蒙内

阅读全文