Flutter技术学习
以下内容更适用于 不拘泥于教程学习,而是从简单项目入手的初学者。
在开始第一个项目之前,我们先要了解 两个概念。
Widget 和 属性
- Widget 是用户界面的基本构建块,可以是任何 UI 元素。
- 属性 是 widget 类中定义的变量,用于配置和定制 widget 的外观和行为。
- 当你创建一个 widget 时,可以通过构造函数传递参数来设置这些属性,从而定制 widget 的表现。
- Widget包含属性
UI 元素:Text、Image、Container、Column、AppBar 、布局等等
外观:颜色、大小、形状等等
行为:点击事件、动画、数据更新等等
vscode创建默认项目(这里默认前置工作都已经准备好了)
1. Hellow world
替换lib\main.dart
import 'package:flutter/material.dart';void main() {runApp(const MyApp());
}// 定义无状态组件
class MyApp extends StatelessWidget{const MyApp({super.key});@overrideWidget build(BuildContext context){return MaterialApp(// 初始标题title: 'Welcome to flutter',// 初始页面home: Scaffold(appBar: AppBar(title: const Text('Welcome to flutter'),),// 居中 一个子widgetbody: const Center(child: Text('Hellow World', // 字体样式style: TextStyle(// 字体颜色color: Colors.green,)),),// 垂直排列 多个子widget// body: Column(// // 只能定义一个children属性 可包含 一个wedget或者wedget列表// children: [// const Text("Hello World"),// Image.network("https://gd-hbimg.huaban.com/88b49ee5dc63c49f26d984a71ce061729f27070c3124c-jZyeMc_fw1200webp",fit: BoxFit.cover),// const Center(// child: Text("Hello world"),// ),// ],// ),),);}
}
flutter run 命令运行

2. 使用依赖包(package)
包管理:https://pub.dev/
打开包管理网站 搜索 english_words

终端运行 flutter packages get 获取依赖包
import 'package:flutter/material.dart';
// 引入 英文单词 包
import 'package:english_words/english_words.dart';void main() {runApp(const MyApp());
}// 定义无状态组件
class MyApp extends StatelessWidget{const MyApp({super.key});@overrideWidget build(BuildContext context){return MaterialApp(// 初始标题title: 'Welcome to flutter',// 初始页面home: Scaffold(appBar: AppBar(title: const Text('Welcome to flutter'),),// 居中 一个子widgetbody: Center(child: Text(generateWordPairs().take(10).map((pair) => pair.asPascalCase).join('\n'), // 字体样式style: TextStyle(// 字体颜色color: Colors.green,)),),),);}
}
保存 终端 输入r 热重载运行
相关文章:
Flutter技术学习
以下内容更适用于 不拘泥于教程学习,而是从简单项目入手的初学者。 在开始第一个项目之前,我们先要了解 两个概念。 Widget 和 属性 Widget 是用户界面的基本构建块,可以是任何 UI 元素。属性 是 widget 类中定义的变量,用于配…...
Kubernetes网络通讯模式深度解析
Kubernetes的网络模型建立在所有Pod能够直接相互通讯的假设之上,这构建了一个扁平且互联的网络空间。在如GCE(Google Cloud Engine)等云环境中,这一网络模型已预先配置,但在自建的Kubernetes集群中,我们需要…...
SBTI科学碳目标是什么?有什么重要意义
SBTI(Science Based Targets initiative),即科学碳目标倡议,是一个由全球环境信息研究中心(CDP)、联合国全球契约组织(UNGC)、世界资源研究所(WRI)和世界自然…...
英特尔新旗舰 CPU 将运行更凉爽、更高效,适合 PC 游戏
英特尔终于解决了台式机 CPU 发热和耗电的问题。英特尔的新旗舰 Core Ultra 200S 系列处理器将于 10 月 24 日上市,该系列专注于每瓦性能,比之前的第 14 代芯片运行更凉爽、更高效。这些代号为 Arrow Lake S 的处理器也是英特尔首款内置 NPU(…...
MySQL 启动失败 (code=exited, status=1/FAILURE) 异常解决方案
目录 前言1. 问题描述2. 查看错误日志文件2.1 确认日志文件路径2.2 查看日志文件内容 3. 定位问题3.1 问题分析 4. 解决问题4.1 注释掉错误配置4.2 重启 MySQL 服务 5. 总结结语 前言 在日常运维和开发过程中,MySQL数据库的稳定运行至关重要。然而,MySQ…...
通信工程学习:什么是RIP路由信息协议
RIP:路由信息协议 RIP(Routing Information Protocol)路由信息协议是一种基于距离矢量算法的内部网关协议(IGP),主要用于在自治系统(AS)内部进行路由信息的交换和传播。以下是关于RI…...
SQL调优指南与高级技巧:打造高效数据库查询
在当今数据驱动的世界中,SQL(结构化查询语言)作为与关系型数据库交互的主要语言,其性能直接影响着整个应用系统的响应速度和用户体验。本文将深入探讨SQL调优的方法论和高级技巧,帮助开发者和数据库管理员提升查询效率…...
实惠又好用的云手机推荐【高性价比云手机盘点】
随着云计算技术的蓬勃发展,云手机已经成为现代工作和生活中的重要工具。面对种类繁多的云手机产品,用户往往在选择时关注价格与性能的平衡。今天,我们就为大家推荐几款性价比高、实用性强的云手机,帮助你轻松选择到最适合的产品。…...
Pear Admin Flask Master开启步骤
由于我学的是数控技术,对编程是从小白自学的,在运行pearflask时一直没搞懂初始化数据库这一步是在哪里执行的,网上查了很多资料都没写,找了一天半的资料后终于查到了。 使用系统:Windows 10 Python版本:Py…...
知识图谱入门——8: KG开发常见数据格式:OWL、RDF、XML、GraphML、JSON、CSV。
在知识图谱开发中,数据格式和语义表达至关重要。本文将详细论述OWL、RDF、XML、GraphML、JSON、CSV等格式的特点、优缺点及适用场景,帮助读者全面理解这些数据结构及其在知识图谱中的应用。 专栏:知识图谱:从0到 ∞ 文章目录 0. 对…...
离线使用k8s部署项目
docker的安装与完全卸载(亲测可用) docker的安装与完全卸载 然后配置镜像加速器 vi /etc/docker/daemon.json 将找到的镜像仓库地址写入 具体内容可以参考此网站时刻更新镜像源仓库 然后保存退出 执行 systemctl daemon-reloadsystemctl restart…...
【CF2021E】Digital Village(All Version)
题目 给你一张 n n n 个点 m m m 条边的无向图,有 p p p 个关键点。你需要选择 k k k 个点染黑,使得这 p p p 个关键点到这 k k k 个黑点的代价和最小。定义代价为两点之间边权最大的边的最小值。 你需要求出 k 1,2,…,n 的所有答案 E1 n,m,p&l…...
[C++]使用纯opencv部署yolov11目标检测onnx模型
yolov11官方框架:https://github.com/ultralytics/ultralytics 【算法介绍】 在C中使用纯OpenCV部署YOLOv11进行目标检测是一项具有挑战性的任务,因为YOLOv11通常是用PyTorch等深度学习框架实现的,而OpenCV本身并不直接支持加载和运行PyTor…...
【Golang】Go 语言中的 time 包详解:全面掌握时间处理与应用
在 Go 语言中,time 包提供了强大的时间处理功能,适用于各种场景:获取当前时间、格式化和解析时间、计算时间间隔、设置定时器、处理超时等。在开发过程中,熟练掌握 time 包能够帮助我们轻松处理时间相关的操作,尤其是定…...
MySQL联合索引、索引下推Demo
1.联合索引 测试SQL语句如下:表test中共有4个字段(id, a, b, c),id为主键 drop table test;#建表 create table test(id bigint primary key auto_increment,a int,b int,c int )#表中插入数据 insert into test(a, b, c) values(1,2,3),(2,3,4),(4,5,…...
linux上复制命令cp的常见用法-ubuntu
在Ubuntu中,cp命令是用于复制文件和目录的基本命令。以下是cp命令的常见用法和选项: 基本语法 cp [选项] 源文件 目标文件常用选项 -r 或 -R:递归复制目录及其内容。-p:保留源文件的属性(如权限、所有者、时间戳&am…...
R语言绘制气泡图
气泡图是一种数据可视化图表。它通常在二维或三维空间中展示数据。两个变量决定气泡在平面或空间中的位置,第三个变量则以气泡大小呈现。能直观反映三个变量间关系,帮助用户快速理解数据特征和趋势,在数据分析和展示中广泛应用。 0x01 使用s…...
c++ sparsetable 模版
闭区间查询 支持 区间最大 区间最小 区间和 区间最大下标 区间最小下标 #include <bits/stdc.h> using namespace std;#ifndef NO_UNIQUE_ADDRESS # ifdef __has_cpp_attribute # if __has_cpp_attribute(no_unique_address) # define NO_UNIQUE_…...
创建线程池和封装锁
封装一个锁 1.封装一个Mutex class Mutex{public:Mutex(pthread_mutex_t * lock):_lock(lock){}void Lock(){pthread_mutex_lock(_lock);}void unLock(){pthread_mutex_unlock(_lock);}~Mutex(){}private:pthread_mutex_t *_lock; };2.封装一个LockGuard class LockGuard{pub…...
易图讯军用VR三维电子沙盘系统
深圳易图讯军用VR三维电子沙盘系统是一种集成了虚拟现实(VR)技术、三维建模技术、大数据分析、实时动态更新以及高度安全可靠的综合性军事指挥平台。该系统通过高精度三维模型真实再现战场环境,为指挥员提供沉浸式体验和交互操作的可能性&…...
SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
uniapp 对接腾讯云IM群组成员管理(增删改查)
UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...
变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析
一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...
Android Wi-Fi 连接失败日志分析
1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分: 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析: CTR…...
微信小程序之bind和catch
这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...
MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例
一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...
【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器
——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的一体化测试平台,覆盖应用全生命周期测试需求,主要提供五大核心能力: 测试类型检测目标关键指标功能体验基…...
Day131 | 灵神 | 回溯算法 | 子集型 子集
Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣(LeetCode) 思路: 笔者写过很多次这道题了,不想写题解了,大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...
基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...
线程与协程
1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指:像函数调用/返回一样轻量地完成任务切换。 举例说明: 当你在程序中写一个函数调用: funcA() 然后 funcA 执行完后返回&…...
