月度归档:2024年07月
HarmonyOS第一课04:应用程序框架基础
应用程序框架基础
应用程序框架概述
应用程序框架
应用程序框架(Application Framework)是一种编程框架,用来简化应用程序的开发过程,提高代码的可重用性和可维护性。可以帮助开发人员更快速、更高效地开发应用程序。
应用模型
应用模型是一个应用程序的模型,它是一种抽象描述。用于表示应用程序的不同方面,例如应用组件、进程模型、线程模型、任务管理以及包管理。应用模型提供了一种统一的语言和架构来描述应用程序的各个方面。应用模型可以帮助开发者更好地理解应用程序的架构和设计,从而更有效地利用应用程序框架。从模型演进角度分为FA模型以及Stage模型。目前长期演进策略是Stage模型。
两者之间的关系
应用程序框架可以被看作是应用程序模型的一种实现方式。开发人员可以根据应用模型描述应用程序的结构和行为,然后使用应用程序框架来实现这些描述。
Stage应用模型设计思想
工程目录结构介绍
文件类型
ArkTS源码文件
配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
ToDoList ├── AppScope │ ├── app.json5 // 应用级配置文件 │ └── resources │ └── base │ ├── element │ │ └── string.json │ └── media │ └── app_icon.png ├── LICENSE ├── README.md ├── build-profile.json5 ├── entry │ ├── build-profile.json5 │ ├── hvigorfile.ts │ ├── oh-package.json5 // 模块级依赖管理配置文件 │ └── src │ └── main │ ├── ets │ │ ├── common │ │ │ └── constant │ │ │ └── CommonConstant.ets │ │ ├── entryability │ │ │ └── EntryAbility.ets │ │ ├── pages │ │ │ └── ToDoListPage.ets │ │ ├── view │ │ │ └── ToDoItem.ets │ │ └── viewmodel │ │ └── DataModel.ets │ ├── module.json5 // 模块级配置文件 │ └── resources │ ├── base │ │ ├── element │ │ │ ├── color.json │ │ │ ├── float.json │ │ │ └── string.json │ │ ├── media │ │ │ ├── ic_default.png │ │ │ ├── ic_icon.png │ │ │ └── ic_ok.png │ │ └── profile │ │ └── main_pages.json │ ├── en_US │ │ └── element │ │ └── string.json │ └── zh_CN │ └── element │ └── string.json ├── hvigor │ └── hvigor-config.json5 ├── hvigorfile.ts ├── oh-package.json5 // 项目级依赖管理配置文件 └── screenshots └── device └── ToDoList.gif |
应用级配置文件app.json5
1 2 3 4 5 6 7 8 9 10 |
{ "app": { "bundleName": "com.huawei.todolist", // 标识应用的Bundle名称,用于标识应用的唯一性 "vendor": "example", "versionCode": 1000000, "versionName": "1.0.0", // 标识向用户展示的应用版本号 "icon": "$media:app_icon", // 标识应用的图标,取值为图标资源文件的索引 "label": "$string:app_name" // 标识应用的名称,取值为字符串资源的索引 } } |
模块级配置文件module.json5
资源文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
ToDoList ├── AppScope │ ├── app.json5 │ └── resources // 应用级资源目录 │ └── base │ ├── element // 元素资源目录,包含颜色、数字、字符串等 │ │ └── string.json │ └── media // 媒体资源目录,包含图片、音频、视频等媒体文件 │ └── app_icon.png ├── LICENSE ├── README.md ├── build-profile.json5 ├── entry │ ├── build-profile.json5 │ ├── hvigorfile.ts │ ├── oh-package.json5 │ └── src │ └── main │ ├── ets │ │ ├── common │ │ │ └── constant │ │ │ └── CommonConstant.ets │ │ ├── entryability │ │ │ └── EntryAbility.ets │ │ ├── pages │ │ │ └── ToDoListPage.ets │ │ ├── view │ │ │ └── ToDoItem.ets │ │ └── viewmodel │ │ └── DataModel.ets │ ├── module.json5 │ └── resources // 模块级资源目录 │ ├── base │ │ ├── element // 元素资源目录,包含颜色、数字、字符串等 │ │ │ ├── color.json │ │ │ ├── float.json │ │ │ └── string.json │ │ ├── media // 媒体资源目录,包含图片、音频、视频等媒体文件 │ │ │ ├── ic_default.png │ │ │ ├── ic_icon.png │ │ │ └── ic_ok.png │ │ └── profile // 自定义配置文件目录,包含页面配置、卡片配置等配置文件 │ │ └── main_pages.json │ ├── en_US // 包含模块所应用到的英文资源 │ │ └── element │ │ └── string.json │ └── zh_CN // 包含模块所应用到的中文资源 │ └── element │ └── string.json ├── hvigor │ └── hvigor-config.json5 ├── hvigorfile.ts ├── oh-package.json5 └── screenshots └── device └── ToDoList.gif |
课程总结
- 应用程序框架概述与应用模型等关系
- Stage应用模型等设计思想
- 工程目录结构
案例:ArkTS开发案例02-待办列表
HarmonyOS第一课
案例:ArkTS开发案例01
Mac下DevEco Studio设置保存自动格式化代码
arkts自定义弹窗(CustomDialog)
mac下使用Quick Time Player录屏转gif
录完屏幕后使用ffmpeg
转成gif
1 |
ffmpeg -i file.mov -r 15 file.gif |
水仙花数
HarmonyOS笔记01
statistics常用函数
统计函数在数据分析和科学计算中非常重要,Python 的 statistics 模块提供了一些常用的统计函数,用于计算数据集的中心趋势、散布度和相关性等。以下是一些常用的 statistics 模块函数及其解释、数学公式以及代码示例:
继续阅读random常用函数
随机数在编程中非常常见,Python 中的 random
模块提供了多种生成随机数的函数。以下是一些常用的 random
模块函数及其简要说明:
math常用函数
以下是包含立方根、绝对值、阶乘等函数的 math
库常用函数及其解释和示例:
enumerate使用
在Python中,enumerate()
函数用于遍历序列(如列表、元组或字符串)时,同时获得索引和值。它返回一个枚举对象,默认情况下索引从0开始。以下是一些示例来演示如何使用enumerate()
:
python复数使用
complex
方法是Python内置函数,用于创建复数。复数由实部和虚部组成,形式为 $ a + bi $,其中 $ a $ 是实部,$ b $ 是虚部。
下面是如何使用 complex
方法的详细说明和示例:
单位矩阵,对角方阵,对角线元素,方阵迹,判断矩阵是否对称,矩阵行列式,矩阵逆
raise,assert使用
在 Python 中,raise
和 assert
是用于处理和控制错误的两个关键字。它们在编写健壮且易于调试的代码时非常有用。
矩阵的逆理解,有什么用?
理解矩阵的逆及其用途需要从线性代数和实际应用两个角度来考虑。
继续阅读什么是矩阵的逆?
矩阵的逆是线性代数中的一个重要概念。对于一个 \( n \times n \) 的方阵 $ A $,如果存在另一个 \( n \times n \) 的矩阵 \( B \) 使得 \( AB = BA = I \),其中 \( I \) 是 \( n \times n \) 的单位矩阵,那么矩阵 \( B \) 称为矩阵 \( A \) 的逆矩阵,记作 \( A^{-1} \)。
继续阅读矩阵行列式
行列式(Determinant)是线性代数中的一个重要概念,与矩阵密切相关。行列式是一个标量值,通过特定的规则从一个方阵(即行数和列数相等的矩阵)中计算出来。行列式在矩阵理论中有着重要的作用,它可以用于判断矩阵是否可逆、计算矩阵的特征值以及解决线性方程组等。
继续阅读