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语言中字典的简单示例&…...
Unity3D中Gfx.WaitForPresent优化方案
前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...
STM32标准库-DMA直接存储器存取
文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA(Direct Memory Access)直接存储器存取 DMA可以提供外设…...
MMaDA: Multimodal Large Diffusion Language Models
CODE : https://github.com/Gen-Verse/MMaDA Abstract 我们介绍了一种新型的多模态扩散基础模型MMaDA,它被设计用于在文本推理、多模态理解和文本到图像生成等不同领域实现卓越的性能。该方法的特点是三个关键创新:(i) MMaDA采用统一的扩散架构…...
Java - Mysql数据类型对应
Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...
2025盘古石杯决赛【手机取证】
前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来,实在找不到,希望有大佬教一下我。 还有就会议时间,我感觉不是图片时间,因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...
iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈
在日常iOS开发过程中,性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期,开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发,但背后往往隐藏着系统资源调度不当…...
Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战
说明:这是一个机器学习实战项目(附带数据代码文档),如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下,风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...
push [特殊字符] present
push 🆚 present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中,push 和 present 是两种不同的视图控制器切换方式,它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...
Linux部署私有文件管理系统MinIO
最近需要用到一个文件管理服务,但是又不想花钱,所以就想着自己搭建一个,刚好我们用的一个开源框架已经集成了MinIO,所以就选了这个 我这边对文件服务性能要求不是太高,单机版就可以 安装非常简单,几个命令就…...
Unity VR/MR开发-VR开发与传统3D开发的差异
视频讲解链接:【XR马斯维】VR/MR开发与传统3D开发的差异【UnityVR/MR开发教程--入门】_哔哩哔哩_bilibili...
