首先还是从上次的元服务开始,还有点不完整,所以先从元服务的补充开始写
注:元服务实际上是可以再模拟机上完成基本的使用的,
1,元服务的创建
创建元服务项目
- Empty Ability:用于Phone、Tablet设备的模板,展示基础的Hello World功能。
- [CloudDev]Empty Ability:端云一体化开发通用模板。更多信息请参见端云一体化开发。
- Embeddable Ability:用于开发支持被其他应用嵌入式运行的元服务的工程模板。
登录
这里因为我已经创建过了所以已经有一个了,你需要在创建一个:以下是创建流程
这一步是需要在AGC中创建一个项目的,放入所属项目即可
(我后面在写一个这个的项目的创建方式)
这个就行了然后回去点后面的刷新就行了
这里我再记录一个AGC创建项目
1,这个是AGC登录后的页面
2,我的项目
这是创建完成:然后再回到“应用所属项目”创建即可
之后就是从登录后的流程继续 正常的创建项目
然后就进来了,可以正常写代码了
这就是最开始的项目创建的问题了
元服务中很多的开发都需要做卡片服务,这是补充的第二点新建元服务的卡片
1,在“entry”模块目录右键选择“New > Service Widget > Dynamic Widget”,进入卡片模板选择界面,如下图所示:
选择Hellow模版就可以
然后在卡片的widgetCard.ets中写如下代码就可以使用了
@Entry
@Component
struct WidgetCard {
@State x: number = 1
@State y: number = 1
build() {
Column() {
Button('Click to enlarge')
.onClick(() => {
this.x = 1.1
this.y = 1.1
})
.scale({ x: this.x, y: this.y })
.animation({
curve: Curve.EaseOut,
playMode: PlayMode.AlternateReverse,
duration: 200,
onFinish: () => {
this.x = 1
this.y = 1
}
})
}
.padding('10vp')
.width('100%')
.height('100%')
.justifyContent(FlexAlign.Center)
}
}
约束与限制
- 整个元服务内最多允许添加16张卡片。同时每个卡片支持的所有尺寸都需要提供对应尺寸的卡片快照。(这个卡片快照没找到,这个不知道是啥有机会你可以问问井老师)
- 元服务不得通过服务卡片直接跳转到其他应用或其他元服务。
- 服务卡片开发指导部分章节(如使用call事件拉起指定UIAbility到后台,通过router或call事件刷新卡片内容)的示例中使用了非元服务高阶API的能力,在元服务中暂不支持这些功能。