HarmonyOS应用开发-搭建开发环境

本文介绍如何搭建 HarmonyOS 应用的开发环境,介绍下载安装 DevEco Studio 开发工具和 SDK 的详细流程。华为鸿蒙 DevEco Studio 是面向全场景的一站式集成开发环境,面向全场景多设备,提供一站式的分布式应用开发平台,支持分布式多端开发、分布式多端调测、多端模拟仿真,提供全方位的质量与安全保障。

一、下载安装 DevEco Studio

1、官网下载 DevEco Studio

官网:HUAWEI DevEco Studio和SDK下载和升级 | HarmonyOS开发者
下载 DevEco Studio 3.1.1 Release 最新版本。

1 001 1024x429 - Harmony应用开发-搭建开发环境

下载完成后我们解压压缩包,点击启动exe安装程序。


2、安装 DevEco Studio

启动安装exe程序,进入安装界面欢迎页。
我们点击Next下一步。

1 002 - Harmony应用开发-搭建开发环境

选择安装路径,这里根据大家自己的喜好选择路径安装即可,需要2GB的存储空间。

1 003 - Harmony应用开发-搭建开发环境

下一步,我们勾选 “生成快捷方式” 和 “添加到path环境变量” 。

1 004 - Harmony应用开发-搭建开发环境

这里默认文件夹名,点击安装。

1 005 - Harmony应用开发-搭建开发环境

完成安装,需要对电脑重启。

1 006 - Harmony应用开发-搭建开发环境


二、启动 DevEco Studio

1、安装 Node.js 和 ohpm

首次运行 DevEco Studio 会来到这个页面。
HarmonyOS应用开发需要我们的电脑上安装 Node.js 和 ohpm (鸿蒙生态三方库的包管理工具)
这里华为官方提供了镜像,如果本机上之前没有装过,直接勾选 install 然后下一步即可。

1 007 - Harmony应用开发-搭建开发环境


2、安装HarmonyOS SDK

基础组件安装后,我们需要安装HarmonyOS的SDK。HarmonyOS SDK提供应用及服务开发所需的一系列系统开放能力,包括框架、Ability、分布式服务、安全、方舟编译器、HMS Core、基础软件服务、硬件服务等。

这里选择安装路径即可,我直接默认路径,点击下一步。

1 008 - Harmony应用开发-搭建开发环境

这个页面展示了所有需要安装的包,点击下一步安装。

1 009 - Harmony应用开发-搭建开发环境

几分钟后安装完成。

1 010 - Harmony应用开发-搭建开发环境


三、新建测试项目

1、通过模板创建项目

我们选择 Empty Ability 模板新建一个测试项目。

Empty Ability 模板是一个空白模板,它支持手机、平板、手表等多种鸿蒙终端运行。

1 011 1024x613 - Harmony应用开发-搭建开发环境

2、勾选Stage模式

勾选Stage模式。Satge模式已经是 API 9 之后的默认勾选模式。

1 012 - Harmony应用开发-搭建开发环境

这里科普一下FA模型和Stage模型的区别:

API 8及以前的接口基于FA模型提供;从API 9开始,OpenHarmony主推Stage模型。 FA模型与Stage模型是两套不同的应用模型,他们拥有各自的组件。

  • FA模型:OpenHarmony API 7开始支持的模型,提供三种应用组件,分别是PageAbility、ServiceAbility和DataAbility。
  • Stage模型:OpenHarmony API 9开始新增的模型,是目前主推且会长期演进的模型。在该模型中,由于提供了AbilityStage、WindowStage等类作为应用组件和Window窗口的“舞台”,因此称这种应用模型为Stage模型。提供了两种应用组件,分别是UIAbility和ExtensionAbility。

3、勾选低代码开发选项 

开启Super Visual低代码模式,这可以帮助我们快速建立起一个应用。

1 012 - Harmony应用开发-搭建开发环境

低代码开发是DevEco Studio为HarmonyOS开发者提供的可视化页面的开发方式,具备丰富的UI页面编辑能力,开发者可以在图形化的用户界面上自由拖拽组件、完成数据的参数化配置,还能实时预览开发页面的效果,所见即所得。

低代码开发效果示例:

1 013 1024x691 - Harmony应用开发-搭建开发环境
 

