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.deviceeth0
network.ip192.168.1.1
serial.deviceCOM1
serial.baudrate115200

1.2 内置命令

命令参数说明
save保存
reload重新加载

1.3 创建参数

参数类型说明
urlstring文件路径(必须)

示例

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.deviceeth0
network.ip192.168.1.1
serial.deviceCOM1
serial.baudrate115200

2.2 内置命令

命令参数说明
save保存
reload重新加载

2.3 创建参数

参数类型说明
urlstring文件路径(必须)

示例

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.deviceeth0
network.ip192.168.1.1
serial.deviceCOM1
serial.baudrate115200

3.2 内置命令

命令参数说明
save保存
reload重新加载

3.3 创建参数

参数类型说明
urlstring文件路径(必须)

示例

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.deviceeth0
network.ip192.168.1.1
serial.deviceCOM1
serial.baudrate115200

4.2 内置命令

命令参数说明
save保存
reload重新加载

4.3 创建参数

参数类型说明
urlstring文件路径(必须)

示例

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 创建参数

参数类型说明
urlstring文件路径(必须)
col_namesstring列名,用分隔符分隔
sepchar分隔符,默认为逗号

示例

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.devicedevice
item.ipip

6.2 内置命令

命令参数说明
save保存
reload重新加载

6.3 创建参数

参数类型说明
urlstring文件路径 (必须)
prefixstring路径前缀(可选)

示例

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.devicedevice
item.ipip

7.2 内置命令

命令参数说明
save保存
reload重新加载

7.3 创建参数

参数类型说明
urlstring文件路径 (必须)
prefixstring路径前缀(可选)

示例

xml_array(url=${app_dir}/demos/demo_conf/demo_array.xml, prefix=networks)

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

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

相关文章

nodejs,JSDOM 补 window环境

window[atob] 是一个在浏览器中使用的 JavaScript 函数&#xff0c;用于将 base64 编码的字符串解码为原始数据。具体来说&#xff0c;atob 函数会将 base64 字符串解码为一个 DOMString&#xff0c;其中包含解码后的二进制数据。这在处理从服务器获取的 base64 编码的数据或在…

多平台拼音输入法软件的开发

拼音输入法从上个世纪发展到现在, 已经发展了几十年了, 技术上已经非常成熟了. 换句话说, 就是实际上没多少技术含量, 随便来个人就能手搓一个. 本文介绍一个简单的多平台拼音输入法软件的设计和实现, 支持 GNU/Linux (ibus) 平台 (PC) 和 Android 平台 (手机). 目录 1 中文输…

E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

比如&#xff0c;安装ros的时候&#xff0c;用 执行&#xff1a; sudo apt install ros-melodic-desktop-full 出现如下问题&#xff1a; 如果你根据提示&#xff0c;安装ros-melodic-desktop&#xff0c;他有会说类似“E: 无法修正错误&#xff0c;因为您要求某些软件包保持…

Vue.js入门指南:简介、环境配置与Yarn创建项目

一、Vue.js简介 Vue.js&#xff0c;一个流行的JavaScript框架&#xff0c;以其直观、灵活和高效的特点&#xff0c;在前端开发者中赢得了广泛的赞誉。Vue.js的核心库专注于视图层&#xff0c;使得开发者能够构建出响应式的数据绑定和组合的视图组件。Vue.js的目标是通过尽可能简…

BUUCTF---[极客大挑战 2019]Http1

1.题目描述&#xff0c;在地址框输入下面的网址 2.来到页面&#xff0c;ctrlu查看源码&#xff0c;仔细观察会看到一个.php的跳转页面 3.点进去页面提示It doesnt come from https://Sycsecret.buuoj.cn 4.页面提示它不是来源于这个网址&#xff0c;我们需要用bp抓包对数据进行…

多波束水深数据粗差剔除方法总结(不断更新)

目录 一、粗差产生原因 二、粗差剔除方法 三、自动滤波方法分类 3.1 趋势面滤波 3.1.1 现有方法 3.1.2 缺点

Web开发介绍,制作小网站流程和需要的技术【详解】

1.什么是web开发 Web&#xff1a;全球广域网&#xff0c;也称为万维网(www World Wide Web)&#xff0c;能够通过浏览器访问的网站。 所以Web开发说白了&#xff0c;就是开发网站的&#xff0c;例如网站&#xff1a;淘宝&#xff0c;京东等等 2. 网站的工作流程 1.首先我们需…

sparse transformer 常见稀疏注意力

参考&#xff1a; https://zhuanlan.zhihu.com/p/259591644 主要就是降低transformer自注意力模块的复杂度 复杂度主要就是 Q K^T影响的&#xff0c;稀疏注意力就是在Q点乘K的转置这模块做文章 下列式一些sparse transformer稀疏注意力方法 a、transformer原始的 &#xff0…

