【鸿蒙初级】
ARKTS源码放在ets目录下,entryability.ts是ability组件的源码,pages/index.ets是模块的入口页面文件
element:存放元素资源目录,包含颜色、数字、字符串等
media:存放媒体资源目录,包含图片、音频、视频等媒体文件
profile:自定义配置文件目录,包含页面配置、卡片配置等配置文件,默认会在该目录下生成main_pages配置文件,该文件定义了模块页面的路由集合
en_US、zh_CN:包含模块所用到的中英文资源,应用运行时,会根据设备的语言环境进行优先匹配资源
rawfile:存放各类资源文件,该目录中的资源文件会被直接打包进应用,不经过编译,也不会被赋予资源文件ID
UIAbility组件是一种包含UI的应用组件,主要用于和用户交互。
使用struct声明todoItem组件(的结构),通过@component将这个结构转化为自定义组件,同理,使用struct声明todoPage组件,通过@component将这个结构转化为自定义组件,使用@Entry表明这个组件是一个入口页面,可以通过UIAbility进行加载,也可以通过路由来访问。在struct结构体中配置build函数,在build函数内部进行相应的声明式UI描述
@component定义自定义组件,自定义组件可以调用组件自身的生命周期方法。@Entry定义入口组件,就是页面的根节点,只有入口组件才能调用页面的生命周期方法。
aboutToAppear:组件即将出现时,执行build函数前
onPageShow:页面显示时触发,比如在路由跳转过程中,应用接入前台等场景下,不过这个函数仅在被@Entry修饰的自定义组件中生效
onBackPress:点击返回按钮或者侧滑返回时,仅在被@Entry修饰的自定义组件中生效
随后,页面进入隐藏状态或应用进入后台,此时触发onPageHide,仅在被@Entry修饰的自定义组件中生效
aboutToDisappear:自定义组件销毁前执行,用户可以在这个函数回调中释放UI资源
容器组件用于描述组件间排列关系,容器组件的内容会按照排列顺序放置在容器内
在右边学习arkts的示例中,左边是个图片(圆圈),右边是文字,所有需要使用row容器
示例代码如下,content变量用于接收外部传进来的文字,并且也可以给row组件添加属性BorderRadius
使用Colum描述上下布局
使用@State装饰变量,用来控制状态和页面视图的关系
if-else只有在build中才能使用,还需要配置点击事件来切换状态
使用forEach(数组,每个数据项要执行的函数)
将数据项渲染到页面上
相对布局:给容器内部的子元素设置相对位置,便于对多个子组件进行对齐和排列,子元素可以指定兄弟元素/父元素做为锚点,并且基于锚点进行相对位置布局
当text和span同时配置内容时,span的内容会覆盖text的内容
数字默认单位为fp,使用resource时,需要在resource目录下的float.json下配置
使用resource时,需要在resource目录下的color.json下配置
在入口文件index中,使用navigation用来显示导航页的内容,在子页面pageOne中,使用NavDestination显示子页的内容,此外,还要配置入口build函数PageOneBuilder
在面对大规模应用开发时,http的繁琐与管理不便的弊端逐渐显现,因此,鸿蒙引入了rcp能力,旨在通过声明式开发范式提供更为便捷、场景化的http api,并辅以基于会话的多线程模型,实现http参数的动态调整与部署。
getPreferenceSync包含两个参数:第一个是应用上下文对象,他决定了所获取的Preference实例及操作的持久化文件,该上下文对象通常从EntryAbility获取,第二个参数是options,他与Preference实例的配置相关,主要用于配置Preference的实例名称
putSync第一个参数是数据的键,第二个参数是数据的值
getSync获取数据,第一个参数是键,第二个参数是默认值,如果找不到这个键,则返回默认值
当数据被成功保存时,err为undefined,如果保存失败,error参数会包含一个错误对象,可以用它来判断持久化是否成功
getRdbStore的第一个参数是上下文对象,第二个参数是数据库配置信息,他所包含的数据:
筛选employee表
execute方法不支持执行查询操作、附加数据表和事务操作,如果需要这些功能,可以使用querySql、query、attach、beginTransaction、commit等接口