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

news/2024/7/21 11:25:38 标签: harmonyos, 鸿蒙, 华为, DevEco, 应用开发, ArcTS

本文介绍如何搭建 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<a class=应用开发-搭建开发环境" class="left" height="429" src="https://img-blog.csdnimg.cn/img_convert/6dac96f9d544a177130c3edf32b749ac.jpeg" width="1024" />

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


2、安装 DevEco Studio

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

1 002 - Harmony<a class=应用开发-搭建开发环境" class="left" height="390" src="https://img-blog.csdnimg.cn/img_convert/dac170b25934b72c1704d94978b19fe2.png" width="503" />

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

1 003 - Harmony<a class=应用开发-搭建开发环境" class="left" height="390" src="https://img-blog.csdnimg.cn/img_convert/5a253649fc7bc7841120394f1706475e.png" width="503" />

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

1 004 - Harmony<a class=应用开发-搭建开发环境" class="left" height="390" src="https://img-blog.csdnimg.cn/img_convert/70c9ef00e5554128932fe3055a6f0180.png" width="503" />

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

1 005 - Harmony<a class=应用开发-搭建开发环境" class="left" height="390" src="https://img-blog.csdnimg.cn/img_convert/f724ec5f3698b8f8f13811821cbfe59e.png" width="503" />

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

1 006 - Harmony<a class=应用开发-搭建开发环境" class="left" height="390" src="https://img-blog.csdnimg.cn/img_convert/926ae8c037f7e166000aabb0b6e29377.png" width="503" />


二、启动 DevEco Studio

1、安装 Node.js 和 ohpm

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

1 007 - Harmony<a class=应用开发-搭建开发环境" class="left" height="588" src="https://img-blog.csdnimg.cn/img_convert/ed0330ff2c91a3ae2401a30ed22aad2a.png" width="916" />


2、安装HarmonyOS SDK

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

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

1 008 - Harmony<a class=应用开发-搭建开发环境" class="left" height="588" src="https://img-blog.csdnimg.cn/img_convert/12157116097b2abbde8e20a37b4eebb8.png" width="916" />

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

1 009 - Harmony<a class=应用开发-搭建开发环境" class="left" height="588" src="https://img-blog.csdnimg.cn/img_convert/739a3fda4d791afc9b25ecaa1eba3934.png" width="916" />

几分钟后安装完成。

1 010 - Harmony<a class=应用开发-搭建开发环境" class="left" height="588" src="https://img-blog.csdnimg.cn/img_convert/ecb79f1a72507ae0548491a463365e85.png" width="916" />


三、新建测试项目

1、通过模板创建项目

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

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

1 011 1024x613 - Harmony<a class=应用开发-搭建开发环境" class="left" height="613" src="https://img-blog.csdnimg.cn/img_convert/d7d72f393b7e0212cf6ac606d848ea35.png" width="1024" />

2、勾选Stage模式

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

1 012 - Harmony<a class=应用开发-搭建开发环境" class="left" height="663" src="https://img-blog.csdnimg.cn/img_convert/42609902e19d2e12f363be64274994fe.png" width="991" />

这里科普一下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<a class=应用开发-搭建开发环境" class="left" height="663" src="https://img-blog.csdnimg.cn/img_convert/42609902e19d2e12f363be64274994fe.png" width="991" />

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

低代码开发效果示例:

1 013 1024x691 - Harmony<a class=应用开发-搭建开发环境" class="left" height="691" src="https://img-blog.csdnimg.cn/img_convert/ea31a45e2645205ed510f86dc659b7b1.png" width="1024" />
 

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


 四、运行测试项目

1、创建测试页面

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

1 013 1024x691 - Harmony<a class=应用开发-搭建开发环境" class="left" height="691" src="https://img-blog.csdnimg.cn/img_convert/ea31a45e2645205ed510f86dc659b7b1.png" width="1024" />

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<a class=应用开发-搭建开发环境" class="left" height="691" src="https://img-blog.csdnimg.cn/img_convert/4ef8224f7ee6db0a96daa639b1154168.png" width="1024" />

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


2、安装设备仿真器

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

1 015 1024x635 - Harmony<a class=应用开发-搭建开发环境" class="left" height="635" src="https://img-blog.csdnimg.cn/img_convert/e5ee2c0485313fcd26040bc047e51534.png" width="1024" />

1 016 1024x694 - Harmony<a class=应用开发-搭建开发环境" class="left" height="694" src="https://img-blog.csdnimg.cn/img_convert/8839702d7a8ed92e2e8e33be12b9f6d8.png" width="1024" />

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

1 017 1024x646 - Harmony<a class=应用开发-搭建开发环境" class="left" height="646" src="https://img-blog.csdnimg.cn/img_convert/383823e1e9021b648105f9df4b167100.png" width="1024" />

我选择的API9版本。

1 018 1024x647 - Harmony<a class=应用开发-搭建开发环境" class="left" height="647" src="https://img-blog.csdnimg.cn/img_convert/1c03ef3d41870dde0713cdf4583284ff.png" width="1024" />

要安装个几分钟。

1 019 - Harmony<a class=应用开发-搭建开发环境" class="left" height="690" src="https://img-blog.csdnimg.cn/img_convert/6230fd9d4948d502f85b97dd14b60b4b.png" width="1025" />

