极客秀
搜索

.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的内容

1.转载请保留原文链接谢谢!
2.本站所有资源文章出自互联网收集整理,本站不参与制作,如果侵犯了您的合法权益,请联系本站我们会及时删除。
3.本站发布资源来源于互联网,可能存在水印或者引流等信息,请用户擦亮眼睛自行鉴别,做一个有主见和判断力的用户。
4.本站资源仅供研究、学习交流之用,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担。
5.联系方式(#替换成@):pm#vimge.com

  相关内容