低代码开发为我们开发者提供了UI界面开箱即用的组件,通过简单拖、拉、拽和可视化数据绑定的操作方式,快速开发用户界面。不仅可以减少键入的代码量,降低开发成本,还提升了页面开发效率,助力高效开发。 


 四、运行测试项目

1、创建测试页面

这里我通过低代码组件随便做了一个登录页。我们低代码组件的改动体现在index.visual上。

1 013 1024x691 - Harmony应用开发-搭建开发环境

index.visual代码我提供出来给大家参考:

{
    "document": {
        "VisualVersion": "12",
        "type": "ETS",
        "custom": false,
        "path": "/entry/src/main/supervisual/pages/Index"
    },
    "visualModel": {
        "dataType": "VisualModel",
        "value": {
            "propertyStorage": {
                "dataType": "Map",
                "value": {}
            },
            "dynamicPropertyStorage": {
                "dataType": "Map",
                "value": {}
            },
            "mediaPropertyStorage": {
                "dataType": "Map",
                "value": {}
            },
            "dynamicMediaPropertyStorage": {
                "dataType": "Map",
                "value": {}
            },
            "property": {
                "dataType": "Map",
                "value": {
                    "width": "100%",
                    "height": "100%"
                }
            },
            "dynamicProperty": {
                "dataType": "Map",
                "value": {}
            },
            "children": [
                {
                    "dataType": "VisualModel",
                    "value": {
                        "propertyStorage": {
                            "dataType": "Map",
                            "value": {}
                        },
                        "dynamicPropertyStorage": {
                            "dataType": "Map",
                            "value": {}
                        },
                        "mediaPropertyStorage": {
                            "dataType": "Map",
                            "value": {}
                        },
                        "dynamicMediaPropertyStorage": {
                            "dataType": "Map",
                            "value": {}
                        },
                        "property": {
                            "dataType": "Map",
                            "value": {
                                "width": "100%",
                                "height": "100%",
                                "justify-content-rc": "center",
                                "position": "absolute",
                                "top": "0vp",
                                "left": "0vp",
                                "border-bottom-color": "#4a4a4a",
                                "border-bottom-width": "1vp"
                            }
                        },
                        "dynamicProperty": {
                            "dataType": "Map",
                            "value": {}
                        },
                        "children": [
                            {
                                "dataType": "VisualModel",
                                "value": {
                                    "propertyStorage": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "dynamicPropertyStorage": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "mediaPropertyStorage": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "dynamicMediaPropertyStorage": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "property": {
                                        "dataType": "Map",
                                        "value": {
                                            "position": "absolute",
                                            "top": "95vp",
                                            "width": "100%",
                                            "height": "100vp",
                                            "display-priority": "0",
                                            "align-items-row": "center",
                                            "justify-content-rc": "center"
                                        }
                                    },
                                    "dynamicProperty": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "children": [
                                        {
                                            "dataType": "VisualModel",
                                            "value": {
                                                "propertyStorage": {
                                                    "dataType": "Map",
                                                    "value": {}
                                                },
                                                "dynamicPropertyStorage": {
                                                    "dataType": "Map",
                                                    "value": {}
                                                },
                                                "mediaPropertyStorage": {
                                                    "dataType": "Map",
                                                    "value": {}
                                                },
                                                "dynamicMediaPropertyStorage": {
                                                    "dataType": "Map",
                                                    "value": {}
                                                },
                                                "property": {
                                                    "dataType": "Map",
                                                    "value": {
                                                        "width": "100vp",
                                                        "height": "100vp",
                                                        "align": "center",
                                                        "top": "0vp",
                                                        "background-image-size": "auto",
                                                        "position": "relative",
                                                        "src": "$r('app.media.icon')",
                                                        "left": "0%"
                                                    }
                                                },
                                                "dynamicProperty": {
                                                    "dataType": "Map",
                                                    "value": {}
                                                },
                                                "children": [],
                                                "id": "image1",
                                                "type": "image"
                                            }
                                        }
                                    ],
                                    "id": "row3",
                                    "type": "row"
                                }
                            },
                            {
                                "dataType": "VisualModel",
                                "value": {
                                    "propertyStorage": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "dynamicPropertyStorage": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "mediaPropertyStorage": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "dynamicMediaPropertyStorage": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "property": {
                                        "dataType": "Map",
                                        "value": {
                                            "height": "50vp",
                                            "width": "100%",
                                            "left": "0vp",
                                            "top": "200vp",
                                            "border-top-right-radius": "0vp",
                                            "content": "登录界面",
                                            "font-size": "26fp",
                                            "font-weight": "medium",
                                            "font-family": "sans-serif",
                                            "text-align": "center",
                                            "text-overflow": "clip",
                                            "position": "absolute"
                                        }
                                    },
                                    "dynamicProperty": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "children": [],
                                    "id": "text1",
                                    "type": "text"
                                }
                            },
                            {
                                "dataType": "VisualModel",
                                "value": {
                                    "propertyStorage": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "dynamicPropertyStorage": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "mediaPropertyStorage": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "dynamicMediaPropertyStorage": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "property": {
                                        "dataType": "Map",
                                        "value": {
                                            "height": "30vp",
                                            "width": "100%",
                                            "left": "0vp",
                                            "top": "250vp",
                                            "content": "登录帐号以使用更多服务",
                                            "font-size": "14fp",
                                            "text-align": "center",
                                            "font-color": "#8c8c8c",
                                            "position": "absolute"
                                        }
                                    },
                                    "dynamicProperty": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "children": [],
                                    "id": "text2",
                                    "type": "text"
                                }
                            },
                            {
                                "dataType": "VisualModel",
                                "value": {
                                    "propertyStorage": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "dynamicPropertyStorage": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "mediaPropertyStorage": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "dynamicMediaPropertyStorage": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "property": {
                                        "dataType": "Map",
                                        "value": {
                                            "height": "50vp",
                                            "width": "100%",
                                            "left": "0vp",
                                            "top": "328vp",
                                            "position": "absolute",
                                            "placeholder": "邮箱/手机号/用户名",
                                            "margin-bottom": "0vp",
                                            "padding-top": "0vp",
                                            "border-bottom-width": "1vp",
                                            "border-bottom-color": "#4a4a4a",
                                            "background-color": "#ffffff"
                                        }
                                    },
                                    "dynamicProperty": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "children": [],
                                    "id": "text-input1",
                                    "type": "text-input"
                                }
                            },
                            {
                                "dataType": "VisualModel",
                                "value": {
                                    "propertyStorage": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "dynamicPropertyStorage": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "mediaPropertyStorage": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "dynamicMediaPropertyStorage": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "property": {
                                        "dataType": "Map",
                                        "value": {
                                            "height": "50vp",
                                            "width": "100%",
                                            "left": "0vp",
                                            "top": "380vp",
                                            "position": "absolute",
                                            "placeholder": "密码",
                                            "textInput-type": "Password",
                                            "background-color": "#ffffff",
                                            "border-bottom-width": "1vp",
                                            "border-bottom-color": "#4a4a4a"
                                        }
                                    },
                                    "dynamicProperty": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "children": [],
                                    "id": "text-input2",
                                    "type": "text-input"
                                }
                            },
                            {
                                "dataType": "VisualModel",
                                "value": {
                                    "propertyStorage": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "dynamicPropertyStorage": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "mediaPropertyStorage": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "dynamicMediaPropertyStorage": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "property": {
                                        "dataType": "Map",
                                        "value": {
                                            "position": "absolute",
                                            "top": "430vp",
                                            "left": "5%",
                                            "width": "90%",
                                            "height": "30vp"
                                        }
                                    },
                                    "dynamicProperty": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "children": [
                                        {
                                            "dataType": "VisualModel",
                                            "value": {
                                                "propertyStorage": {
                                                    "dataType": "Map",
                                                    "value": {}
                                                },
                                                "dynamicPropertyStorage": {
                                                    "dataType": "Map",
                                                    "value": {}
                                                },
                                                "mediaPropertyStorage": {
                                                    "dataType": "Map",
                                                    "value": {}
                                                },
                                                "dynamicMediaPropertyStorage": {
                                                    "dataType": "Map",
                                                    "value": {}
                                                },
                                                "property": {
                                                    "dataType": "Map",
                                                    "value": {
                                                        "height": "30vp",
                                                        "width": "50%",
                                                        "position": "absolute",
                                                        "top": "0px",
                                                        "left": "50%",
                                                        "text-align": "end",
                                                        "content": "忘记密码",
                                                        "font-size": "14fp"
                                                    }
                                                },
                                                "dynamicProperty": {
                                                    "dataType": "Map",
                                                    "value": {}
                                                },
                                                "children": [],
                                                "id": "text3",
                                                "type": "text"
                                            }
                                        },
                                        {
                                            "dataType": "VisualModel",
                                            "value": {
                                                "propertyStorage": {
                                                    "dataType": "Map",
                                                    "value": {}
                                                },
                                                "dynamicPropertyStorage": {
                                                    "dataType": "Map",
                                                    "value": {}
                                                },
                                                "mediaPropertyStorage": {
                                                    "dataType": "Map",
                                                    "value": {}
                                                },
                                                "dynamicMediaPropertyStorage": {
                                                    "dataType": "Map",
                                                    "value": {}
                                                },
                                                "property": {
                                                    "dataType": "Map",
                                                    "value": {
                                                        "height": "30vp",
                                                        "width": "50%",
                                                        "text-align": "start",
                                                        "position": "absolute",
                                                        "content": "短信验证码登录",
                                                        "font-size": "14fp",
                                                        "top": "0vp",
                                                        "left": "0%"
                                                    }
                                                },
                                                "dynamicProperty": {
                                                    "dataType": "Map",
                                                    "value": {}
                                                },
                                                "children": [],
                                                "id": "text4",
                                                "type": "text"
                                            }
                                        }
                                    ],
                                    "id": "row1",
                                    "type": "row"
                                }
                            },
                            {
                                "dataType": "VisualModel",
                                "value": {
                                    "propertyStorage": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "dynamicPropertyStorage": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "mediaPropertyStorage": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "dynamicMediaPropertyStorage": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "property": {
                                        "dataType": "Map",
                                        "value": {
                                            "position": "absolute",
                                            "top": "92%",
                                            "left": "5%",
                                            "height": "8%",
                                            "width": "90%"
                                        }
                                    },
                                    "dynamicProperty": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "children": [
                                        {
                                            "dataType": "VisualModel",
                                            "value": {
                                                "propertyStorage": {
                                                    "dataType": "Map",
                                                    "value": {}
                                                },
                                                "dynamicPropertyStorage": {
                                                    "dataType": "Map",
                                                    "value": {}
                                                },
                                                "mediaPropertyStorage": {
                                                    "dataType": "Map",
                                                    "value": {}
                                                },
                                                "dynamicMediaPropertyStorage": {
                                                    "dataType": "Map",
                                                    "value": {}
                                                },
                                                "property": {
                                                    "dataType": "Map",
                                                    "value": {
                                                        "height": "100%",
                                                        "width": "33.3%",
                                                        "position": "absolute"
                                                    }
                                                },
                                                "dynamicProperty": {
                                                    "dataType": "Map",
                                                    "value": {}
                                                },
                                                "children": [],
                                                "id": "text7",
                                                "type": "text"
                                            }
                                        },
                                        {
                                            "dataType": "VisualModel",
                                            "value": {
                                                "propertyStorage": {
                                                    "dataType": "Map",
                                                    "value": {}
                                                },
                                                "dynamicPropertyStorage": {
                                                    "dataType": "Map",
                                                    "value": {}
                                                },
                                                "mediaPropertyStorage": {
                                                    "dataType": "Map",
                                                    "value": {}
                                                },
                                                "dynamicMediaPropertyStorage": {
                                                    "dataType": "Map",
                                                    "value": {}
                                                },
                                                "property": {
                                                    "dataType": "Map",
                                                    "value": {
                                                        "height": "100%",
                                                        "width": "33.4%",
                                                        "position": "absolute"
                                                    }
                                                },
                                                "dynamicProperty": {
                                                    "dataType": "Map",
                                                    "value": {}
                                                },
                                                "children": [],
                                                "id": "text9",
                                                "type": "text"
                                            }
                                        },
                                        {
                                            "dataType": "VisualModel",
                                            "value": {
                                                "propertyStorage": {
                                                    "dataType": "Map",
                                                    "value": {}
                                                },
                                                "dynamicPropertyStorage": {
                                                    "dataType": "Map",
                                                    "value": {}
                                                },
                                                "mediaPropertyStorage": {
                                                    "dataType": "Map",
                                                    "value": {}
                                                },
                                                "dynamicMediaPropertyStorage": {
                                                    "dataType": "Map",
                                                    "value": {}
                                                },
                                                "property": {
                                                    "dataType": "Map",
                                                    "value": {
                                                        "height": "100%",
                                                        "width": "33.3%",
                                                        "text-align": "end",
                                                        "position": "absolute"
                                                    }
                                                },
                                                "dynamicProperty": {
                                                    "dataType": "Map",
                                                    "value": {}
                                                },
                                                "children": [],
                                                "id": "text8",
                                                "type": "text"
                                            }
                                        }
                                    ],
                                    "id": "row2",
                                    "type": "row"
                                }
                            },
                            {
                                "dataType": "VisualModel",
                                "value": {
                                    "propertyStorage": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "dynamicPropertyStorage": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "mediaPropertyStorage": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "dynamicMediaPropertyStorage": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "property": {
                                        "dataType": "Map",
                                        "value": {
                                            "width": "90%",
                                            "height": "40vp",
                                            "label": "登录",
                                            "font-size": "20fp",
                                            "position": "absolute",
                                            "top": "530vp",
                                            "left": "5%"
                                        }
                                    },
                                    "dynamicProperty": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "children": [],
                                    "id": "button1",
                                    "type": "button"
                                }
                            },
                            {
                                "dataType": "VisualModel",
                                "value": {
                                    "propertyStorage": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "dynamicPropertyStorage": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "mediaPropertyStorage": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "dynamicMediaPropertyStorage": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "property": {
                                        "dataType": "Map",
                                        "value": {
                                            "height": "30vp",
                                            "width": "100%",
                                            "content": "注册账号",
                                            "text-align": "center",
                                            "font-size": "14fp",
                                            "position": "absolute",
                                            "top": "570vp",
                                            "left": "0vp"
                                        }
                                    },
                                    "dynamicProperty": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "children": [],
                                    "id": "text5",
                                    "type": "text"
                                }
                            },
                            {
                                "dataType": "VisualModel",
                                "value": {
                                    "propertyStorage": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "dynamicPropertyStorage": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "mediaPropertyStorage": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "dynamicMediaPropertyStorage": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "property": {
                                        "dataType": "Map",
                                        "value": {
                                            "height": "4%",
                                            "width": "100%",
                                            "text-align": "center",
                                            "font-size": "14fp",
                                            "position": "absolute",
                                            "top": "88%",
                                            "left": "0vp",
                                            "content": "其他方式登录",
                                            "align": "center"
                                        }
                                    },
                                    "dynamicProperty": {
                                        "dataType": "Map",
                                        "value": {}
                                    },
                                    "children": [],
                                    "id": "text6",
                                    "type": "text"
                                }
                            }
                        ],
                        "id": "column1",
                        "type": "column"
                    }
                }
            ],
            "id": "wrapper",
            "type": "column"
        }
    },
    "formData": {
        "data": {
            "dataType": "Map",
            "value": {}
        },
        "actions": {
            "dataType": "Map",
            "value": {}
        }
    },
    "customData": {
        "property": {
            "dataType": "Map",
            "value": {}
        },
        "event": {
            "dataType": "Map",
            "value": {}
        }
    }
}

