HarmonyOS分布式Demo,鸿蒙HarmonyOS 分布式任务调度的实现

感谢关注HarmonyOS,为了便于大家学习特将鸿蒙2.0基础教学内容整理如下:

1、HarmonyOS应用开发―视频播放

https://developer.huawei.com/consumer/cn/codelab/HarmonyOS-hap1/index.html#0

2、HarmonyOS应用开发―基本控件

https://developer.huawei.com/consumer/cn/codelab/HarmonyOS-hap2/index.html#0

3、HarmonyOS应用开发―UI开发与预览

https://developer.huawei.com/consumer/cn/codelab/HarmonyOS-ui/index.html#0

4、HarmonyOS应用开发―设备虚拟化特性开发

https://developer.huawei.com/consumer/cn/codelab/HarmonyOS-screenhardware/index.html#0

5、HarmonyOS应用开发―HelloWorld应用开发E2E体验

https://developer.huawei.com/consumer/cn/codelab/HarmonyOS-HelloWorld/index.html#0

6、HarmonyOS应用开发―有界面元程序交互

https://developer.huawei.com/consumer/cn/codelab/HarmonyOS-hap6/index.html#0

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

https://developer.huawei.com/consumer/cn/codelab/HarmonyOS-hap5/index.html#0

8、HarmonyOS应用开发―剪切板

https://developer.huawei.com/consumer/cn/codelab/HarmonyOS-hap4/index.html#0

9、HarmonyOS应用开发―应用偏好数据读写

https://developer.huawei.com/consumer/cn/codelab/HarmonyOS-hap3/index.html#0

以下为HarmonyOS应用开发-分布式任务调度节选部分,如想进一步了解,请点击:HarmonyOS应用开发-分布式任务调度

一、介绍

本篇Codelab将实现的内容

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

您将建立什么

在这个Codelab中,你将创建Demo Project,并将Demo编译成Hap,此示例应用程序展示了如何使用分布式任务调度。

您将会学到什么

1.如何创建一个HarmonyOS Demo Project

2.如何构建一个Hap并且将其部署到智慧屏真机

3.通过此示例应用体验如何使用分布式任务调度

二、您需要什么

1. 硬件要求

操作系统:Windows10 64位

内存:8G及以上。

硬盘:100G及以上。

分辨率:1280*800及以上

2. 软件要求

需手动下载安装,详细步骤请参考《DevEco Studio使用指南》2.1.2

JDK:DevEco Studio自动安装。

Node.js:请手动下载安装,详细步骤请参考《DevEco Studio使用指南》2.1.3 下载和安装Node.js。

HarmonyOS SDK:待DevEco Studio安装完成后,利用DevEco Studio来加载HarmonyOS SDK。详细步骤请参考《DevEco Studio使用指南》2.1.6 加载HarmonyOS SDK。

Maven库依赖包:如需手动拷贝和配置,详细步骤请参考《DevEco Studio使用指南》2.3 离线方式配置Maven库。

3. 需要的知识点

Java基础开发能力。

三、能力接入准备

实现HarmonyOS应用开发,需要完成以下准备工作:

1.环境准备。

2.环境搭建。

3.创建项目

4.申请调试证书

5.应用开发

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

提示:需要通过注册成开发者才能完成集成准备中的操作。

四、代码片段

1. 分布式startAbility关键代码:

创建播放视频的Ability

List deviceInfoListOnline = DeviceManager.getDeviceList(DeviceInfo.FLAG_GET_ONLINE_DEVICE);

Log.hiLog("getDmsDeviceList size:" + deviceInfoListOnline.size());

if (deviceInfoListOnline.size() > 0) {

for(DeviceInfo info:deviceInfoListOnline) {

intent = new Intent();

intent.addFlags(Intent.FLAG_ABILITYSLICE_MULTI_DEVICE);

element = new ElementName(info.getDeviceId(), ZZ_PACKAGE, ZZ_FA_NAME);

intent.setElement(element);

List abilityInfos = null;

try {

abilityInfos = abilityInfos = getBundleManager().queryAbilityByIntent(intent, 0, 0);

} catch (RemoteException e) {

e.printStackTrace();

}

if (abilityInfos == null || abilityInfos.size() == 0) {

Log.hiLog("abilityInfos size:0");

}

startAbility(intent);

}

}

static final private String ZZ_PACKAGE = "你的包名";

static final private String ZZ_FA_NAME = "你的Ability完整路径";

2. 响应遥控器按键事件

@Override

public boolean onKeyUp(int keyCode, KeyEvent keyEvent) {

Log.hiLog("onKeyUp:" + keyCode);

switch (keyCode) {

case KeyEvent.KEY_DPAD_CENTER:

case KeyEvent.KEY_ENTER:

//增加你的代码

return true;

default:

break;

}

return false;

}

3. 响应遥控器点击

@Override

public boolean onKeyUp(int keyCode, KeyEvent keyEvent) {

switch (keyCode) {

case KeyEvent.KEY_DPAD_CENTER:

case KeyEvent.KEY_ENTER:

playBtn.performClick();

return true;

default:

break;

}

return false;

}

4. 编译运行该应用

通过hdc连接大屏设备

先查看智慧屏IP:

大屏设置->"网络与连接"->"网络"->"有线网络"

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

hdc tconn 192.168.3.9:5555

运行hap

051771cb375c01dd456ba7cbd1929a1a.png

到此这篇关于鸿蒙HarmonyOS 分布式任务调度的实现的文章就介绍到这了,更多相关HarmonyOS 分布式任务调度内容请搜索云海天教程以前的文章或继续浏览下面的相关文章希望大家以后多多支持云海天教程!

原文链接:https://blog.csdn.net/weixin_48304573/article/details/108465451

参与评论 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:游动-白 设计师:我叫白小胖 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值