[文章]

HarmonyOS应用开发-分布式任务调度

2020-9-18 09:21:25  344 HarmonyOS 应用开发 分布式任务
分享
2
1. 介绍本篇CodeLab将实现的内容HarmonyOS是面向全场景多终端的分布式操作系统,使得应用程序的开发打破了智能终端互通的性能和数据壁垒,业务逻辑原子化开发,适配多端。通过一个简单应用开发,体验HarmonyOS的分布式任务调度。
您将建立什么在这个CodeLab中,你将创建DemoProject,并将Demo编译成HAP,此示例应用程序展示了如何使用分布式任务调度。
您将会学到什么

  • 如何创建一个HarmonyOS     Demo Project
  • 如何构建一个HAP并且将其部署到智慧屏真机
  • 通过此示例应用体验如何使用分布式任务调度
2. 您需要什么硬件要求

  • 操作系统:Windows10     64位
  • 内存:8G及以上
  • 硬盘:100g及以上
  • 分辨率:1280*800及以上
软件要求

  • 安装DevEco     Studio和Node.js,详情请参考下载和安装软件
  • 设置DevEco     Studio开发环境,DevEco     Studio开发环境需要依赖于网络环境,需要连接上网络才能确保工具的正常使用,可以根据如下两种情况来配置开发环境
         1. 如果可以直接访问Internet,只需进行下载HarmonyOS SDK操作
         2. 如果网络不能直接访问Internet,需要通过代理服务器才可以访问,请参考配置开发环境
需要的知识点

  • Java基础开发能力。
3. 能力接入准备实现HarmonyOS应用开发,需要完成以下准备工作:

  • 创建TV的工程
  • 准备密钥和证书请求文件
  • 申请调试证书
  • 应用开发
具体操作,请按照《DevEcoStudio使用指南》中详细说明来完成。
4. 代码编写分布式任务调用代码参考:
  1. Intent intent = new Intent();
  2. // BUNDLE_NAME和ABILITY_NAME对应开发者需要进行分布式任务调度的Ability信息
  3. Operation operation = new Intent.OperationBuilder()
  4.     .withDeviceId(info.getDeviceId())
  5.     .withBundleName(BUNDLE_NAME)
  6.     .withAbilityName(ABILITY_NAME)
  7.     .withFlags(Intent.FLAG_ABILITYSLICE_MULTI_DEVICE)
  8.     .build();
  9. intent.setOperation(operation);
  10. try {
  11.     // FLAGS_TO_QUERY和USERID_TO_QUERY分别对应查询ability的flags和userid,具体可以参考API-DOC
  12.     List<AbilityInfo> abilityInfos = getBundleManager().queryAbilityByIntent(intent, 0, 0);
  13.     if (abilityInfos != null && !abilityInfos.isEmpty()) {
  14.         startAbility(intent);
  15.     }
  16. } catch (RemoteException re) {
  17.     HiLog.error(TAG, "RemoteException");
  18. }
复制代码
提示:以上代码仅demo演示参考使用
5. 编译运行通过hdc连接大屏设备先查看智慧屏IP:大屏设置->"网络与连接"->"网络"->"无线网络"

在cmd或者IDE的Terminal输入命令
  1. hdc tconn 192.168.xxx.xxx:5555
复制代码

运行
111.png

6. 恭喜您您已经成功完成了HarmonyOS应用开发体验,学到了:

  • 如何创建一个HarmonyOS     Demo Project
  • 如何构建一个HAP并且将其部署到真机上
  • 在HarmonyOS上如何使用分布式任务调度能力


贾小龙 2020-9-18 12:48:11
正好趁周末学习一下
回复

举报

评论

您需要登录后才可以回帖 登录 | 注册

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
发文章