梅科尔工作室-江凌宇-鸿蒙笔记1

对于鸿蒙软件开发所用编译器的介绍

鸿蒙APP开发所采用的编译器为华为自研的DevEc编译器,简洁美观易上手是此编译器的巨大优势

主要目录配置文件作用(stage模型和FA模型下)

下面是在FA模型下的模型

应用配置文件概述(FA模型)

每个应用项目必须在项目的代码目录下加入配置文件,这些配置文件会向HarmonyOS的编译工具、HarmonyOS操作系统和应用市场提供描述应用的基本信息。

应用配置文件需申明以下内容:

  • 应用的软件包名称,应用的开发厂商,版本号等应用的基本配置信息,这些信息被要求设置在app这个字段下。

  • 应用的组件的基本信息,包括所有的Ability,设备类型,组件的类型以及当前组件所使用的语法类型。

  • 应用在具体设备上的配置信息,这些信息会影响应用在设备上的具体功能。

在FA模型的应用开发过程中,需要在config.json配置文件中对应用的包结构进行声明。

配置文件的内部结构

config.json由app、deviceConfig和module三个部分组成,缺一不可。

大致分为这几项文件,对此项目的解释如下:

  • entry模块

  • pages模块

  • entry-->src-->main-->ets-->pages

  • resource模块

  • 资源配置,即文字和图片及语言的配置。

  • 中文语言en_CN

  • 英文语言en_US

  • 标识应用的全局配置信息。同一个应用的不同HAP的app配置必须保持一致。

  • 标识应用在具体设备上的配置信息。

  • 标识HAP的配置信息。该标签下的配置只对当前HAP生效。

语法基础知识

  • ArkTS 是华为自研的开发语言。是2022年下半年新推出的语言,它在TypeScript(简称TS)的基础上,匹配ArkUI框架,扩展了声明式UI、状态管理等相应的能力,让开发者以更简洁、更自然的方式开发跨端应用。

  • ArkTS是TS的超集,而TS又是JS的超集,所谓超集就是大于这个集合并且包含这个集合。这个js开发就和web开发类似。所以ArkTS里也会涉及到js的一些知识,有web网页的基础。

基本框架
  • @entry-->struct结构体-->build方法-->页面组件

  • 装饰器

  • 用于装饰类、结构、方法以及变量,赋予其特殊的含义。

  • 装饰器列表

  • 组件

  • 接口

  • 写在组件里,可以控制组件的一些特性。

  • text组件接口

  • 属性

  • 相当于组件的衣服,能够更改组件的颜色、大小、各种样式等。与网页的css的意义一样。

  • 事件方法

  • 每个组件可以绑定一个事件,事件可以是点击事件、触摸事件等等。

  • 方法就是事件被触发后要执行的动作。

    • 资源引用类型

Resource是资源引用类型,用于设置组件属性的值。推荐大家优先使用Resource类型,将资源文件(字符串、图片、音频等)统一存放于resources目录下,便于开发者统一维护。同时系统可以根据当前配置加载合适的资源,例如,开发者可以根据屏幕尺寸呈现不同的布局效果,或根据语言设置提供不同的字符串。

通过“$r('app.type.name')”的形式引用应用资源。app代表应用内resources目录中定义的资源;type代表资源类型(或资源的存放位置),可以取“color”、“float”、“string”、“plural”、“media”;name代表资源命名,由开发者定义资源时确定。

存放的资源目录
  • 数据类型

  • string、number、number[]、string[]、object[]

更换应用图标和名字方法

对于图表的更换我们要找到main文件下rescores->base->media,media所存放的就是图片

如何更换图标呢?这是一个问题

其实也不难,在FA模型下只需找到config.json这个文件

下面就是这个文件的页面

找到这个模块

meida后面跟的就是图片文件的名称,一般选择绝对路径的文件

更换名称

US后缀的就是英文名称,而CN后缀的则为中文名称

找到文件名称后更改应用名称则非常容易,下面以英文名称文件举例

打开string.json文件后页面如下

更改名称找到value这一项

引号里面的内容则是软件名称(切记为英文引号)

项目远程模拟方法