我们点击运行按钮,会让我们选择运行设备,这里的设备都是模拟器,需要安装,我们先进入设备管理器安装设备。

1 014 1024x691 - Harmony应用开发-搭建开发环境

 以上是纯前端,业务逻辑写在在index.ets文件中,这里我们只是测试开发环境可以运行简单应用,所以业务逻辑我们就不写了,具体的应用实战我会在后面的章节给出。


2、安装设备仿真器

这个模板支持手机、电视、手表三种终端模拟,我们先安装emulator(仿真器)。

1 015 1024x635 - Harmony应用开发-搭建开发环境

1 016 1024x694 - Harmony应用开发-搭建开发环境

安装好之后,我们再点击每一个硬件设备单独安装。这里我选择的手机。

1 017 1024x646 - Harmony应用开发-搭建开发环境

我选择的API9版本。

1 018 1024x647 - Harmony应用开发-搭建开发环境

要安装个几分钟。

1 019 - Harmony应用开发-搭建开发环境

安装完成。

1 020 1024x648 - Harmony应用开发-搭建开发环境


3、开启设备仿真器

点击我们刚刚新建的设备,启动它。

1 021 1024x637 - Harmony应用开发-搭建开发环境

仿真终端被立刻启动。

1 022 1024x687 - Harmony应用开发-搭建开发环境

