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语言中字典的简单示例&…...
QQ空间数据备份:3步完成永久保存青春记忆的终极指南
QQ空间数据备份:3步完成永久保存青春记忆的终极指南 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否曾担心QQ空间里那些珍贵的青春记忆会随着时间流逝而消失ÿ…...
告别卡顿与黑边:D2DX让你的《暗黑破坏神2》在现代PC上完美重生
告别卡顿与黑边:D2DX让你的《暗黑破坏神2》在现代PC上完美重生 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你…...
终极XXMI启动器完整指南:一键管理所有米哈游游戏模组的免费神器
终极XXMI启动器完整指南:一键管理所有米哈游游戏模组的免费神器 【免费下载链接】XXMI-Launcher Modding platform for GI, HSR, WW and ZZZ 项目地址: https://gitcode.com/gh_mirrors/xx/XXMI-Launcher XXMI启动器是一款专为米哈游系列游戏设计的模组管理平…...
SPT-AKI存档编辑器终极指南:掌握《逃离塔科夫》单机版修改技巧
SPT-AKI存档编辑器终极指南:掌握《逃离塔科夫》单机版修改技巧 【免费下载链接】SPT-AKI-Profile-Editor Программа для редактирования профиля игрока на сервере SPT-AKI 项目地址: https://gitcode.com/gh_m…...
生成式AI驱动业务流程自动化:从流程挖掘到智能重构
1. 从流程执行到流程创造:生成式AI如何重塑BPM在业务流程管理(BPM)领域摸爬滚打了十几年,我亲眼见证了它从一套僵化的流程图和审批流,演变为一个动态的、数据驱动的智能决策中枢。传统的BPM核心在于“建模-执行-监控-优…...
网盘直链解析工具LinkSwift:告别龟速下载,3分钟搞定9大网盘文件下载
网盘直链解析工具LinkSwift:告别龟速下载,3分钟搞定9大网盘文件下载 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云…...
机器学习均质化:用数据各向同性化破解砌体结构宏观建模难题
1. 项目概述:当砌体结构遇上机器学习均质化在土木工程和计算力学领域,我们常常面临一个经典难题:如何高效且准确地预测像砖砌体这类复杂复合材料的宏观力学行为?砌体由砖块和砂浆层交替组成,其微观结构是非均匀且各向异…...
终极指南:如何让老款Mac免费升级到最新macOS系统
终极指南:如何让老款Mac免费升级到最新macOS系统 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher 还在为你的老款Mac无法升级最新系统而烦恼吗&…...
JMeter四层断言体系:从HTTP协议到业务语义的全链路校验
1. 为什么JMeter的断言不是“加个检查框”就完事了?很多人第一次在JMeter里点开“添加 → 断言 → 响应断言”,填上一个期望值,跑完线程组一看“绿色对勾”,就以为接口测试闭环完成了。我带过三届测试新人,90%都在这个…...
题解:AcWing 271 杨老师的照相排列
本文分享的必刷题目是从蓝桥云课、洛谷、AcWing等知名刷题平台精心挑选而来,并结合各平台提供的算法标签和难度等级进行了系统分类。题目涵盖了从基础到进阶的多种算法和数据结构,旨在为不同阶段的编程学习者提供一条清晰、平稳的学习提升路径。 欢迎大…...
