如何在DAYU800上创建第一个OpenHarmony应用 原创
如何在DAYU800上创建第一个OpenHarmony应用
第一步获取开发板
为了以赛促学,更好的学习OpenHarmony,大家可以在这儿报名参赛https://competition.atomgit.com/competitionInfo?id=107cf210e30c11ed8beef50cefdf1cc2
然后下载申请书https://atomgit.com/lianzhian/RISC-V_OpenHarmony/tree/master/填写申请书。
具体的报名流程请查看
https://ost.51cto.com/posts/27586
项目通过审核后,会有赛事小助手邮寄开发板(17752170152)。
第二步组装
关于DAYU800的组装,请查看
DAYU800装机指导
https://ost.51cto.com/resource/3067
如果大家有支架的话,推荐大家将支架也同样的进行安装
DAYU800支架安装
https://ost.51cto.com/resource/3068
DAYU800资料
https://gitee.com/hihope_iot/DAYU800
第三步开发
这个时候开发板组装完成,也通上电了。就可以进行开发了。
只需要这一根线和开发板连接就好。
3.1下载配套的IDE
这里我给我我使用的IDE下载地址:
HUAWEI DevEco Studio4.0Release下载链接
以及官方的下载地址:https://developer.harmonyos.com/cn/develop/deveco-studio/#download
3.2创建工程
点击Finish完成之后,等依赖加载完毕。
3.3编译安装到DAYU800
真机连接之后,IDE上就可以发现设备。
签名
自动签名就好
然后我们点击运行
就可以在真机上看到效果啦。
然后大家就可以正常的去在开发板上创作啦。
屏幕分辨率
import common from '@ohos.app.ability.common';
@Entry
@Component
struct Index {
@State message: string = 'Hello World';
build() {
Row() {
Column() {
Text(this.message)
.fontSize(50)
.fontWeight(FontWeight.Bold).onClick(() => {
let context = getContext(this) as common.UIAbilityContext;
let screenDensity = context.config.screenDensity;
this.message = JSON.stringify(screenDensity)
})
}
.width('100%')
}
.height('100%')
}
}
运行效果
获取屏幕属性
这一篇文章主要是为了获取到屏幕属性之后,方便没有预览器的同学使用
完整源码
import common from '@ohos.app.ability.common';
import display from '@ohos.display';
@Entry
@Component
struct Index {
@State message: string = 'Hello World';
@State display: string = '屏幕属性';
build() {
Row() {
Column() {
Text(this.display).fontSize(36)
.fontWeight(FontWeight.Bold)
.onClick(() => {
let displayClass = null;
let promise = display.getAllDisplays();
promise.then((data) => {
displayClass = data;
console.info('Succeeded in obtaining all the display objects. Data: ' + JSON.stringify(data));
this.display = JSON.stringify(data)
}).catch((err) => {
console.error('Failed to obtain all the display objects. Code: ' + JSON.stringify(err));
});
})
}
.width('100%')
}
.height('100%')
}
}
返回的参数说明
名称 | 类型 | 可读 | 可写 | 说明 |
---|---|---|---|---|
id | number | 是 | 否 | 显示设备的id号,该参数应为整数。 |
name | string | 是 | 否 | 显示设备的名称。 |
alive | boolean | 是 | 否 | 显示设备是否启用。 |
state | DisplayState | 是 | 否 | 显示设备的状态。 |
refreshRate | number | 是 | 否 | 显示设备的刷新率,该参数应为整数。 |
rotation | number | 是 | 否 | 显示设备的屏幕旋转角度。 值为0时,表示显示设备屏幕旋转为0°; 值为1时,表示显示设备屏幕旋转为90°; 值为2时,表示显示设备屏幕旋转为180°; 值为3时,表示显示设备屏幕旋转为270°。 |
width | number | 是 | 否 | 显示设备的宽度,单位为像素,该参数应为整数。 |
height | number | 是 | 否 | 显示设备的高度,单位为像素,该参数应为整数。 |
densityDPI | number | 是 | 否 | 显示设备的屏幕密度,表示每英寸点数。该参数为浮点数,一般取值160.0、480.0等。 |
orientation | Orientation | 是 | 否 | 表示屏幕当前显示的方向。 |
densityPixels | number | 是 | 否 | 显示设备的逻辑密度,是像素单位无关的缩放系数。该参数为浮点数,一般取值1.0、3.0等。 |
scaledDensity | number | 是 | 否 | 显示设备的显示字体的缩放因子。该参数为浮点数,通常与densityPixels相同。 |
xDPI | number | 是 | 否 | x方向中每英寸屏幕的确切物理像素值,该参数为浮点数。 |
yDPI | number | 是 | 否 | y方向中每英寸屏幕的确切物理像素值,该参数为浮点数。 |
返回的数据
[{
"id": 0,
"width": 800,
"height": 1280,
"refreshRate": 66,
"name": "display_0",
"alive": true,
"state": 0,
"rotation": 0,
"densityDPI": 240,
"densityPixels": 1.5,
"scaledDensity": 1.5,
"xDPI": 0,
"yDPI": 0
}]
运行后在屏幕上的展示
参考
https://docs.openharmony.cn/pages/v4.0/zh-cn/application-dev/reference/apis/js-apis-display.md/
如何使用预览器
针对目前还没有拿到开发板的同学,我们可以使用预览器先进行开发,等开发板,拿到手之后,我们就可以冲刺啦。
接下来我们来看一下如何设置,
第一步打开预览器
点击右侧previewer
第二步,点击New Profile
然后填写相关参数,如图所示。
这些数据是如何获得的呢?
创建完成之后,我们就可以在列表里看到了,
然后可以先用预览器调试。