完全启动大概需要个一分钟,开机后如下:

1 023 1024x687 - Harmony应用开发-搭建开发环境


4、运行项目

我们运行项目。

1 024 1024x687 - Harmony应用开发-搭建开发环境

我们制作的应用会在仿真设备里打开。

1 025 1024x587 - Harmony应用开发-搭建开发环境

测试我们登录界面是否可以正常输入和点击。

1 026 1024x608 - Harmony应用开发-搭建开发环境

测试没有问题,标志着我们新建的HarmonyOS应用运行成功。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/285388.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【起草】【第十二章】定制ChatGPT数字亲人

身为普普通通的我们,不知道亲人们在哪一天就要离开这个世界 ? 作为普普通通的程序员,我们可以为我们的亲人做点什么 ? 让他们以数字资产形式留在人世间 ? 对话|6岁女孩病逝捐器官,妈妈:她去…

js中的数组使用及常见属性方法

目录 数组概念 数组创建方法 数组的length属性 数组的遍历的使用 JavaScript 常用数组方法 concat typeof split length charAt indexOf substring push pop join 数组概念 数组对象的作用是:使用单独的变量名来存储一系列的值。 数组创建方法 构造函…

Matplotlib_4.文字图例尽眉目

文章目录 一、Figure和Axes上的文本1.text2.title和set_title3.figtext和text4.suptitle5.xlabel和ylabel6.annotate7.字体的属性设置 二、Tick上的文本1.简单模式2.Tick Locators and Formatters 三、legend(图例) 一、Figure和Axes上的文本 Matplotli…

