harmonyOS什么读,HarmonyOS鸿蒙入门篇

这几天鸿蒙系统起来了。开源,全场景。

鸿蒙系统又是什么,官网有:

HarmonyOS是一款“面向未来”、面向全场景(移动办公、运动健康、社交通信、媒体娱乐等)的分布式操作系统。在传统的单设备系统能力的基础上,HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持多种终端设备。

华为开发者联盟论坛

https://developer.huawei.com/consumer/

鸿蒙官网

https://www.harmonyos.com

鸿蒙os开发官网

https://developer.harmonyos.com/cn/develop

Gitee

https://openharmony.gitee.com/openharmony

安装

下载HUAWEI DevEco Studio。现在还没支持MacOS

Windows已可以下载。Windows安装条件:

操作系统:Windows10 64 位

内存:8G 及以上

硬盘:100G 及以上

分辨率:1280*800 及以上

一开始以为一定要Windows 10,还以为凉凉,因为只有Windows 8, 8G内存的老抠伤不起。但是没有想到成功安装,并运行。

根据官网文档:

登录HarmonysOS应用开发门户,点击右上角注册按钮,注册开发者帐号,注册指导参考注册华为帐号。如果已有华为开发者帐号,请直接点击登录按钮。

进入HUAWEI DevEco Studio产品页,下载DevEco Studio安装包。

双击下载的“deveco-studio-xxxx.exe”,进入DevEco Studio安装向导,在如下安装选项界面勾选DevEco Studio launcher后,点击Next,直至安装完成。

如何是JS开发者,则需要多安装Node.js

鸿蒙os开发工具

https://developer.harmonyos.com/cn/develop/deveco-studio

创建 Demo

打开DevEco Studio:Create project目前只支持TV,穿戴设备,轻量级穿戴设备。支持JS,Java

harmonyOS什么读,HarmonyOS鸿蒙入门篇

创建成功后,作为Android 开发者,看到这些界面,甚是熟悉:运用Gradle 构建项目

harmonyOS什么读,HarmonyOS鸿蒙入门篇

看到目录结构,甚是熟悉;

鸿蒙 APP 的基础认识

鸿蒙 APP

HarmonyOS的应用软件包以APP Pack(Application Package)形式发布,它是由一个或多个HAP(HarmonyOS Ability Package)以及描述每个HAP属性的pack.info组成。HAP是Ability的部署包,HarmonyOS应用代码围绕Ability组件展开。

一个HAP是由代码、资源、第三方库及应用配置文件组成的模块包,可分为Entry和Feature两种模块类型,如图1所示。

Entry:应用的主模块。一个APP中,对于同一设备类型必须有且只有一个Eentry类型的HAP,可独立安装运行。

Feature:应用的动态特性模块。一个APP可以包含一个或多个Feature类型的HAP,也可以不含。只有包含Ability的HAP才能够独立运行。

DemoApp

A base class used for user to initialize each hap.

package com.yuncai.demoapp;​import ohos.aafwk.ability.AbilityPackage;​public class DemoApp extends AbilityPackage {@Overridepublic void onInitialize() {super.onInitialize();}}​

MainAbility

Ability....emmmm,我是感觉是Activity....

官网定义:

Ability 是应用所具备能力的抽象,也是应用程序的重要组成部分。一个应用可以具备多种能力(即可以包含一个或者多个Ability),HarmonyOS支持应用以Ability为单位进行部署。Ability分为两种类型:FA(Feature Ability)和PA(Particle Ability)。FA/PA是应用的基本组成单元,能够实现特定的业务功能。FA有UI界面,而PA无UI界面。每种类型为开发者提供了不同的模板,以便实现不同的业务功能。

Ability API

https://developer.harmonyos.com/cn/docs/documentation/doc-references/ability-0000001054120007

package com.yuncai.demoapp;import com.yuncai.demoapp.slice.MainAbilitySlice;import ohos.aafwk.ability.Ability;import ohos.aafwk.content.Intent;public class MainAbility extends Ability {@Overridepublic void onStart(Intent intent) {super.onStart(intent);super.setMainRoute(MainAbilitySlice.class.getName());}}

MainAbilitySlice

AbilityPackageAbilitySlice主要用于承载Ability的具体逻辑实现和界面UI,是应用显示、运行和跳转的最小单元。AbilitySlice通过setUIContent()为界面设置布局

package com.yuncai.demoapp.slice;import ohos.aafwk.ability.AbilitySlice;import ohos.aafwk.content.Intent;import ohos.agp.components.Button;import ohos.agp.components.DirectionalLayout;import ohos.agp.components.DirectionalLayout.LayoutConfig;import ohos.agp.components.Text;import ohos.agp.colors.RgbColor;import ohos.agp.components.element.Element;import ohos.agp.components.element.ShapeElement;import ohos.agp.components.element.StateElement;import ohos.agp.utils.Color;import ohos.agp.utils.TextAlignment;public class MainAbilitySlice extends AbilitySlice {private DirectionalLayout myLayout = new DirectionalLayout(this);@Overridepublic void onStart(Intent intent) {super.onStart(intent);LayoutConfig config = new LayoutConfig(LayoutConfig.MATCH_PARENT, LayoutConfig.MATCH_PARENT);myLayout.setLayoutConfig(config);ShapeElement element = new ShapeElement();element.setRgbColor(new RgbColor(255, 255, 255));myLayout.setBackground(element);LayoutConfig titleConfig = new LayoutConfig(LayoutConfig.MATCH_PARENT, LayoutConfig.MATCH_CONTENT);Text title = new Text(this);title.setLayoutConfig(titleConfig);title.setPadding(0, 50, 0, 10);title.setText(“Hello World“);title.setTextColor(new Color(0xFF000000));title.setTextSize(50);title.setTextAlignment(TextAlignment.CENTER);myLayout.addComponent(title);Text text = new Text(this);text.setLayoutConfig(titleConfig);text.setText(“晕菜一员“);text.setTextColor(new Color(0xFF000000));text.setTextSize(50);text.setTextAlignment(TextAlignment.CENTER);myLayout.addComponent(text);super.setUIContent(myLayout);}@Overridepublic void onActive() {super.onActive();}@Overridepublic void onForeground(Intent intent) {super.onForeground(intent);}}

运行项目

运行项目前,需选择设备。

DevEco -> HVD Manager (模拟器)

当打开HVD Manager 会跳转到华为开发者联盟进行登陆授权,,一开始用chrome还不行,切换到了IE才打开了允许授权弹窗。

点击允许后,回到DevEco,会看到出现了两台模拟器:

harmonyOS什么读,HarmonyOS鸿蒙入门篇

这时候运行一台,运行demo项目...成功:

harmonyOS什么读,HarmonyOS鸿蒙入门篇

标签:Ability,鸿蒙,入门篇,new,HarmonyOS,ohos,import,com,agp

来源: https://www.cnblogs.com/CharlesGrant/p/13658764.html

极客网企业会员

免责声明:本网站内容主要来自原创、合作伙伴供稿和第三方自媒体作者投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。任何单位或个人认为本网站中的网页或链接内容可能涉嫌侵犯其知识产权或存在不实内容时,应及时向本网站提出书面权利通知或不实情况说明,并提供身份证明、权属证明及详细侵权或不实情况证明。本网站在收到上述法律文件后,将会依法尽快联系相关文章源头核实,沟通删除相关内容或断开相关链接。