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

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

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

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

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

鸿蒙 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,会看到出现了两台模拟器:

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

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

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

harmonyOS什么读,HarmonyOS鸿蒙入门篇相关推荐

  1. 鸿蒙系统(HarmonyOS)应用开发入门篇

    鸿蒙系统(HarmonyOS)是基于微内核的全场景分布式OS,鸿蒙OS实现模块化耦合,对应不同设备可弹性部署,鸿蒙OS有三层架构,第一层是内核,第二层是基础服务,第三层是程序框架,鸿蒙OS底层由鸿蒙微 ...

  2. 华为鸿蒙系统HarmonyOS学习之八:鸿蒙Harmony从1.0到2.0的提升

    华为鸿蒙系统HarmonyOS学习之八:鸿蒙HarmonyOS从1.0到2.0的提升 相较于鸿蒙 OS1.0,鸿蒙 OS2.0 有哪些方面的本质提升?这是自2.0发布以来,大家很关心的问题. 在201 ...

  3. 华为鸿蒙系统HarmonyOS学习之三:鸿蒙HarmonyOS 系统安全性

    华为鸿蒙系统HarmonyOS学习之三:HarmonyOS 系统安全性 HarmonyOS(鸿蒙操作系统)采用全新的微内核设计,具有增强的安全性和低延迟.该微内核旨在简化内核功能,在内核外的用户模式下 ...

  4. HarmonyOS开发语言,华为鸿蒙操作系统 HarmonyOS

    华为鸿蒙OS 下载地址:https://www.chtml.cn/product/show/10945 教程目录:https://www.chtml.cn/topic/show/10945 Harmo ...

  5. SQL注入漏洞全接触--入门篇

    随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多.但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进 ...

  6. Python从入门到精通 - 入门篇 (下)

    上一讲回顾:Python从入门到精通 - 入门篇 (上) 接着上篇继续后面两个章节,函数和解析式. 4 函数 Python 里函数太重要了 (说的好像在别的语言中函数不重要似的).函数的通用好处就不用 ...

  7. Python从入门到精通 - 入门篇 (上)

    转载自微信公众号:王的机器 0 引言 微信公众号终于可以插代码了,Python 可以走一波了.首先我承认不是硬核搞 IT 的,太高级的玩法也玩不来,讲讲下面基本的还可以,之后带点机器学习.金融工程和量 ...

  8. 【C/C++语言入门篇】-- 文件操作

    [C/C++语言入门篇]-- 文件操作 收藏 此文于2010-03-09被推荐到CSDN首页 如何被推荐? 最近实在是太忙了,这篇整整就推迟了1个月了,实在是对不起.之前本打算这个模块就结束了,文件操 ...

  9. kdir测试软件,[OK210开发板体验]入门篇(4)编程入门(NFS登录、驱动入门)

    前面分别介绍了 [OK210开发板体验]的第一篇:开箱验板 [OK210开发板验]的第二篇:板载资源 [OK210开发板体验]的第三篇:开发环境(软件安装,开发环境,烧写系统) 今天是[OK210开发 ...

最新文章

  1. js在post后台接口的时候,一行代码完成删除对象中所有值为null、undefined或为空字符串““的属性
  2. 因特网的域名服务器系统的好处,dns域名服务器的作用是什么
  3. 华为FusionSphere概述——计算资源、存储资源、网络资源的虚拟化,同时对这些虚拟资源进行集中调度和管理...
  4. C语言中文网js,第一个JavaScript程序
  5. Machine Learning week 7 quiz: Unsupervised Learning
  6. 【Let‘s Go】Go语言入门篇
  7. 张一春教授计算机辅助教学,我校特邀评审专家张一春教授来校做专题讲座
  8. 第四十七期:漫画:什么是公有云、私有云和混合云?
  9. 去除 AutoCAD 2013 x64 教育版打印戳记
  10. mysql建表语句转达梦_MySQL建表语句转PostgreSQL建表语句全纪录
  11. python机器人编程——VREP数字孪生四轴机械臂联合仿真
  12. 计算机程序设计流程图循环,流程图循环画法_流程图用什么办公软件
  13. SPSS学习 (一)概述
  14. 基于MATLAB的极限与求导(附完整代码)
  15. OpenGL ES 2 0 (iOS)[05 1]:进入 3D 世界,从正方体开始
  16. 台式win7旗舰版如何调节屏幕亮度
  17. 4.5 小红书博主如何跟商家合作?【玩赚小红书】
  18. 编程队伍队名_关于举办十四所第四届“国睿杯”青年软件技能编程大赛的通知...
  19. Android自动更新时间去除WIFI无法连接互联网提示
  20. python导入上级目录_Python导入上一级/下一级/任一级目录下的.py文件问题

热门文章

  1. HTTPConnectionPool(host=‘localhost‘, port=28333): Max retries exceeded with url: /events (Caused by
  2. 解决开启抓包工具后app无法联网
  3. 将DataFrameGroupBy转回DataFrame
  4. Visual Studio Code 运行命令行,无法加载文件 C:\**.ps1,因为在此系统上禁止运行脚本的解决方法
  5. C# Socket客户端编写
  6. linux下安装master pdf,Linux.完全安装.pdf
  7. 五、51单片机 使用Proteus仿真烟雾报警器(仿真及部分代码)
  8. 四种常见的高温阀门各自介绍与说明
  9. 4 模态对话框和非模态对话框
  10. ps play android下载地址,Ps Play apk下载|Ps Play安卓版下载 android1.0 - 跑跑车安卓网