面试官:说说JVM内存整体结构?

Java JVM内存结构的面试常问知识 说说JVM内存整体的结构?线程私有还是共享的? JVM 整体架构,中间部分就是 Java 虚拟机定义的各种运行时数据区域。 ​ Java 虚拟机定义了若干种程序运行期间会使用到的运行时数据区,其中有一些会…

《深入理解Java虚拟机(第三版)》读书笔记:Java内存区域与内存溢出异常、垃圾收集器与内存分配策略

下文是阅读《深入理解Java虚拟机(第3版)》这本书的读书笔记,如有侵权,请联系删除。 文章目录 第2章 Java内存区域与内存溢出异常2.2 运行时数据区域2.3 HotSpot虚拟机对象探秘 第3章 垃圾收集器与内存分配策略3.2 对象已死&…

网络安全专家 Mikko Hyppönen 对 2024 年的五大 AI 网络威胁发出警告

在网络安全前线战斗了数十年的 Mikko Hyppnen,这位 54 岁的专家最近在一次视频通话中向 TNW 透露了他对 2024 年最令人担忧的五大人工智能(AI)网络威胁。这些威胁并没有特定的顺序,尽管其中有一个是导致他最为失眠的。 深度伪造&a…

HarmonyOS官网案例解析——保存应用数据