b站小土堆pytorch学习记录—— P17 土堆说卷积操作

文章目录 一、前置知识什么是卷积操作 二、代码 一、前置知识 什么是卷积操作 推荐几个高赞博客&#xff1a; 卷积最容易理解的解释 卷积神经网络&#xff08;CNN&#xff09;详细介绍及其原理详解 还有pytorch官网的动态图&#xff1a; pytorch卷积 二、代码 import t…

MyBatis源码分析之基础支持层反射

(/≧▽≦)/~┴┴ 嗨~我叫小奥 ✨✨✨ &#x1f440;&#x1f440;&#x1f440; 个人博客&#xff1a;小奥的博客 &#x1f44d;&#x1f44d;&#x1f44d;&#xff1a;个人CSDN ⭐️⭐️⭐️&#xff1a;传送门 &#x1f379; 本人24应届生一枚&#xff0c;技术和水平有限&am…

PowerShell禁止运行脚本解决方案

错误代码 CategoryInfo : SecurityError: (:) []&#xff0c;ParentContainsErrorRecordException FullyQualifiedErrorId : UnauthorizedAccess在计算机上启动 Windows PowerShell 时&#xff0c;执行策略很可能是 Restricted&#xff08;默认设置&#xff09;。 Restricted …

图像分类应用

先留一段图像分类代码&#xff0c;空闲时间再做分析&#xff1a; 创建神经网络&#xff1a; import torch from torch import nn import torch.nn.functional as F class MyAlexNet(nn.Module):def __init__(self):super(MyAlexNet, self).__init__()self.c1nn.Conv2d(in_cha…

二刷代码随想录算法训练营第十天 | 232.用栈实现队列、 225. 用队列实现栈

目录 一、232. 用栈实现队列 二、225. 用队列实现栈 一、232. 用栈实现队列 题目链接&#xff1a;力扣 文章讲解&#xff1a;代码随想录 视频讲解&#xff1a; 栈的基本操作&#xff01; | LeetCode&#xff1a;232.用栈实现队列 题目&#xff1a; 请你仅使用两个栈实现先…

Vision Pro开发者学习路线

官方给到的Vision Pro开发者学习路线&#xff1a; 1. 学习基础知识&#xff1a; - 学习 Xcode、Swift 和 SwiftUI 的基础知识&#xff0c;包括语法、UI 设计等。 - 掌握 ARKit 和 SwiftUI 的使用&#xff0c;了解如何创建沉浸式增强现实体验。 2. 学习 3D 建模&#xf…

『Linux从入门到精通』第 ㉕ 期 - System V 共享内存

文章目录 &#x1f490;专栏导读&#x1f490;文章导读&#x1f427;共享内存原理&#x1f427;共享内存相关函数&#x1f426;key 与 shmid 区别 &#x1f427;代码实例 &#x1f490;专栏导读 &#x1f338;作者简介&#xff1a;花想云 &#xff0c;在读本科生一枚&#xff0…

CentOS7安装DockerCompose和Docker镜像仓库的配置

CentOS7安装DockerCompose 1.下载 Linux下需要通过命令下载&#xff1a; # 安装 curl -L https://github.com/docker/compose/releases/download/1.23.1/docker-compose-uname -s-uname -m > /usr/local/bin/docker-compose2.修改文件权限 修改文件权限&#xff1a; # …

YOLOv9独家原创改进|加入幽灵卷积Ghost Convolution模块,轻量化!

专栏介绍&#xff1a;YOLOv9改进系列 | 包含深度学习最新创新&#xff0c;主力高效涨点&#xff01;&#xff01;&#xff01; 一、论文摘要 由于内存和计算资源有限&#xff0c;在嵌入式设备上部署卷积神经网络是困难的。特征图中的冗余是那些成功的细胞神经网络的一个重要特征…

【网站项目】158企业人事管理系统

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

突破编程_C++_字符串算法(判断字符串是否包含)

1 算法题 &#xff1a;判断一个字符串是否包含另一个字符串的所有字符&#xff08;不一定连续&#xff09; 1.1 题目含义 判断一个字符串&#xff08;称为“主字符串”或“大字符串”&#xff09;是否包含另一个字符串&#xff08;称为“子字符串”或“小字符串”&#xff09…

代码随想录算法训练营第31天—贪心算法05 | ● 435. 无重叠区间 ● *763.划分字母区间 ● *56. 合并区间

435. 无重叠区间 https://programmercarl.com/0435.%E6%97%A0%E9%87%8D%E5%8F%A0%E5%8C%BA%E9%97%B4.html 考点 贪心算法重叠区间 我的思路 先按照区间左坐标进行排序&#xff0c;方便后续处理进行for循环&#xff0c;循环范围是0到倒数第二个元素如果当前区间和下一区间重叠…