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

killads
发布于 2020-9-11 14:34
浏览
1收藏

1. 介绍


本篇CodeLab将实现的内容

 

HarmonyOS是面向全场景多终端的分布式操作系统,使得应用程序的开发打破了智能终端互通的性能和数据壁垒,业务逻辑原子化开发,适配多端。通过一个简单应用开发,体验HarmonyOS的分布式任务调度。

 

您将建立什么

 

在这个CodeLab中,你将创建Demo Project,并将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应用开发,需要完成以下准备工作:

 

 

具体操作,请按照《DevEco Studio使用指南》中详细说明来完成。

 

4. 代码编写


分布式任务调用代码参考:

 

Intent intent = new Intent();
// BUNDLE_NAME和ABILITY_NAME对应开发者需要进行分布式任务调度的Ability信息
Operation operation = new Intent.OperationBuilder()
    .withDeviceId(info.getDeviceId())
    .withBundleName(BUNDLE_NAME)
    .withAbilityName(ABILITY_NAME)
    .withFlags(Intent.FLAG_ABILITYSLICE_MULTI_DEVICE)
    .build();
intent.setOperation(operation);
try {
    // FLAGS_TO_QUERY和USERID_TO_QUERY分别对应查询ability的flags和userid,具体可以参考API-DOC
    List<AbilityInfo> abilityInfos = getBundleManager().queryAbilityByIntent(intent, 0, 0);
    if (abilityInfos != null && !abilityInfos.isEmpty()) {
        startAbility(intent);
    }
} catch (RemoteException re) {
    HiLog.error(TAG, "RemoteException");
}

 

提示:以上代码仅demo演示参考使用

 

5. 编译运行


通过hdc连接大屏设备


先查看智慧屏IP:大屏设置->"网络与连接"->"网络"->"无线网络"

在cmd或者IDE的Terminal输入命令:

 

hdc tconn 192.168.xxx.xxx:5555

 

运行

 

 HarmonyOS应用开发-分布式任务调度-鸿蒙开发者社区

 

6. 恭喜您


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

 

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

 

 

相关阅读:

 

感谢关注HarmonyOS,如果想学习更多鸿蒙2.0基础教学请点击下面链接
HarmonyOS应用开发 — HelloWorld应用开发E2E体验
https://harmonyos.51cto.com/posts/ids/?id=707

HarmonyOS应用开发-元程序交互
https://harmonyos.51cto.com/posts/ids?id=709

HarmonyOS应用开发-分布式任务调度
https://harmonyos.51cto.com/posts/ids/?id=710

HarmonyOS应用开发-剪切板
https://harmonyos.51cto.com/posts/ids/?id=712

HarmonyOS应用开发-应用偏好数据读写
https://harmonyos.51cto.com/posts/ids/?id=713

HarmonyOS应用开发—UI开发与预览
https://harmonyos.51cto.com/posts/ids/?id=711

HarmonyOS应用开发-基本控件
https://harmonyos.51cto.com/posts/ids/?id=708

HarmonyOS应用开发-视频播放
https://harmonyos.51cto.com/posts/ids/?id=706

HarmonyOS应用开发 — 设备虚拟化特性开发
https://harmonyos.51cto.com/posts/ids?id=714

分类
已于2020-9-11 15:49:34修改
收藏 1
回复
举报
回复
    相关推荐