介绍 本篇Codelab将介绍如何使用基础组件Slider,通过拖动滑块调节应用内字体大小。要求完成以下功能: 实现两个页面的UX:主页面和字体大小调节页面。拖动滑块改变字体大小系数,列表页和调节页面字体大小同步变化。往右拖动滑块字体…

江西速欣商务咨询有限公司:债务规划重组的专业法务咨询服务

在财务管理中,债务问题往往成为个人和企业面临的一项重要挑战。江西速欣商务咨询有限公司作为债务问题的专业解决者,致力于为客户提供高效而专业的债务规划重组法务咨询服务,帮助他们摆脱负担,重整财务秩序。 深谙债务规划的专业智…

通信基站绿色低碳服务认证

据标准编制组代表汇报该标准是在2022年工信部等7部门印发《信息通信行业绿色低碳发展行动计划(2022-2025)》提出通信基站要向集约化布局、高效化设计、绿色化建设、低碳化技术、智能化运维方向发展。加快形成以管理制度为引领、以绿色采购为关键、以评估…

Rancher 单节点 docker 部署备份与恢复

Rancher 单节点 docker 部署备份与恢复 1. 备份集群 获取 rancher server 容器名,本例为 angry_aryabhata docker ps | grep rancher/rancher6a27b8634c80 rancher/rancher:v2.5.14 xxx angry_aryabhata停止容器 docker stop angry_aryabhata创建备…

