通用应用开发指南

通用应用是一种软件应用程序,它基于Windows 8.1或Windows 10的代码库编写,能够运行在Windows PC、平板电脑、智能手机、智能手表或XBox等多种设备上。但并不意味着同一个可执行文件会在所有这些环境中运行。例如,Windows手机和Windows PC使用不同类型的文件来执行,因此通用应用会提供不同的输出文件以适应不同的环境,但代码库是相同的。可以使用代码共享来为所有Windows环境创建应用程序。

开发通用应用

假设已经在系统中安装了Windows 8.1的开发环境。如果没有,请从这里下载SDK。

创建一个新的项目,即“空白应用(通用应用)”,并给它起一个想要的名字。

当在解决方案资源管理器中查看时,会发现这里有三种类型的项目:Windows商店应用、Windows手机应用和共享项目。Windows商店应用将创建在Windows PC上运行的输出文件,Windows手机应用将创建在Windows手机上运行的输出文件,而共享项目将共享将在前两者中使用的代码。在这里,共享代码,但不共享设计,因此将为每种类型的应用单独在XAML中创建设计。

会看到,MainPage.xaml及其代码文件包含在两个项目中(Windows商店和Windows手机),而App.xaml包含在共享项目中。现在将共享MainPage.xaml的代码文件。因此,在共享项目中添加一个新类,名称与MainPage.xaml的代码文件相同,即MainPage.cs。将其设置为部分密封并继承自Page类。

// C# 代码 // MainPage.cs 在共享项目中 using System; using System.Collections.Generic; using System.Text; using Windows.UI.Xaml.Controls; namespace VilleIT_UniversalAppDemo { public sealed partial class MainPage : Page { } }

将Windows手机应用文件和Windows商店应用文件中的所有代码移动到共享代码文件中,除了构造函数。

// C# 代码 // MainPage.cs 在共享项目中 using System; using System.Collections.Generic; using System.Text; using Windows.UI.Xaml.Controls; using Windows.UI.Xaml.Navigation; namespace VilleIT_UniversalAppDemo { public sealed partial class MainPage : Page { protected override void OnNavigatedTo(NavigationEventArgs e) { } } }

在两个应用的XAML页面中添加一个按钮和一个文本块。

// XAML 代码 // MainPage.xaml 在Windows商店和Windows手机应用中 <Button Width="200" Height="100" Foreground="Black" Background="White" Content="Say Hello!" Name="btnSayHello" HorizontalAlignment="Center" FontSize="30" Click="btnSayHello_Click" /> <TextBlock Name="txtMessage" Foreground="Yellow" FontSize="30" HorizontalAlignment="Center" Margin="20" />

在共享代码文件中创建点击处理程序,它将被两个应用中的按钮调用。

// C# 代码 // MainPage.cs 在共享项目中 using System; using System.Collections.Generic; using System.Text; using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; using Windows.UI.Xaml.Navigation; namespace VilleIT_UniversalAppDemo { public sealed partial class MainPage : Page { protected override void OnNavigatedTo(NavigationEventArgs e) { } private void btnSayHello_Click(object sender, RoutedEventArgs e) { txtMessage.Text = "This is hello message"; } } }

输出

通过以上步骤,可以创建一个通用应用,它可以在不同的Windows设备上运行,并且共享大部分代码,但为每种设备类型提供不同的用户界面设计。

这种开发方式的优势在于,开发者可以利用代码共享来减少重复工作,同时为不同的设备提供优化的用户体验。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485