远程模拟的话首先要配置环境

选择这个选项

选一个你要模拟的设备

远程模拟效果展示

以上则是对鸿蒙系统以及华为自研软件DevEco的入门初步介绍,欢迎大佬们补充,不足的地方我会及时更改!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
题目描述: 一艘质量为$m$的船停靠在距离海岸线$L$的海域, 用一根长为$L$的铁锚将其系住。现有一条绳子, 一端固定在海岸上某点, 另一端系在船上。 要求绳子始终保持水平, 即绳子与水面的夹角为90°。 现在需要设计一个系泊系统,使得满足以下要求: 1. 绳子的长度为$L$; 2. 系泊系统能够承受风浪力矩$mgl\sin\theta$($\theta$为船在水平方向上的倾斜角度,$g$为重力加速度,$m$为船的质量,$l$为船到绳子固定点的水平距离); 3. 系泊系统的总重力不超过$G$,其中包括锚和绳子的重力; 请设计一个系泊系统,确定锚点在海岸线上的位置,以及绳子的长度。 思路: 1. 通过分析,可以得到系泊系统的主要受力情况:重力,浮力,张力和风浪力矩。其中,重力和浮力是与锚点位置无关的,可以先计算出来;风浪力矩是与船的倾斜角度有关的,需要在计算时考虑。 2. 假设锚点位置为$(0,0)$,船的位置为$(x,y)$,则绳子的长度$L$可以表示为$\sqrt{x^2+y^2}$。考虑绳子的张力,由于绳子与水面垂直,所以绳子的张力只有水平方向的分量,即$T\sin\theta$,其中,$\theta$为绳子与水平面的夹角。 3. 计算重力和浮力。船的重力为$mg$,浮力为$\rho Vg$,其中,$\rho$为水的密度,$V$为船的体积。绳子和锚的重力可以通过绳子的长度$L$和锚的重量来计算,即$g(L-x)\rho_s A$,其中,$\rho_s$为锚的密度,$A$为锚的横截面积。 4. 考虑风浪力矩的影响。假设风浪力矩对船的影响可以视为一个力矩,大小为$mgl\sin\theta$,方向垂直于船的水平方向,根据右手定则可以确定其方向。由于绳子的张力与水平方向平行,所以风浪力矩只对船的倾斜角度$\theta$有影响。 5. 在计算时,可以将锚点位置和绳子长度作为变量,通过求解最优化问题,确定最佳的锚点位置和绳子长度,使得系泊系统满足要求。可以考虑使用数值优化方法进行求解。 参考代码: ``` import numpy as np from scipy.optimize import minimize def objective(x): L = np.sqrt(x[0]**2 + x[1]**2) theta = np.arctan(x[1] / x[0]) T = (m*g + rho*V*g + (L-x[0])*rho_s*A) / np.sin(theta) M = T * L * np.sin(theta) return -M def constraint1(x): L = np.sqrt(x[0]**2 + x[1]**2) theta = np.arctan(x[1] / x[0]) T = (m*g + rho*V*g + (L-x[0])*rho_s*A) / np.sin(theta) return G - (m + rho_s*A*(L-x[0]) + rho*V)*g - T*np.cos(theta) def constraint2(x): return x[0] def constraint3(x): return x[1] # 系泊系统参数 m = 1000 # 船的质量 V = 100 # 船的体积 rho = 1000 # 水的密度 rho_s = 7800 # 锚的密度 A = 10 # 锚的横截面积 g = 9.8 # 重力加速度 G = 100000 # 系泊系统的总重力 # 初始值 x0 = [10, 10] # 约束条件 cons = [ {'type': 'ineq', 'fun': constraint1}, {'type': 'ineq', 'fun': constraint2}, {'type': 'ineq', 'fun': constraint3} ] # 求解最优化问题 sol = minimize(objective, x0, method='SLSQP', constraints=cons) # 输出结果 print(sol) ``` 参考资料: [1] 赵凌宇. 数学建模算法与应用[M]. 北京:清华大学出版社,2016. [2] 谷超豪,李涛,刘宝印,等. 数学建模算法应用与分析[M]. 北京:科学出版社,2016.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值