安装完成。

1 020 1024x648 - Harmony<a class=应用开发-搭建开发环境" class="left" height="648" src="https://img-blog.csdnimg.cn/img_convert/d8ea0bd24acfe4b713960a3ccd45e42b.png" width="1024" />


3、开启设备仿真器

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

1 021 1024x637 - Harmony<a class=应用开发-搭建开发环境" class="left" height="637" src="https://img-blog.csdnimg.cn/img_convert/c05ccf5b7463bd1e6576bbb3c68b1fb4.png" width="1024" />

仿真终端被立刻启动。

1 022 1024x687 - Harmony<a class=应用开发-搭建开发环境" class="left" height="687" src="https://img-blog.csdnimg.cn/img_convert/3a051beec3b634f5c15f8ceca185f4b6.png" width="1024" />

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

1 023 1024x687 - Harmony<a class=应用开发-搭建开发环境" class="left" height="687" src="https://img-blog.csdnimg.cn/img_convert/8c37df2c9c697a6b1d61a74511b15405.png" width="1024" />


4、运行项目

我们运行项目。

1 024 1024x687 - Harmony<a class=应用开发-搭建开发环境" class="left" height="687" src="https://img-blog.csdnimg.cn/img_convert/6a50fb4ffd2df68f07126416d6ff851e.png" width="1024" />

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

1 025 1024x587 - Harmony<a class=应用开发-搭建开发环境" class="left" height="587" src="https://img-blog.csdnimg.cn/img_convert/2df659524d4a0af9721caa33f58846ae.png" width="1024" />

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

1 026 1024x608 - Harmony<a class=应用开发-搭建开发环境" class="left" height="608" src="https://img-blog.csdnimg.cn/img_convert/6aafcc28de31f98960f86dadbfbd29b3.png" width="1024" />

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


http://www.niftyadmin.cn/n/5299001.html

相关文章

OpenCV-12绘制图像

OpenCV提供了许多绘制图像的API&#xff0c;可以在图像上绘制各种图形&#xff0c;例如直线&#xff0c;矩形&#xff0c;圆&#xff0c;椭圆等图形。 一、画直线 利用API line&#xff08;img, pt1, pt2, color, thickness, lineType, shift&#xff09;可以绘制直线。 其中…

第一章 简单编程实现花生壳的ddns功能

跟我用路由器学Linux编程实例 本专栏文章以梅林、openwrt等linux路由为基础硬件&#xff0c;和笔者一起学习使用shell语言。带你从编写简单的插件开始&#xff0c;学习怎么折腾路由器&#xff0c;顺便学会编程。软路由用的都是Linux基础系统&#xff0c;学会了在路由上编程&am…

【Matlab】LSTM长短期记忆神经网络时序预测算法(附代码)

资源下载&#xff1a; https://download.csdn.net/download/vvoennvv/88688439 一&#xff0c;概述 LSTM&#xff08;Long Short-Term Memory&#xff09;是一种常用的循环神经网络&#xff08;Recurrent Neural Network&#xff0c;RNN&#xff09;结构&#xff0c;由于其对于…

【AIGC风格prompt】风格类绘画风格的提示词技巧

风格类绘画风格的提示词展示 主题&#xff1a;首先需要确定绘画的主题&#xff0c;例如动物、自然景观、人物等。 描述&#xff1a;根据主题提供详细的描述&#xff0c;包括颜色、情感、场景等。 绘画细节&#xff1a;描述绘画中的细节&#xff0c;例如表情、纹理、光影等。 场…

Linux:20个linux常用命令

20个linux常用命令 1. ls&#xff1a;列出文件list 2. cd&#xff1a;切换目录change directory 3. cp&#xff1a;复制copy 4. mv&#xff1a;移动move 5. rm&#xff1a;移除&#xff0c;删除remove 6. mkdir&#xff1a;创建文件夹make directory 7. rmdir&#xff1a;移除&…

PyTorch中常用的工具(3)TensorBoard

文章目录 前言3 可视化工具3.1 TensorBoard 前言 在训练神经网络的过程中需要用到很多的工具&#xff0c;最重要的是数据处理、可视化和GPU加速。本章主要介绍PyTorch在这些方面常用的工具模块&#xff0c;合理使用这些工具可以极大地提高编程效率。 由于内容较多&#xff0c…

基于 EigenFaces 的人脸检测

EigenFaces概述 EigenFaces 人脸检测是一种从主成分分析&#xff08;Principal Component Analysis&#xff0c;PCA&#xff09;中导出的人脸识别和描述技术。 特征脸方法就是从大量的人脸图像中&#xff0c;寻找出人脸的共性。将眼睛、面颊、下颌样板采集协方差矩阵的特征向…

leetcode100169 求两个集合的交集

Problem: https://leetcode.cn/problems/maximum-squar100169 e-area-by-removing-fences-from-a-field/description/ [TOC] 思路 遍历所有的横向栏杆与纵向栏杆&#xff0c;算出横向栏杆之间的差和纵向栏杆之间的差并存储两个集合&#xff0c;最终的答案就是两个集合的交集的…