.NET MAUI——安卓设备上运行调试以及不同平台的代码结构
之前介绍.NET MAUI的时候介绍说,这是一份跨平台应用框架,其代码可以在多个平台运行。
可以使用C#语言,而不需要深入了解Java。.NET MAUI提供了一个统一的框架,能够编写跨平台的移动应用,包括在Android设备上运行的应用程序
本期介绍如何写的代码在Andriod设备上使用。
其实我一直想在Andriod上进行编程,但是目前我所知道的所有Andriod编程都离不开Java,但是本人精力实在有限,实在腾不出时间去专门了解Java架构和Java的学习。
因此一直在寻找能否使用C语言或其升级语言来替代,Python也有相关的Android编程,但是效率极差,显然不是长久的选择,因此我选择.NET MAUI来尝试Android编程。
上期我们已经安装了.NET MAUI并且运行了其实例。
之后我们在其基础上做出修改,实现我们自己的界面的制作。
本期,我们将代码运行到安卓设备上。
首先我们需要进入手机的开发者模式。(百度搜索开发者模式的教学)
之后开启USB调试和USB安装。

在VS调试中,选择Android本地设备,选择连接到的设备。
可以看到,在我们的手机上运行成功。

全局中的这四个文件为共享代码区,我们通用的文件,例如界面文件启动文件都会在这里编辑。

Platforms为单独的代码区,用以编辑不同平台的代码。
当然在使用共享区代码的时候注意,例如我在Android中调用Android平台的代码的话,不希望在其他平台中使用时,例如我想要点击按钮来显示IP地址,我只希望在Android中实现这个功能。可以使用如下代码
private void OnButtonClick(object sender, EventArgs e)
{
#if __ANDROID__
try
{
AndroidWifiService wifiService = new AndroidWifiService();
string ipAddress = wifiService.GetIpAddress();
Label.Text = ipAddress;
}
catch (Exception ex)
{
// 捕捉异常并在调试器中查看
Label.Text = ($"Exception: {ex.Message}");
}
#endif
#if WINDOWS10_0_17763_0_OR_GREATER
Label.Text = "这里是Windows专属"
#endif
}
使用#if __ANDROID 可以筛选特定平台或者特定版本。
这里我的获取Wifi地址的代码是在Android中新建的一个类来实现的。
可以看到,除了我的显示有点问题(文本倒了),但是功能是没有问题的。
而Windows运行的话,这段代码则会显示#if WINDOWS10_0_17763_0_OR_GREATER的内容


登录 或 注册 后才可以进行评论哦!
还没有评论,抢个沙发!