目录结构

MyApplication:整个项目的项目名
External Libraries:项目中要导入的第三方jar包

MyApplication的结构:

  • gradle:是项目管理工具gradle的信息(一般是不会动)
  • idea:是开发工具的信息(一般不会动)
  • entry:是应用主模块,在一个项目中,有且只有一个,所有的代码都在这个里面。(重要)
  • gradle:项目管理工具gradle的配置信息和所需要用到的jar包,在这个里面有一个porperties的配置文件,可以看到gradle的版本号,一般我们会用默认的,也不会动
  • build.gradle:第三方jar包的配置文件,以后在开发中要用到第三方jar包需要在这个里面配置。
  • gradlew:是gradle命令工具对应的脚本文件,一般不用。一个是linux系统的,一个是windows系统的。
  • local.properties:本地SDK配置信息,一般也不动。

entry的结构:

  • build:一般不会动,这个文件夹里面有一个R文件,记录每一个资源文件对应的id。里面的内容是自动生成的。
  • libs:第三方jar包存放的位置
  • src:主要代码
  • src里面还有三个目录
  • main:是我们自己写的主要代码。
  • ohosTest:华为的测试工具。

main里面的结构目录:

  • js:里面是我们写的所有代码。
  • resources:里面是我们跟界面相关的资源文件。
  • config.json:是界面相关所有配置信息,每一个界面都需要在这个里面进行配置。

生命周期

应用生命周期

在app.js中可以定义如下应用生命周期函数:

属性

类型

描述

触发时机

onCreate

() => void

应用创建

当应用创建时调用。

onShow6+

() => void

应用处于前台

当应用处于前台时触发。

onHide6+

() => void

应用处于后台

当应用处于后台时触发。

onDestroy

() => void

应用销毁

当应用退出时触发。

页面生命周期

在页面JS文件中可以定义如下页面生命周期函数:

属性

类型

描述

触发时机

onInit

() => void

页面初始化

页面数据初始化完成时触发,只触发一次。

onReady

() => void

页面创建完成

页面创建完成时触发,只触发一次。

onShow

() => void

页面显示

页面显示时触发。

onHide

() => void

页面消失

页面消失时触发。

onDestroy

() => void

页面销毁

页面销毁时触发。

onBackPress

() => boolean

返回按钮动作

当用户点击返回按钮时触发。

  • 返回true表示页面自己处理返回逻辑。
  • 返回false表示使用默认的返回逻辑。
  • 不返回值会作为false处理。

onActive()5+

() => void

页面激活

页面激活时触发。

onInactive()5+

() => void

页面暂停

页面暂停时触发。

onNewRequest()5+

() => void

FA重新请求

FA已经启动时收到新的请求后触发。

onStartContinuation()5+

() => boolean

详细描述见链接内容

分布式能力接口,详细解释见分布式迁移。

onSaveData(OBJECT)5+

(value: Object) => void

详细描述见链接内容

分布式能力接口,详细解释见分布式迁移。

onRestoreData(OBJECT)5+

(value: Object) => void

详细描述见链接内容

分布式能力接口,详细解释见分布式迁移。

onCompleteContinuation(code)5+

(code: number) => void

详细描述见链接内容

分布式能力接口,详细解释见分布式迁移。

onConfigurationUpdated(configuration)6+

(configuration: Configuration) => void

配置变更回调

当相应的系统配置发生变更时触发该回调,如系统字体大小,语言地区等。

说明

onConfigurationUpdated页面事件需要在config.json中配置相应的configChanges标签。详见config.json配置文件说明。

表1 Configuration对象说明6+

属性

类型

描述

locale

Locale

国际化相关信息,如语言,国家,文字布局方向等。

fontScale

number

当前系统字体的放大倍数。

表2 Locale对象说明6+

属性

类型

描述

language

string

语言,例如:zh。

countryOrRegion

string

国家或地区。例如:CN。

dir

string

文字布局方向。取值范围:

  • ltr:从左到右
  • rtl:从右到左

unicodeSetting

Object

语言环境定义的Unicode语言环境键集,如果此语言环境没有特定键集,则返回空集。

例如:{"nu": "arab"},表示当前环境下的数字采用阿拉伯语的数字。

页面A的生命周期接口的调用顺序

  • 打开页面A:onInit() -> onReady() -> onShow()
  • 在页面A打开页面B:onHide()
  • 从页面B返回页面A:onShow()
  • 退出页面A:onBackPress() -> onHide() -> onDestroy()
  • 页面隐藏到后台运行:onInactive() -> onHide()
  • 页面从后台运行恢复到前台:onShow() -> onActive()

hml语法,CSS样式 ,JS语法

HML语法参考-语法-框架说明-基于JS扩展的类Web开发范式-方舟开发框架(ArkUI)-UI-开发-HarmonyOS应用开发

CSS语法参考-语法-框架说明-基于JS扩展的类Web开发范式-方舟开发框架(ArkUI)-UI-开发-HarmonyOS应用开发

JS语法参考-语法-框架说明-基于JS扩展的类Web开发范式-方舟开发框架(ArkUI)-UI-开发-HarmonyOS应用开发

组件

list组件

list-容器组件-组件-基于JS扩展的类Web开发范式-手机、平板、智慧屏和智能穿戴开发-JS API参考-HarmonyOS应用开发

list

列表包含一系列相同宽度的列表项。适合连续、多行呈现同类数据,例如图片和文本。

仅支持<list-item-group>和<list-item>。

list-item

<list>的子组件,用来展示列表具体item。由于父元素list组件的align-items默认样式为stretch,该组件宽度默认充满list组件。设置父元素list组件的align-items样式为非stretch来生效自定义宽度。

