鸿蒙APP开发学习-HarmonyOS(1)

发布时间:2023-01-17 10:30

✨传送门 ‍‍


官网:   鸿蒙应用开发官网

工具: DevEco Studio 最新版本迭代地址DevEco使用文档

教程: 官方教程基础、进阶、高级

社区: 官方合作技术社区

(PS,学习完毕,通过考试还能得到下面这种小证书)

鸿蒙APP开发学习-HarmonyOS(1)_第1张图片

 1,鸿蒙系统开发基础

华为的基本理念就是:多设备,All in one!

华为看到了未来,以后的交互方式发展不限于鼠标键盘点击手写笔,探索不同设备间的碰撞,掌握未来发展市场,华为这方面也算是掌握先机

而且工程师解释了为啥说前端开发体验相对较好,实时反馈是其中优点之一。后端需要较长编译等流程可视化也相对较差,鸿蒙DevEco可以支持多设备不同呈现,分布式多设备调试,而且实时反馈,可以说十分良心了。

鸿蒙APP开发学习-HarmonyOS(1)_第2张图片

DevEco([daɪv][i'kou]) ,是华为消费者业务为开发者提供的集成开发环境,旨在帮助开发者快捷、方便、高效使用华为EMUI开放能力。 

SDK对应的工具链(SDK Tools)和预览器:
    1. Toolchains:SDK工具链,HarmonyOS应用开发必备工具集,包括编译、打包、签名、数据库管理等工具的集合,首次下载SDK时默认下载。
    2. Previewer:Lite Wearable预览器,在开发过程中可以动态预览Lite Wearable应用的界面呈现效果,默认不自动下载,需手动勾选下载。

鸿蒙APP开发学习-HarmonyOS(1)_第3张图片

 上手Demo

HarmonyOS提供了两种FA(Feature Ability)的UI开发框架:Java UI框架和JS UI框架。

比较项

Java UI框架

JS UI框架

语言生态

Java

JS

接口方式

命令式

声明式

执行方式

开发者处理,基于API驱动的UI变更

框架层处理,基于数据驱动的UI自动变更

系统支持性

只有大型系统支持

覆盖平台更广,轻量系统、小型系统、标准系统、大型系统都支持

相对优势

UI元素更丰富,开发更灵活

轻量化,开发更简便

  1. 创建和运行Hello World

    1.打开DevEco Studio,点击Create HarmonyOS Project,创建一个新工程。

    2.选择设备类型和模板,以Phone为例,选择Empty Feature Ability(Java),点击Next。
    鸿蒙APP开发学习-HarmonyOS(1)_第4张图片

    在Java UI框架中,提供了两种编写布局的方式:在XML中声明UI布局在代码中创建布局。正常后端开发的都应该直接代码舒服些;

  2.  第一次创建要加载相关资源文件、Gradle工具什么的需要一点时间。
    此时可以更改下gradle的安装位置,和IDEA一样的,配置在自己需要的地方;鸿蒙APP开发学习-HarmonyOS(1)_第5张图片

  3. 文件目录如下,工程模块Hap 分为Entry和Feature两种类型; Entry主模块,一个。Feature可以有也可以没有;每个hap包括{ablities、libs、resources、config.json}
    鸿蒙APP开发学习-HarmonyOS(1)_第6张图片

    鸿蒙APP开发学习-HarmonyOS(1)_第7张图片

  4. 设备管理可以登录华为账号,

    鸿蒙APP开发学习-HarmonyOS(1)_第8张图片鸿蒙APP开发学习-HarmonyOS(1)_第9张图片

  5. 在DevEco Studio工具栏中的点击启动按钮运行工程,或使用默认快捷键Shift+F10(Mac为Control+R)运行工程。在弹出的Select Deployment Target界面选择已启动的模拟器,点击OK按钮。鸿蒙APP开发学习-HarmonyOS(1)_第10张图片
  6. 开始改代码;
    在“Project”窗口,打开“entry > src > main > java > com.example.myapplication”,右键点击“slice”文件夹,新建一个页面。
    主页面添加跳转按钮;
    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);
        }
    
    鸿蒙APP开发学习-HarmonyOS(1)_第11张图片

 下一章:

Ability概述

Bug解决:

1.解决Gradle下载失败

Gradle版本下载问题可以,打开默认路径 默认目录:C:\Users\用户\.gradle\wrapper\dists\gradle-6.3-all\b4awcolw9l59x95tu1obfh9i8,网上官网下载好的zip文件替换,重启软件即可。

2.解决SDK安装失败问题

换一个路径,可能路径存在中文或者偶尔有些玄学的原因。。所以换个路径新建文件夹也行;

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号