.NET MAUI进行UDP通信(二)

上篇文章有写过一个简单的demo,本次对项目进行进一步的扩展,添加tabbar功能。
1.修改AppShell.xaml文件,如下所示:

<?xml version="1.0" encoding="UTF-8" ?>
<Shellx:Class="mauiDemo.AppShell"xmlns="http://schemas.microsoft.com/dotnet/2021/maui"xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"xmlns:local="clr-namespace:mauiDemo"xmlns:minePage ="clr-namespace:mauiDemo.Page"Shell.FlyoutBehavior="Disabled"Title="mauiDemo"><!--<ShellContentTitle="Home"ContentTemplate="{DataTemplate local:MainPage}"Route="MainPage" />--><TabBar><ShellContent Title="Home" ContentTemplate="{DataTemplate minePage:Mine}"Route="Page/Mine"><!--<ContentPage><StackLayout><Label Text="Welcome to the Home Page"VerticalOptions="CenterAndExpand" HorizontalOptions="CenterAndExpand" /></StackLayout></ContentPage>--></ShellContent><ShellContent Title="Search"><ContentPage><StackLayout><Label Text="Search Page"VerticalOptions="CenterAndExpand" HorizontalOptions="CenterAndExpand" /></StackLayout></ContentPage></ShellContent><ShellContent Title="Settings"><ContentPage><StackLayout><Label Text="Settings Page"VerticalOptions="CenterAndExpand" HorizontalOptions="CenterAndExpand" /></StackLayout></ContentPage></ShellContent></TabBar>
1).将MainPage注释掉
2).添加tabbar功能
3).第一个ShellConten的路由设置为Mine文件,注意到ContentTemplate="{DataTemplate minePage:Mine}",当前不是local,是因为我们引用了命名空间并命名为minePage: xmlns:minePage ="clr-namespace:mauiDemo.Page".
路由 Route="Page/Mine" 可结合上篇文章了解,在下面会贴出完整项目结构图</Shell>

2.运行查看效果如下:
在这里插入图片描述
在这里插入图片描述
3.项目完整结构图如下:
在这里插入图片描述
4.关于后续项目的计划

1).添加sqlite帮助类,以方便数据存储到手机本身
2).可将UDP通信换成mqtt通信,并结合http将数据放置服务器,以实现远程控制设备功能
3).添加低功耗蓝牙BLE通信功能,对于无网络情况下近距离与仪器设备进行通信
4).IOS包的发布与实机测验
5).桌面端UI与移动端UI美化,目前未考虑UI,简单的横竖布局
6).添加图表数据展示
7).和uniapp进行性能上比较(了解到目前APP端uniapp需要下载第三方UDP插件,在UTS下可以编写调用原生UDP通信的插件,但UTS属于uniAPP x,demo暂时还开始,不过uniapp支持混用UTS插件,目前已实现在uniapp中调用UTS分享自定义插件,年后测验一下UTS自定义udp插件)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/893722.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

selenium xpath定位一组元素中的某一个

