0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

HarmonyOS 3.1 Beta 1本地模拟器和端云一体化体验

ITMING 来源:ITMING 作者:ITMING 2023-02-21 12:42 次阅读

2月16日,DevEco Studio小助手在华为开发者论坛分享了DevEco Studio 3.1 Beta1版本发布信息,该版本与HarmonyOSSDK 3.1.0 Developer Beta1版本配套,与HarmonyOSvwin 器镜像3.1.0 Developer Beta1版本配套,与OpenHarmony3.2.10.6版本配套。该版本在Canary1基础上新增了功能型特性和技能型特性,并解决了Canary1版本出现的一些问题。其中最具有代表的两大特性为端云一体化开发和HarmonyOS 3.1 x86本地手机模拟器,接下来将对这两个特性做详细说明。

关于DevEco Studio安装将不在过多的赘述,这里只说明一下多版本的安装,在安装向导卸载以前版本界面不做勾选,直接点击Next按钮进行后续操作。

安装完成后,在安装目录D:\\\\Huawei\\\\DevEco Studio 3.1.0.200\\\\bin目录下右键devecostudio64.exe文件,发送到桌面快捷方式,以便于能够快速打开。

由于官方保密协议限制,关于本地模拟器内容暂不分享,请自行体验

2 端云一体化

之前本人在OpenHarmony/HarmonyOS应用程序中集成了AppGallery Connect中的认证服务做应用程序的登录入口,而HarmonyOS 3.1 Beta1更进一步提升了开发体验,依托AppGakkery Connect的Serverless云服务开放接口,通过DevEco Studio的云开发能力,开发者可以在创建工程时通过选择云开发模板,即可体验端云一体化协同开发,关于端云一体化详细介绍可参见端云一体化开发,这里关于概念性的不在赘述。

2.1 创建端云一体化示例应用

使用DevEco Studio创建端云一体化示例应用程序HelloCloud,选择模板为Empty Ability with CloudDev。

端云一体化需要关联云开发资源,需要在DevEco Studio中使用已实名认证的华为开发者账号登录。

登录完成后在Team下拉框中选择开发团队,若提示以下错误信息,则说明未在AppGallery Connect中创建对应的应用,因此需要先去AppGallery Connect中创建对应的应用。点击错误信息中的AppGallery Connect链接跳转到创建应用界面。

首先添加一个项目,然后添加一个应用,配置如下:

在AppGallery Connect中创建应用完成后,回到DevEco Studio创建工程向导,工程向导会自动查询该组织下,包名下的云端相匹配的应用信息。

HelloCloud工程创建完成后,在主界面Project页签中会显示详细工程目录,包括端开发工程(Application)、云开发工程(CloudProgram)、端侧公共库(External Libraries)。

  • 端开发工程主要用于开发应用端侧业务代码;
  • 云开发工程主要用于为端侧应用用到的云函数、云数据库等。
    • clouddb:云数据库工程目录
    • cloudfunctions:云函数工程目录

创建端云一体化应用程序并关联云开发资源后,DevEco Studio会自动初始化配置并开启云开发相关服务,如认证服务、云函数、云数据库、云托管、API网关。服务开通状态可在Event Log窗口查看,也可以在AppGallery Connect控制台查看。

相较于我之前发布的集成AppGallery Connect认证服务实现登录而言,端云一体化开发更加便捷,创建应用完成后会端侧应用自动集成agconnect-services.json配置文件以及相关云服务最新版本HarmonyOS SDK,云端自动集成云数据库SDK。

2.2 端云一体化开发体验

使用端云一体化开发,可以让团队协同开发更简单,同时可以更大程度节省企业开发成本。接下来以云函数为例,更多请参见官网。

2.2.1 创建云函数

打开云端工程,在cloudfunctions目录右键选择New --> Cloud Function,输入云函数名称,自动生成ts文件。

云函数创建完成后需要在function-config.json函数配置文件中配置触发器(会自动完成HTTP触发器配置),当前可配置HTTP、CLOUDDB、AUTH、CLOUDSTORAGE、CRON五种触发器,每种触发器配置规则不同。HTTP触发器属性如下所示:

参数 说明
type 触发器类型,配置为"http"
enableUriDecode 触发器是否启用decode。true:启用;false:不启用。
authFlag 是否鉴权,默认为true。
authAlgor 鉴权算法,默认为HDA-System。
authType HTTP触发器的认证类型。apigw-client:API客户端鉴权(Client)端适用。cloudgw-client:API客户端鉴权(Server端适用)。