支持单个子组件。

list-item-group

<list>的子组件,用来展示分组,宽度默认充满list组件。

  • 使用该组件时父元素list组件的样式columns必须为1,否则功能异常。
  • 由于父元素list组件的align-items默认样式为stretch,该组件宽度默认充满list组件。设置父元素list组件的align-items样式为非stretch来生效自定义宽度。
  • 仅支持<list-item>

swiper 组件

swiper-容器组件-组件-基于JS扩展的类Web开发范式-手机、平板、智慧屏和智能穿戴开发-JS API参考-HarmonyOS应用开发

滑动容器,提供切换子组件显示的能力。

支持除<list>之外的子组件。

梅科尔工作室-HarmonyOS应用开发(三)相关推荐

  1. 梅科尔工作室——HarmonyOS应用开发培训第三次作业

    钉钉讲解 1.目录结构 原子化服务 gradlew.bat (1)文件package.json在harmony开发里用的不多,在harmony开发里主要表示NPM的配置工具 (2)文件setting. ...

  2. 梅科尔工作室-鸿蒙笔记1

    梅科尔工作室-于天姿-鸿蒙笔记1 一.主要目录配置文件作用 1.stage模型 其中常用模块为app.json模块,entry模块,module.json模块. app.json5中,icon是应用图 ...

  3. 梅科尔工作室-Django学习笔记(二次学习)(3)

    本次学习的是如何用django实现前端鸿蒙OS登录 下面介绍一下本次的操作过程. 1.首先创立MySQL数据并将数据库导入到django当中 其中:导入数据库的操作: 2.配置urls 对应新建的pe ...

  4. 梅科尔工作室-李庆浩 深度学习 KNN算法与SVM算法

    1.KNN与SVM对比分析 1.1算法原理 KNN算法是物以类聚,人以群分,身旁哪个种类最多就把预测的样本归为哪一类,基本原理就是找到距离最近的K个元素,然后将这K个元素进行排列,哪个种类多,就将样本 ...

  5. 梅科尔工作室-DjangoWeb 应用框架+MySQL数据库第五次培训

    目录 前言 1.App 登录请求与实现 1.1.views.py连接数据库 1.2.前端编程 1.2.建表(不依赖DJango) 1.3.后端编程 2.效果展示 总结 前言 本文记录梅科尔工作室IoT ...

  6. 梅科尔工作室-深度学习第五讲 CNN-卷积神经网络

    目录 前言 1.计算机视觉 1.1. 计算机视觉分类 2. CNN 3. 卷积层 3.1. 什么是卷积 3.2. 动态卷积操作 4. 池化层 5.激活函数的作用 前言 本文记录梅科尔工作室深度学习培训 ...

  7. 梅科尔工作室-梁嘉莹-鸿蒙笔记1

    基本操作界面介绍 预览按钮 内置API文档查阅 项目设置 运行按钮(只有在真机模拟或远程模拟时才可以使用) 安装插件,在files下的settings-->Plugins里面,可以安装一个中文的 ...

  8. 梅科尔工作室-李柯增-鸿蒙笔记4

    一.官方API使用 首先需要找到想要使用的API文档.在基础文档里位置如下.找到之后,查看文档中关于此接口的说明,查看使用方法和使用案例后即可使用. 二.路由跳转模块 官方讲解:华为开发者学堂 具体作 ...

  9. 梅科尔工作室-寒假培训-鸿蒙第四课-官方API、路由跳转、数据请求、弹窗、事件。

    一.官方API:官方的一些接口,可以在官网查看,然后给界面增加更多功能. 可以在官网的接口参考里查看:点击事件-通用事件-组件通用信息-组件参考(基于ArkTS的声明式开发范式)-ArkTS API参 ...

最新文章

  1. 浮点数的运算为什么更慢
  2. 当前操作系统缺少黑体等字体_操作系统开发之——中断
  3. ITK:翻译矢量图像
  4. openstack资源使用汇总_OpenStack 如何查看主机已使用的资源啊?
  5. mac os touch命令_MacOS系统终端常用命令大全
  6. get_mempolicy(2) /set_mempolicy(2)/mbind(2)/numa(3) — Linux manual page
  7. C#中几种代码复用的方式
  8. 1、eclipse 使用git提交项目至github进行项目托管
  9. outlook 表格使用技巧
  10. k8s上安装并初始化Helm,helm基础使用教程
  11. 图像增强︱window7+opencv3.2+keras/theano简单应用(函数解读)
  12. java json 本身_JSON以及Java转换JSON的方法(前后端常用处理方法)
  13. 医院护理管理系统方案/案列/软件/小程序/APP/网站
  14. 财务软件虚拟服务器,财务服务器软件
  15. foxmail群发邮件怎么发?
  16. rails kaminari bootstrap-kaminari-views
  17. MODULE_DEVICE_TABLE宏的作用
  18. uni.showModal,uni.showToast使用
  19. 大数据学习之HBase入门笔记
  20. 部落卫队 (回溯搜索)

热门文章

  1. 机械臂-Part A:刚体位姿的描述
  2. 常用临床医学英文缩写中英文对照
  3. php怎么设置文字环绕图片,使用CSS实现文字环绕图片效果
  4. IDEA调试模式技巧
  5. BBQ---Java算法
  6. 一个CEO的人生感言
  7. 从感知机到逻辑斯蒂回归到支持向量机
  8. Cheat Engine详细使用指南
  9. kinect v2 error: GLSL 3.30 is not supported. Supported versions are: 1.10, 1.20, 1.30, 1.40, 1.00 ES
  10. 红米notex参数配置