发布时间:2023-01-17 10:30
✨传送门
官网: 鸿蒙应用开发官网
工具: DevEco Studio 最新版本迭代地址;DevEco使用文档
教程: 官方教程基础、进阶、高级
社区: 官方合作技术社区
(PS,学习完毕,通过考试还能得到下面这种小证书)
华为的基本理念就是:多设备,All in one!
华为看到了未来,以后的交互方式发展不限于鼠标键盘点击手写笔,探索不同设备间的碰撞,掌握未来发展市场,华为这方面也算是掌握先机
而且工程师解释了为啥说前端开发体验相对较好,实时反馈是其中优点之一。后端需要较长编译等流程可视化也相对较差,鸿蒙DevEco可以支持多设备不同呈现,分布式多设备调试,而且实时反馈,可以说十分良心了。
DevEco([daɪv][i'kou]) ,是华为消费者业务为开发者提供的集成开发环境,旨在帮助开发者快捷、方便、高效使用华为EMUI开放能力。
SDK对应的工具链(SDK Tools)和预览器:
1. Toolchains:SDK工具链,HarmonyOS应用开发必备工具集,包括编译、打包、签名、数据库管理等工具的集合,首次下载SDK时默认下载。
2. Previewer:Lite Wearable预览器,在开发过程中可以动态预览Lite Wearable应用的界面呈现效果,默认不自动下载,需手动勾选下载。
HarmonyOS提供了两种FA(Feature Ability)的UI开发框架:Java UI框架和JS UI框架。
比较项 |
Java UI框架 |
JS UI框架 |
---|---|---|
语言生态 |
Java |
JS |
接口方式 |
命令式 |
声明式 |
执行方式 |
开发者处理,基于API驱动的UI变更 |
框架层处理,基于数据驱动的UI自动变更 |
系统支持性 |
只有大型系统支持 |
覆盖平台更广,轻量系统、小型系统、标准系统、大型系统都支持 |
相对优势 |
UI元素更丰富,开发更灵活 |
轻量化,开发更简便 |
1.打开DevEco Studio,点击Create HarmonyOS Project,创建一个新工程。
2.选择设备类型和模板,以Phone为例,选择Empty Feature Ability(Java),点击Next。
在Java UI框架中,提供了两种编写布局的方式:在XML中声明UI布局和在代码中创建布局。正常后端开发的都应该直接代码舒服些;
第一次创建要加载相关资源文件、Gradle工具什么的需要一点时间。
此时可以更改下gradle的安装位置,和IDEA一样的,配置在自己需要的地方;
文件目录如下,工程模块Hap 分为Entry和Feature两种类型; Entry主模块,一个。Feature可以有也可以没有;每个hap包括{ablities、libs、resources、config.json}
设备管理可以登录华为账号,
主页面添加跳转按钮;
public class MainAbilitySlice extends AbilitySlice {
@Override
public void onStart(Intent intent) {
super.onStart(intent);
super.setUIContent(ResourceTable.Layout_main_ability_slice);
initComponents();
}
private void initComponents() {
Button button = (Button) findComponentById(ResourceTable.Id_button);
button.setClickedListener(listener -> present(new SecondAbilitySlice(), new Intent()));
}
}
点击跳转的页面------------------------------------------
public class SecondAbilitySlice extends AbilitySlice {
@Override
public void onStart(Intent intent) {
super.onStart(intent);
DependentLayout myLayout = new DependentLayout(this);
myLayout.setWidth(MATCH_PARENT);
myLayout.setHeight(MATCH_PARENT);
ShapeElement element = new ShapeElement();
myLayout.setBackground(element);
Text text = new Text(this);
text.setText("你好,华为鸿蒙!");
text.setWidth(MATCH_PARENT);
text.setTextSize(80);
text.setTextColor(Color.BLACK);
DependentLayout.LayoutConfig textConfig = new DependentLayout.LayoutConfig(MATCH_CONTENT, MATCH_CONTENT);
textConfig.addRule(DependentLayout.LayoutConfig.CENTER_IN_PARENT);
text.setLayoutConfig(textConfig);
myLayout.addComponent(text);
super.setUIContent(myLayout);
}
下一章:
Bug解决:
1.解决Gradle下载失败
Gradle版本下载问题可以,打开默认路径 默认目录:C:\Users\用户\.gradle\wrapper\dists\gradle-6.3-all\b4awcolw9l59x95tu1obfh9i8,网上官网下载好的zip文件替换,重启软件即可。
2.解决SDK安装失败问题
换一个路径,可能路径存在中文或者偶尔有些玄学的原因。。所以换个路径新建文件夹也行;