Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
易拉罐小皮
鸿蒙开发指南
提交
657cdce5
鸿
鸿蒙开发指南
项目概览
易拉罐小皮
/
鸿蒙开发指南
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
鸿
鸿蒙开发指南
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
657cdce5
编写于
9月 10, 2020
作者:
唐门教主
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add new file
上级
0314b419
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
144 addition
and
0 deletion
+144
-0
HarmonyOS应用开发-分布式任务调度.md
HarmonyOS应用开发-分布式任务调度.md
+144
-0
未找到文件。
HarmonyOS应用开发-分布式任务调度.md
0 → 100644
浏览文件 @
657cdce5
# 一、介绍
**本篇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
```
go
List
<
DeviceInfo
>
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
<
AbilityInfo
>
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. 响应遥控器按键事件
```
go
@
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. 响应遥控器点击
```
go
@
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:
```
go
大屏设置
->
"网络与连接"
->
"网络"
->
"有线网络"
```
在cmd或者IDE的Terminal输入命令:
```
go
hdc
tconn
192.168.3.9
:
5555
```
运行hap
![
在这里插入图片描述
](
https://img-blog.csdnimg.cn/20200907163042484.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80ODMwNDU3Mw==,size_16,color_FFFFFF,t_70#pic_center
)
# 五、恭喜你
干得好,你已经成功完成了HarmonyOS应用开发E2E体验,学到了:
-
如何创建一个HarmonyOS Demo Project
-
如何构建一个Hap并且将其部署到真机上
-
在HarmonyOS上如何使用HarmonyOS的分布式任务调度的能力
[
【如果您想学习HarmonyOS 应用开发基础教程 请猛戳】
](
https://codechina.csdn.net/huawei/harmonyos/HarmonyOS-Guide
)
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录