在函数入口文件addition-test.ts中完善函数业务逻辑。

// myHandler为入口方法名称// event 调用方法传递的事件对象,JSON格式// context 函数运行时上下文对象,封装了日志接口、回调接口、环境变量env对象等// callback 事件处理结果// logger 记录日志letmyHandler =asyncfunction(event, context, callback, logger){// do something hereletres =newcontext.HTTPResponse({"faas-content-type":"json"},"application/json","200");varbody = {code:0,message:"",data:null}var_body =JSON.parse(event.body);varusername = _body.username;varpassword = _body.password;if(username !=='admin') { body.code =10001; body.message ="账号不存在!"; }elseif(username ==='admin'&& password !=='123456') { body.code =10002; body.message ="密码错误!"; }else{ body.code =200; body.message ="登录成功!"; body.data = {username: username } } res.body = body; callback(res); };export{ myHandler };

2.2.2 部署函数

完善函数代码之后,可以将函数部署到AppGallery Connect控制台,支持单个部署和批量部署。其中单个部署选中具体需要部署的函数,批量部署则选中cloudfunctions目录,右键选择Deploy Function进行部署。

部署完成后,可在AppGallery Connect控制台中云函数服务页面查看。

2.2.3 编写运行测试示例

ets/services目录下编写云函数回调方法:

// services/ArgAlgFunc.tsimportagconnectfrom'@hw-agconnect/api-ohos';import"@hw-agconnect/function-ohos";import{ getAGConnect }from'./AgcConfig';exportfunctionlogin(context, reqBody:any):Promise<any>{returnnewPromise((resolve, reject) =>{ getAGConnect(context);letfunctionResult;letfunctionCallable = agconnect.function().wrap('argalg-$latest'); functionCallable.call(reqBody).then((ret:any) =>{ functionResult = ret.getValue(); resolve(functionResult); }).catch((error:any) =>{ reject(error); }) }) }

ets/pages目录下构建调用云函数页面:

import{ login }from'../services/ArgAlgFunc';importpromptfrom'@system.prompt';@Entry@Componentstruct ArgAlg {@Stateresult:string="";@Stateusername:string="";@Statepassword:string=""; getFunctionResult =() =>{letreqBody = {"username":this.username,"password":this.password } login(getContext(this), reqBody).then((ret) =>{this.result =JSON.stringify(ret)if(ret.body.code ===200) { prompt.showToast({message:`登录成功,当前账号为:${ret.body.data.username}`,duration:5000}) }else{ prompt.showToast({message:`登录失败,原因为:${ret.body.message}`,duration:5000}) } }).catch((err) =>{this.result =JSON.stringify(err); prompt.showToast({message:`出现异常,原因为:${err}`,duration:5000}) }) }build(){Column(){ TextInput({placeholder:'请输入用户名'}) .fontSize(16).placeholderFont({size:16}) .onChange((value:string) =>{this.username = value; }) TextInput({placeholder:'请输入密码'}) .fontSize(16).placeholderFont({size:16}) .onChange((value:string) =>{this.password = value; }) Button('登录') .width(200).height(54) .fontSize(16) .onClick(() =>{this.getFunctionResult(); }) Text(`Info:${this.result}`).fontSize(16) } .width('100%').height('100%') .padding({top:16}) } }

注:需要更改EntryAbility.tsonWindowStageCreate()方法中初始加载页面为pages/ArgAlg。切记在调用云函数的时候,需要发布一个正式版本才能够响应。

2.3 运行效果

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 函数
    +关注

    关注

    3

    文章

    4220

    浏览量

    61874
  • 模拟器
    +关注

    关注

    2

    文章

    851

    浏览量

    42953
  • 云服务
    +关注

    关注

    0

    文章

    781

    浏览量

    38752
  • HarmonyOS
    +关注

    关注

    79

    文章

    1944

    浏览量

    29683
  • OpenHarmony
    +关注

    关注

    25

    文章

    3518

    浏览量

    15648
