当前位置: 首页 > news >正文

.NET MAUI学习笔记——2.构建第一个程序_初级篇

文章目录

  • 一、引言
  • 二、构建第一个程序
  • 三、结尾

一、引言

在构建第一个MAUI程序之前,还需要安装MAUI环境。

不过安装环境这个东西,应该不需要单独开一篇文章讲吧,因为是在VS2022下开发,只需要在安装VS2022时勾选上MAUI环境即可(如果VS已经装完了但没有装MAUI的,可以再次打开安装器,重装并勾选MAUI)。

在这里插入图片描述
那么现在假设已经装好了VS2022和MAUI环境。

在上篇文中说过,我是用MAUI来开发一个Android app。
所以在安装完环境后,想做的第一件事就是构建一个Android app,并且运行起来,能看到画面。于是,在官网疯狂找构建Android App的示例,但是并没有发现专门针对Android的章节。

想了一下,MAUI主打的是跨平台,号称『一次编写,随处运行』,如果还要出专门针对某个平台的构建指南,岂不是砸了自己的招牌。因此,不管是Windows、Android、iOS还是macOS,在构建第一个程序上,是大同小异的,官方文档中并没有给每种设备的构建列出单独的大章节,。当然这并不意味着它们完全相同,毕竟从MAUI架构上可以看出,它们的底层是不同的;每个开发者也不可能都用到这四种平台。所以对于每种平台程序的构建,在配置上,在环境要求上还是有区别的,在这点上官方文档又在一节中给它们做了区分。


二、构建第一个程序

前置环境:VS2022 17.3或更高版本 并且装有.NET MAUI平台工作集

本教程中,先在VS2022中创建一个.NET MAUI程序,然后在Android模拟器上运行它:

  1. 运行VS2022,在启动窗体上点击 创建新项目
  2. 在创建新项目窗体上,选择 .NET MAUI app(.NET MAUI应用)模板
  3. 然后对项目的名称、位置、解决方案名等常规项配置后,选择.NET框架创建即可
  4. 项目创建后,可以看到依赖项,就是架构中间层的几个库,
    在这里插入图片描述
  5. VS工具栏中,Debug目标下拉框中选择Android Emulators>Android Emulator项:
    在这里插入图片描述
  6. 在VS工具栏中,点击Android Emulator按钮:
    在这里插入图片描述
    VS会开始安装默认Android SDK和Android模拟器。
  7. 接着会弹出 Android SDK - License Agreement和用户账户控制弹窗等窗体,一路点击接受和确定按钮,等待VS下载Android SDK和模拟器。
  8. 在VS工具栏,点击Android Emulator按钮:
    在这里插入图片描述
    VS会启动创建默认的Android模拟器。
  9. 用户账户控制对话框,点击 Yes
    在这里插入图片描述
  10. 新建设备窗体中,点击创建按钮:
    在这里插入图片描述
    等待VS下载、解压和创建一个Android模拟器。
  11. 关闭安卓设备管理器窗体:
    在这里插入图片描述
  12. 在VS工具栏中,点击**Pixel 5 - API 30(Android 11.0 - API 30)**按钮(Android 11 - API30的是默认版本,可以根据自己需要更改)构建和运行app:
    在这里插入图片描述
    VS会启动Android模拟器,构建app,并将app部署到模拟器上(这个过程可能比较慢)。

⚠警告
启用硬件加速以最大化Android模拟器性能。
若不启用,会导致模拟器运行缓慢。
更多信息查看硬件加速章节

  1. 在Android模拟器中运行的app中,点击Click me按钮多次,观察按钮上数字的增长。
    在这里插入图片描述

三、结尾

本文学习了创建并运行一个.NET MAUI程序。
说白了,就是怎么将默认示例跑起来,看到效果。

相关文章:

  • JavaScript4种数组随机选取实战源码
  • Python 教程之 Numpy(1)—— 什么是 Numpy?
  • $refs 、$nextTic、动态组件、name的使用
  • C语言实现简单通讯录,malloc,calloc,realloc,free动态内存分配的学习。
  • 【新人报到】【学习笔记】Python编程——入门
  • 【金融】中国vix、skew指数的Python实现
  • 外汇天眼:英镑暴跌英国国债暴跌 英国新政府宣布激进的减税促经济计划
  • 基于React的富文本编辑器——Braft Editor使用
  • vue项目docker打包通过k8s
  • 论文教程之阅读科学论文11步法,详细介绍了每个部分的关注点
  • [云原生] [kubernetes] 基于K8S安装kubesphere
  • docker部署服务初体验
  • 每日学一个设计模式23——解释器模式
  • C. Minimum Notation #823 div2
  • Python 教程之 Numpy(2)—— 数组
  • Akka系列(七):Actor持久化之Akka persistence
  • Bootstrap JS插件Alert源码分析
  • CentOS从零开始部署Nodejs项目
  • Docker下部署自己的LNMP工作环境
  • ECS应用管理最佳实践
  • ES6 ...操作符
  • Git同步原始仓库到Fork仓库中
  • LeetCode算法系列_0891_子序列宽度之和
  • RedisSerializer之JdkSerializationRedisSerializer分析
  • Vue小说阅读器(仿追书神器)
  • 程序员最讨厌的9句话,你可有补充?
  • 从0到1:PostCSS 插件开发最佳实践
  • 规范化安全开发 KOA 手脚架
  • 欢迎参加第二届中国游戏开发者大会
  • 京东物流联手山西图灵打造智能供应链,让阅读更有趣 ...
  • ​iOS实时查看App运行日志
  • ​云纳万物 · 数皆有言|2021 七牛云战略发布会启幕,邀您赴约
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • $.ajax,axios,fetch三种ajax请求的区别
  • (八)Docker网络跨主机通讯vxlan和vlan
  • (附源码)spring boot车辆管理系统 毕业设计 031034
  • (附源码)ssm考试题库管理系统 毕业设计 069043
  • (免费领源码)python#django#mysql公交线路查询系统85021- 计算机毕业设计项目选题推荐
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • (四)JPA - JQPL 实现增删改查
  • (五)MySQL的备份及恢复
  • (一)python发送HTTP 请求的两种方式(get和post )
  • (转)Linux下编译安装log4cxx
  • ****Linux下Mysql的安装和配置
  • .NET 材料检测系统崩溃分析
  • .NET 动态调用WebService + WSE + UsernameToken
  • .NET 药厂业务系统 CPU爆高分析
  • .NET和.COM和.CN域名区别
  • .NET基础篇——反射的奥妙
  • .NET精简框架的“无法找到资源程序集”异常释疑
  • .NET学习教程二——.net基础定义+VS常用设置
  • .one4-V-XXXXXXXX勒索病毒数据怎么处理|数据解密恢复
  • .php结尾的域名,【php】php正则截取url中域名后的内容
  • .考试倒计时43天!来提分啦!
  • @configuration注解_2w字长文给你讲透了配置类为什么要添加 @Configuration注解