AWTK-MVVM 配置文件模型
配置文件模型
AWTK-MVVM 内置了一些配置文件模型,用于读写各种配置文件,比如,JSON/XML/INI/CSV/UBJSON 等。
文件名中可以引用下面的变量。
- ${app_dir} 应用程序目录
- ${user_dir} 用户目录
- ${temp_dir} 临时目录
json(url=${app_dir}/demos/demo_conf/demo.json)
支持 http/https 协议。支持 HTTP 协议时,要启用 socket。支持 HTTPS 协议时,要启用 ssl。
示例
json(url=http://t.weather.sojson.com/api/weather/city/101030100)
支持从资源加载数据。
1. json 配置
示例
{"network" : {"device" : "eth0","ip" : "192.168.1.1"},"serial" : {"device" : "COM1","baudrate" : "115200"}
}
功能:用于读写 JSON 文件。
1.1 内置属性
可以通过路径引用属性值。比如上面的例子,可以用下面的方式访问:
| 属性名 | 属性的值 |
|---|---|
| network.device | eth0 |
| network.ip | 192.168.1.1 |
| serial.device | COM1 |
| serial.baudrate | 115200 |
1.2 内置命令
| 命令 | 参数 | 说明 |
|---|---|---|
| save | 无 | 保存 |
| reload | 无 | 重新加载 |
1.3 创建参数
| 参数 | 类型 | 说明 |
|---|---|---|
| url | string | 文件路径(必须) |
示例
json(url=${app_dir}/demos/demo_conf/demo.json)
2. ubjson 配置
示例
{"network" : {"device" : "eth0","ip" : "192.168.1.1"},"serial" : {"device" : "COM1","baudrate" : "115200"}
}
功能:用于读写 UBJSON 文件。
2.1 内置属性
可以通过路径引用属性值。比如上面的例子,可以用下面的方式访问:
| 属性名 | 属性的值 |
|---|---|
| network.device | eth0 |
| network.ip | 192.168.1.1 |
| serial.device | COM1 |
| serial.baudrate | 115200 |
2.2 内置命令
| 命令 | 参数 | 说明 |
|---|---|---|
| save | 无 | 保存 |
| reload | 无 | 重新加载 |
2.3 创建参数
| 参数 | 类型 | 说明 |
|---|---|---|
| url | string | 文件路径(必须) |
示例
ubjson(url=${app_dir}/demos/demo_conf/demo.ubjson)
3. xml 配置
示例
<root><network device="eth0" ip="192.168.1.1" /><serial device="COM1" baudrate="115200" />
</root>
功能:用于读写 XML 文件。
3.1 内置属性
可以通过路径引用属性值。比如上面的例子,可以用下面的方式访问:
| 属性名 | 属性的值 |
|---|---|
| network.device | eth0 |
| network.ip | 192.168.1.1 |
| serial.device | COM1 |
| serial.baudrate | 115200 |
3.2 内置命令
| 命令 | 参数 | 说明 |
|---|---|---|
| save | 无 | 保存 |
| reload | 无 | 重新加载 |
3.3 创建参数
| 参数 | 类型 | 说明 |
|---|---|---|
| url | string | 文件路径(必须) |
示例
xml(url=${app_dir}/demos/demo_conf/demo.xml)
4. ini 配置
示例
[network]device = eth0ip = 192.168.1.1
[serial]device = COM1baudrate = 115200
功能:用于读写 INI 文件。
4.1 内置属性
可以通过路径引用属性值。比如上面的例子,可以用下面的方式访问:
| 属性名 | 属性的值 |
|---|---|
| network.device | eth0 |
| network.ip | 192.168.1.1 |
| serial.device | COM1 |
| serial.baudrate | 115200 |
4.2 内置命令
| 命令 | 参数 | 说明 |
|---|---|---|
| save | 无 | 保存 |
| reload | 无 | 重新加载 |
4.3 创建参数
| 参数 | 类型 | 说明 |
|---|---|---|
| url | string | 文件路径(必须) |
示例
ini(url=${app_dir}/demos/demo_conf/demo.ini)
5. csv 配置
示例
eth0,192.168.1.1
eth1,192.168.1.2
eth2,192.168.1.3
功能:用于读写 CSV 文件。
5.1 内置属性
可以通过路径引用属性值。比如上面的例子,可以用下面的方式访问:
用于列表项绑定
| 属性名 | 属性的值 |
|---|---|
| item.device | 访问第一列 |
| item.ip | 访问第二列 |
| item.0 | 访问第一列 |
| item.1 | 访问第二列 |
| item.[0] | 访问第一列 |
| item.[1] | 访问第二列 |
5.2 内置命令
| 命令 | 参数 | 说明 |
|---|---|---|
| save | 无 | 保存 |
| reload | 无 | 重新加载 |
5.3 创建参数
| 参数 | 类型 | 说明 |
|---|---|---|
| url | string | 文件路径(必须) |
| col_names | string | 列名,用分隔符分隔 |
| sep | char | 分隔符,默认为逗号 |
示例
csv(url=${app_dir}/demos/demo_conf/demo.csv, col_names='device,ip', sep=',')
6. json_array 配置
示例
{"networks": [{"device": "eth0","ip": "192.168.1.1"},{"device": "eth1","ip": "192.168.1.2"},{"device": "eth2","ip": "192.168.1.3"}]
}
功能:用于读写 JSON 文件(方便绑定到列表视图)。
6.1 内置属性
可以通过路径引用属性值。比如上面的例子,可以用下面的方式访问:
用于列表项绑定
| 属性名 | 属性的值 |
|---|---|
| item.device | device |
| item.ip | ip |
6.2 内置命令
| 命令 | 参数 | 说明 |
|---|---|---|
| save | 无 | 保存 |
| reload | 无 | 重新加载 |
6.3 创建参数
| 参数 | 类型 | 说明 |
|---|---|---|
| url | string | 文件路径 (必须) |
| prefix | string | 路径前缀(可选) |
示例
json_array(url=${app_dir}/demos/demo_conf/demo_array.json, prefix=networks)
7. xml_array 配置
示例
<networks><network device="eth0" ip="192.168.1.1" /><network device="eth1" ip="192.168.1.2" /><network device="eth2" ip="192.168.1.3" />
</networks>
功能:用于读写 XML 文件(方便绑定到列表视图)。
7.1 内置属性
可以通过路径引用属性值。比如上面的例子,可以用下面的方式访问:
用于列表项绑定
| 属性名 | 属性的值 |
|---|---|
| item.device | device |
| item.ip | ip |
7.2 内置命令
| 命令 | 参数 | 说明 |
|---|---|---|
| save | 无 | 保存 |
| reload | 无 | 重新加载 |
7.3 创建参数
| 参数 | 类型 | 说明 |
|---|---|---|
| url | string | 文件路径 (必须) |
| prefix | string | 路径前缀(可选) |
示例
xml_array(url=${app_dir}/demos/demo_conf/demo_array.xml, prefix=networks)
相关文章:
AWTK-MVVM 配置文件模型
配置文件模型 AWTK-MVVM 内置了一些配置文件模型,用于读写各种配置文件,比如,JSON/XML/INI/CSV/UBJSON 等。 文件名中可以引用下面的变量。 ${app_dir} 应用程序目录${user_dir} 用户目录${temp_dir} 临时目录 json(url${app_dir}/demos/de…...
【活动】金三银四,前端工程师如何把握求职黄金期
随着春意盎然的气息弥漫大地,程序员群体中也迎来了一年一度的“金三银四”求职热潮。这个时间段对于广大前端工程师而言,不仅象征着生机勃发的新起点,更是他们职业生涯中至关重要的转折点。众多知名公司在这一时期大规模开启招聘通道…...
萌新学习RSA第二天(离线分解整数N)
1.yafu的使用(离线环境分解N)、 下载 打开 及使用 下载地址:https://sourceforge.net/projects/yafu/ 在下载好的并解压好的文件夹上鼠标右键打开终端 然后输入.\yafu-x64.exe并回车运行 .\yafu-x64.exe 来到这个页面就OK了 然后输入 fa…...
STM32学习和实践笔记(1): 装好了的keil μVision 5
2019年3月在淘宝上买了这块STM32的开发板,学了一段时间后就丢下了,今天重新捡起来,决定好好学习、天天向上。 对照教程,今天先把keil5装上了。 装的过程有以下几点值得记录下: 1)用注册机时,…...
企业计算机服务器中了360勒索病毒如何解密,360后缀勒索病毒处理流程
对于众多的企业来说,企业的数据是企业发展的核心,越来越多的企业开始注重企业的数据安全问题,但随着网络技术的不断发展与应用,网络黑客的攻击加密手段也在不断升级。近期,云天数据恢复中心接到多家企业的求助…...
【图像拼接/视频拼接】论文精读:Efficient Video Stitching Based on Fast Structure Deformation
第一次来请先看这篇文章:【图像拼接(Image Stitching)】关于【图像拼接论文精读】专栏的相关说明,包含专栏使用说明、创新思路分享等(不定期更新) 图像拼接系列相关论文精读 Seam Carving for Content-Aware Image ResizingAs-Rigid-As-Possible Shape ManipulationAdap…...
LASSO算法
LASSO (Least Absolute Shrinkage and Selection Operator) 是一种回归分析的方法,它能够同时进行变量选择和正则化,以增强预测准确性和模型的解释性。LASSO通过在损失函数中加入一个L1惩罚项来实现这一点。该惩罚项对系数的绝对值进行约束。 基本概念 …...
xss.haozi.me靶场练习
靶场地址alert(1) 1、第一关 输入在文本框里面,我们闭合前面的标签,中间的内容我们就可以随意写了 2、第二关 逃逸value的属性即可,这里使用点击事件触发xss 3、第三关 看代码,使用了正则表达式,去掉了所有的括号字…...
Unity 游戏设计模式:观察者模式
本文由 简悦 SimpRead 转码, 原文地址 mp.weixin.qq.com 在 unity 游戏设计中,观察者模式(Observer Pattern)有着重要的作用,它主要用于实现对象之间的一对多的依赖关系,当一个对象的状态发生变化时&#x…...
计算机体系结构安全:对体系结构如何支持安全机制进行调研
一、体系结构支持信任建立和主动防御的技术: 可信3.0 二、体系结构怎么更好的支持信任建立和主动防御 2.1 支持信任建立 一、以手机芯片举例,用智能手机的芯片作为信任根,确保应用程序和敏感数据受到保护。 二、启动时验证操作系统和应用…...
b站小土堆pytorch学习记录—— P15 Dataloader的使用
文章目录 一、前置知识1.dataloader简要介绍2.dataloader 官方文档(翻译后) 二、DataLoader的使用 一、前置知识 1.dataloader简要介绍 DataLoader 是 PyTorch 中用于加载数据的实用工具,它可以处理数据集的批量加载、数据集的随机打乱、多…...
小程序中使用echarts地图
一、下载并安装echarts 1、下载echarts-for-weixin组件 echarts-for-weixin项目提供了一个小程序组件,用这种方式可以在小程序中方便地使用 ECharts。 下载ec-canvas项目(下载地址) 注意:下载的 ec-canvas 中的echarts的版本…...
swoole协程
协程执行顺序 //hyperf框架 use Co;go(function () {Co::sleep(1); // Io等待一秒echo "hello go1 \n";});echo "hello main \n";go(function () {echo "hello go2 \n";});//打印结果hello mainhello go2hello go1/*运行此段代码, 系统启动一个…...
Android Gradle 开发与应用 (一) : Gradle基础
1. Gradle是什么 Gradle是一个通用的构建工具,支持诸多主要的 IDE,包括 Android Studio、IntelliJ IDEA、Visual Studio 等 Gradle 的底层实现(核心引擎和框架)其实是用 Java 编写的开发者通常使用 Groovy 或 Kotlin 来编写构建脚本 1.1 那么为什么Gra…...
PostgreSQL操作笔记
基础操作 数据库相关 -- 查看所有数据库 \l-- 切换到指定数据库 \c 库名-- 查看库中所有表 \d执行SQL脚本 如果有现成的SQL脚本: \i 脚本路径路径一般需要用单引号引起来。 如果需要当场编辑一次性的SQL脚本,可以: \e执行上述命令后会进…...
【微服务】微服务中常用认证加密方案总结
目录 一、前言 二、登录认证安全问题 3.1 认证方式选择 三、常用的加密方案 3.1 MD5加密算法 3.1.1 md5特点 3.1.2 md5原理 3.1.3 md5使用场景 3.2 AES加密算法 3.2.1 AES简介 3.2.2 AES加解原理 3.2.3 AES算法优缺点 3.2.4 AES算法使用场景 3.3 RSA加密算法 3.3…...
【Unity】实现从Excel读取数据制作年份选择器
效果预览: 此处利用Excel来读取数据来制作年份选择器,具体步骤如下。 如果只是制作年份选择器可以参考我这篇文章:构建简单实用的年份选择器(简单原理示范) 目录 效果预览: 一、 Excel准备与存放 1.1 …...
Sqli-labs靶场第18关详解[Sqli-labs-less-18]自动化注入-SQLmap工具注入
Sqli-labs-Less-18 通过测试发现,在登录界面没有注入点,通过已知账号密码admin,admin进行登录发现: 返回了User Agent,设想如果在User Agent尝试加上注入语句(报错注入),测试是否会…...
【测开求职】2023秋招快手一面面经
已经过了百度测开三面,快手这个一面比百度的要难很多,可能也是遇到了比较严格的面试官,感觉其他面经没有这么难。30分钟实习,20分钟算法题,20分钟八股,没有问项目。 实习 diff遇到了哪些痛点diff是全量还是增量一些字段的增加或者枚举值的增加可以用diff测吗有哪些自动化…...
【Go语言】Go语言中的字典
Go语言中的字典 字典就是存储键值对映射关系的集合,在Go语言中,需要在声明时指定键和值的类型,此外Go语言中的字典是个无序集合,底层不会按照元素添加顺序维护元素的存储顺序。 如下所示,Go语言中字典的简单示例&…...
作业2:6位数码管静态显示
文章目录1、数码管显示6个91.1 效果图截屏1.2 代码2、数码管显示2个7(一头一尾)2.1 效果图截屏2.2 代码3、数码管轮播显示6位3.1 效果图截屏3.2 代码4、数码管轮播显示2位4.1 效果图截屏4.2 代码1、数码管显示6个9 1.1 效果图截屏 1.2 代码 #include&l…...
STM32总线架构解析与性能优化实战
1. STM32单片机内部总线架构概述作为嵌入式开发者,理解STM32单片机的内部总线结构是优化代码性能的关键。在Cortex-M3架构的STM32F1系列中,总线系统就像一座精心设计的立交桥网络,各司其职又相互配合。我第一次调试DMA传输卡顿时,…...
C# Span<T>性能优化实战指南(90%开发者忽略的栈内存安全边界与Unsafe.As<T>陷阱)
第一章:C# Span性能优化实战指南(90%开发者忽略的栈内存安全边界与Unsafe.As陷阱)Span 的栈内存安全边界 Span<T> 在栈上分配元数据(仅 16 字节),但其指向的数据仍可能位于堆、本机内存或栈。关键约束…...
LVGL实战:手把手教你用FatFS给STM32上的LVGL挂载SD卡文件系统(附多设备管理技巧)
LVGL实战:STM32多存储设备文件系统集成与优化指南 在嵌入式UI开发中,资源管理往往成为制约项目灵活性的瓶颈。当LVGL界面需要加载大量图片、字体等外部资源时,如何高效管理SD卡、SPI Flash等多种存储介质,成为提升开发效率的关键。…...
Zotero插件进阶玩法:用这些神器打造你的专属文献工作流
Zotero插件进阶玩法:用这些神器打造你的专属文献工作流 如果你已经熟悉Zotero的基础操作,却还在手动整理文献、逐篇翻译PDF、反复切换浏览器查影响因子,那么是时候升级你的研究工具链了。本文将带你探索Zotero生态中那些能让学术工作事半功倍…...
PHP 8.9原生异步I/O终极调优清单(含12项基准测试指标、9类典型负载适配矩阵)
第一章:PHP 8.9原生异步I/O的核心演进与设计哲学PHP 8.9并未实际发布——截至2024年,PHP官方最新稳定版本为PHP 8.3,且PHP核心开发团队已明确表示**不会在PHP 8.x系列中引入原生异步I/O运行时**。该标题所指的“PHP 8.9”属于虚构版本&#x…...
开源项目合规性警示:从PyWxDump案例看技术工具的法律边界
开源项目合规性警示:从PyWxDump案例看技术工具的法律边界 【免费下载链接】PyWxDump 删库 项目地址: https://gitcode.com/GitHub_Trending/py/PyWxDump 在开源技术快速发展的今天,开发者常常面临技术实现与法律合规的平衡难题。近期,…...
Qwen3.5-9B实战教程:WebSocket流式响应+前端实时渲染优化方案
Qwen3.5-9B实战教程:WebSocket流式响应前端实时渲染优化方案 1. 项目概述与核心能力 Qwen3.5-9B是一款拥有90亿参数的开源大语言模型,在多个领域展现出强大的能力: 强逻辑推理:能够处理复杂的逻辑问题,适合需要深度…...
1篇1章3节:AIGC的发展历程,迈向生成创造世界的关键突破
随着人工智能技术的快速发展,生成式人工智能已成为信息社会的重要推动力。从最初的基于规则的文本生成到如今能够创造高度逼真的图像、视频和交互式内容,AIGC的发展经历了多个关键阶段。本文将回顾AIGC的发展历程,并探讨其迈向生成创造世界阶…...
ESPS USB MSC 调试全过程记录戎
背景 在软件开发的漫长旅途中,"构建"这个词往往让人又爱又恨。爱的是,一键点击,代码变成产品,那是程序员最迷人的时刻;恨的是,维护那一堆乱糟糟的构建脚本,简直是噩梦。 在很多项目中…...