收藏 人收藏

    评论

    相关推荐

    智易申请】一体化机柜监控设计

    申请理由:申请开发板设计机柜监控系统,曾今设计过智能电表,无线多路抢答 ,多旋翼飞行 等,参加过电子设计国赛省赛,光电设计大赛,等。项目描述:如今设备都朝 一体化,智能 的方向发展,机柜
    发表于07-23 12:15

    什么是机电一体化

    机电 一体化http://www.gooxian.com/article/show-1823.htm就是“利用电子、信息(包括传感 、控制、计算机等)技术使机械柔性 和智能 ”的技术
    发表于08-29 09:06

    机电一体化系统

    如图1.1所示,机电 一体化系统与灵活性和智能型最强的人体相对应,由如下5个要素构成; 1) 机械装置:能够实现某种运动的机构(相当于人类的骨骼)。2) 执行装置:驱动机械装置运动的部分(相当于人类
    发表于08-29 09:11

    手把手教你使用HarmonyOS本地模拟器

    2021年的华为开发者大会(HDC2021)上,我们随DevEco Studio 3.0 Beta1发布首次推出了 本地 模拟器(也称为Local Emulator),支持
    发表于02-17 16:58

    DevEco Studio3.1Beta1发布——新增六大关键特性,开发更高效

    智能代码编辑、 一体化开发、低代码开发个性 ……六大新增关键特性,开发更高效,体验更觉妙!立即点击链接下载,做DevEco Studio 3.1
    发表于02-24 11:22

    #DevEco Studio3.1Beta1更新—支持本地模拟器【API9】

    将用到的工具和各种SDK放在同 个文件夹,更方便寻找和管理【不建议使用中文名称,避免以后可能会出现该部分不适配】三、 本地 模拟器安装首先需要创建 个工程,进入工程界面此时点击设备管理,进
    发表于02-27 15:47

    DevEco Studio3.1Beta新特性知多少

    协同开发 DevEco Studio提供的 一体化开发功能,支持 侧、 侧协同开发。工程管理提供了向导式的
    发表于04-23 11:06

    HarmonyOS应用一体化开发主要流程

    图示 *附件: HarmonyOS应用 一体化开发主要流程.docx
    发表于05-19 14:27

    HarmonyOS元服务一体化开发快速入门(上)

    大小不能超过10MB。 三、配置工程信息 1.在工程配置界面,配置工程的基本信息。 点击“Next”,开始关联 开发资源。 *附件: HarmonyOS元服务
    发表于06-14 17:10

    HarmonyOS元服务一体化开发快速入门(下)

    服务(认证服务、 函数、 存储)最新版本 HarmonyOSSDK,同时会自动集成 一体化登录
    发表于06-15 15:52

    鸿蒙原生应用/元服务开发-新版本一体化模板体验反馈

    Ability模板即可。 三、体验 新增: 最新 一体化新增“ 数据库
    发表于12-05 14:57

    HarmonyOS本地模拟器重磅来袭!

    模拟器和超级终端 模拟器。 我们根据开发者多样 的需求,不断地丰富 模拟器 模拟的产品品类,助力 Harmon
    的头像 发表于10-30 09:16 5863次阅读
    <b class='flag-5'>HarmonyOS</b><b class='flag-5'>本地</b><b class='flag-5'>模拟器</b>重磅来袭!

    HarmonyOS中DevEco Studio本地模拟器体验

    在 HDC2021 技术论坛上提出的 HarmonyOS新特性中 本地 模拟器亮相,很让我激动。 模拟器作为 个应用开发者在使用 IDE 进行代
    的头像 发表于11-10 09:31 2993次阅读
    <b class='flag-5'>HarmonyOS</b>中DevEco Studio<b class='flag-5'>本地</b><b class='flag-5'>模拟器</b>体验

    浅析初次使用DevEco Studio本地模拟器后的体验

    在 HDC2021 技术论坛上提出的 HarmonyOS新特性中 本地 模拟器亮相,很让我激动。 模拟器作为 个应用开发者在使用 IDE 进行代
    的头像 发表于12-03 09:13 3542次阅读
    浅析初次使用DevEco Studio<b class='flag-5'>本地</b><b class='flag-5'>模拟器</b>后的体验

    HarmonyOS本地模拟器的版本演进与使用方法

    2021年的华为开发者大会(HDC2021)上,我们随DevEco Studio 3.0 Beta1发布首次推出了 本地 模拟器(也称为Local Emulator),支持
    的头像 发表于02-25 13:03 5983次阅读
    <b class='flag-5'>HarmonyOS</b><b class='flag-5'>本地</b><b class='flag-5'>模拟器</b>的版本演进与使用方法