桉木芯建筑模板与其他材质比较有何不同?

在建筑行业中,模板的选择对于确保工程质量和效率至关重要。桉木芯建筑模板作为市场上的一种选择,与其他材质的模板相比,具有独特的优势。能强优品木业作为专业的桉木芯建筑模板生产厂家,其产品充分展示了这一材质的优越性能。 材质…

Vue-响应式数据

一、ref创建基本类型的响应式数据 vue3可以使用ref、reactive去定义响应式数数据。 知识点汇总 使用ref需要先引入ref,import {ref} from vue在模板 template 中使用了添加ref 的响应式数据,变量的后面不用添加.value所有js代码里面,去操作r…

27、web攻防——通用漏洞SQL注入Tamper脚本Base64Jsonmd5

文章目录 数字型:0-9。http;//localhost:8081/blog/news.php?id1 字符型:a-z、中文,需要闭合符号。http;//localhost:8081/blog/news.php?idsimple 搜索型:在字符型的基础上加入了通配符%。http;//localhost:8081/blog/news.…

大数据机器学习GAN:生成对抗网络GAN全维度介绍与实战

文章目录 大数据机器学习GAN:生成对抗网络GAN全维度介绍与实战一、引言1.1 生成对抗网络简介1.2 应用领域概览1.3 GAN的重要性 二、理论基础2.1 生成对抗网络的工作原理2.1.1 生成器生成过程 2.1.2 判别器判别过程 2.1.3 训练过程训练代码示例 2.1.4 平衡与收敛 2.2…

Gin 集成 prometheus 客户端实现注册和暴露指标

前言 当我们构建一个 Web 应用程序时,了解应用程序的性能和行为是非常重要的。Prometheus 是一个流行的开源监控系统,它提供了强大的指标收集和查询功能,可以帮助我们监控应用程序的各个方面。 在 Gin 中集成 Prometheus 可以让我们更方便地监…

vue中的内置指令v-model的作用和常见使用方法以及自定义组件上的用法

一、v-model是什么 v-model是Vue框架的一种内置的API指令,本质是一种语法糖写法,它负责监听用户的输入事件以更新数据,并对一些极端场景进行一些特殊处理。在Vue中,v-model是用于在表单元素和组件之间创建双向数据绑定的指令。它…

0基础学习VR全景平台篇第134篇:720VR全景,云台调整节点

相机、云台和脚架全套设备组装完成后需要进行调校才能开始拍摄。这一节,我们将主要介绍云台调整的两个内容:对中心靶、调三点一线。(后附调校原理) 云台部件名称 一、调节准备 (一)对于安装好的云台 1.检…

NAO.99b海潮模型的详解教程

NAO.99b模型是由日本国家天文台开发的全球潮汐模式,基于二维非线性浅水方程。该模型具有较高的分辨率,网格间距为0.50.5,网格数为720360,覆盖的经度范围为0.25~359.75E,纬度范围为89.75S~89.75N…

web前端导航条练习(包含弹性盒)

<!DOCTYPE html> <html lang"en"><head><meta charset"utf-8"><!--设置最佳适配窗口--><meta name"viewpoint" content"widthdevice-width,initial-scale1.0"><meta http-equiv"X-UA-&qu…

Maya-UE xgen-UE 毛发导入UE流程整理

首先声明&#xff1a;maya建议用2022版本及一下&#xff0c;因为要用到Python 2 ,Maya2023以后默认是Python3不再支持Python2; 第一步&#xff1a;Xgen做好的毛发转成交互式Groom 第二步&#xff1a;导出刚生成的交互式Groom缓存&#xff0c;需要设置一下当前帧&#xff0c;和…