(//div[starts-with(class,‘abcolumn-light__listCell‘)])[4] 注意&#xff1a;一定要加小括号&#xff0c;然后再加索引号

linux系统中的 scp的使用方法

SCP&#xff08;Secure Copy Protocol&#xff09;是一种通过加密的方式在本地主机和远程主机之间安全地传输文件的协议。 它是基于SSH协议的扩展&#xff0c;允许用户在不同主机之间进行文件复制和传输&#xff0c;是Linux和Unix系统中常用的工具之一。 在嵌入式Linux软件的…

计算机网络之链路层

本文章目录结构出自于《王道计算机考研 计算机网络_哔哩哔哩_bilibili》 02 数据链路层 在网上看到其他人做了详细的笔记&#xff0c;就不再多余写了&#xff0c;直接参考着学习吧。 1 详解数据链路层-数据链路层的功能【王道计算机网络笔记】_wx63088f6683f8f的技术博客_51C…

YOLOv11改进,YOLOv11检测头融合DSConv(动态蛇形卷积),并添加小目标检测层(四头检测),适合目标检测、分割等任务

前言 精确分割拓扑管状结构例如血管和道路,对各个领域至关重要,可确保下游任务的准确性和效率。然而,许多因素使任务变得复杂,包括细小脆弱的局部结构和复杂多变的全局形态。在这项工作中,注意到管状结构的特殊特征,并利用这一知识来引导 DSCNet 在三个阶段同时增强感知…

SQL 指南

SQL 指南 引言 SQL(Structured Query Language,结构化查询语言)是一种用于管理关系数据库系统的标准计算机语言。自1970年代问世以来,SQL已经成为了数据库管理和数据操作的事实标准。本文旨在为初学者和有经验的数据库用户提供一个全面的SQL指南,涵盖SQL的基础知识、高级…

Lucene常用的字段类型lucene检索打分原理

在 Apache Lucene 中&#xff0c;Field 类是文档中存储数据的基础。不同类型的 Field 用于存储不同类型的数据&#xff08;如文本、数字、二进制数据等&#xff09;。以下是一些常用的 Field 类型及其底层存储结构&#xff1a; TextField&#xff1a; 用途&#xff1a;用于存储…

Node.js的解释

1. Node.js 入门教程 1.1 什么是 Node.js&#xff1f; 1.1.1 Node.js 是什么&#xff1f; Node.js 是一个基于 JavaScript 的开源服务器端运行时环境&#xff0c;允许开发者用 JavaScript 编写服务器端代码。与传统的前端 JavaScript 主要运行在浏览器端不同&#xff0c;Nod…

Flutter android debug 编译报错问题。插件编译报错

下面相关内容 都以 Mac 电脑为例子。 一、问题 起因&#xff1a;&#xff08;更新 Android studio 2024.2.2.13、 Flutter SDK 3.27.2&#xff09; 最近 2025年 1 月 左右&#xff0c;我更新了 Android studio 和 Flutter SDK 再运行就会出现下面的问题。当然 下面的提示只是其…

TDengine 做为 FLINK 数据源技术参考手册

Apache Flink 是一款由 Apache 软件基金会支持的开源分布式流批一体化处理框架&#xff0c;可用于流处理、批处理、复杂事件处理、实时数据仓库构建及为机器学习提供实时数据支持等诸多大数据处理场景。与此同时&#xff0c;Flink 拥有丰富的连接器与各类工具&#xff0c;可对接…

扣子平台音频功能:让声音也能“智能”起来

在数字化时代&#xff0c;音频内容的重要性不言而喻。无论是在线课程、有声读物&#xff0c;还是各种多媒体应用&#xff0c;音频都是传递信息、增强体验的关键元素。扣子平台的音频功能&#xff0c;为开发者和内容创作者提供了一个强大而灵活的工具&#xff0c;让音频的使用和…

RubyFPV开源代码之系统简介

RubyFPV开源代码之系统简介 1. 源由2. 工程架构3. 特性介绍&#xff08;软件&#xff09;3.1 特性亮点3.2 数字优势3.3 使用功能 4. DEMO推荐&#xff08;硬件&#xff09;4.1 天空端4.2 地面端4.3 按键硬件Raspberry PiRadxa 3W/E/C 5. 软件设计6. 参考资料 1. 源由 RubyFPV以…

Vue Motion 应用场景详解

Vue Motion是Vue.js的动画库&#xff0c;能为Vue应用添加过渡和动画效果&#xff0c;使界面更具交互性与视觉吸引力。以下从安装、使用方法、关键特性三方面详解&#xff1a; • 安装&#xff1a;可通过npm或yarn安装。在项目目录下&#xff0c;npm安装使用npm install vue - …

上海计算机学会1月月赛(甲组) T1 简单 MST题解

T2-简单 MST题解 题意 设 ω ( x ) \omega(x) ω(x)为 x x x的质因数所构成的集合大小&#xff1b; 给两个正整数 l l l r r r&#xff0c;图上有 r − l 1 r-l1 r−l1个点&#xff0c;为 l , l 1 , l 2 , ⋯ , r − 2 , r − 1 , r l,l1,l2,\cdots,r-2,r-1,r l,l1,l2,…

gtest with ros

ros test 基本是基于gtest. 如何编写测试模块 cmakelists.txt if (CATKIN_ENABLE_TESTING)catkin_add_gtest(test_mongo_roscpp test/test_mongo_ros.cpp)target_link_libraries(test_mongo_roscpp warehouse_ros) endif ()CATKIN_ENABLE_TESTING 是catkin 专门对test 内容的…

2024年中国SaaS行业发展研究报告:现状、挑战与趋势洞察

一、引言 1.1 研究背景与目的 在数字化时代的浪潮下&#xff0c;软件即服务&#xff08;SaaS&#xff09;模式凭借其独特的优势&#xff0c;如较低的前期成本、易于部署和可扩展性&#xff0c;已经成为企业软件应用的重要趋势。近年来&#xff0c;随着云计算、大数据、人工智…

将 OneLake 数据索引到 Elasticsearch - 第二部分

作者&#xff1a;来自 Elastic Gustavo Llermaly 及 Jeffrey Rengifo 本文分为两部分&#xff0c;第二部分介绍如何使用自定义连接器将 OneLake 数据索引并搜索到 Elastic 中。 在本文中&#xff0c;我们将利用第 1 部分中学到的知识来创建 OneLake 自定义 Elasticsearch 连接器…

PMP–一、二、三模–分类–14.敏捷

文章目录 敏捷中的角色职责与3个工件--题干关键词角色职责3个工件 高频考点分析&#xff08;一、过程&#xff1b;二、人员&#xff09;一、过程&#xff1a;1.1 变更管理&#xff1a;1.1.1 瀑布型变更&#xff08;一次交付、尽量限制、确定性需求 &#xff1e;风险储备&#x…

Spring WebFlux

1. 响应式编程基础 1.1. 什么是响应式编程&#xff1f; 响应式编程是一种编程范式&#xff0c;专注于数据流和变化传播。它的核心思想是&#xff1a; 数据流&#xff1a;将数据看作流动的序列&#xff08;Stream&#xff09;&#xff0c;可以是有限的&#xff08;如列表&#…

数仓的数据加工过程-ETL

ETL代表Extract Transform和Load。ETL将所有三个数据库功能组合到一个工具中&#xff0c;以从一个数据库获取数据并将其放入另一个数据库。 提取&#xff1a;提取是从数据库中提取(读取)信息的过程。在此阶段&#xff0c;从多个或不同类型的来源收集数据。 转换&#xff1a;转…

Vue2下篇

插槽&#xff1a; 基本插槽&#xff1a; 普通插槽&#xff1a;父组件向子组件传递静态内容。基本插槽只能有一个slot标签&#xff0c;因为这个是默认的位置&#xff0c;所以只能有一个 <!-- ParentComponent.vue --> <template> <ChildComponent> <p>…