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
创建成功后,作为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鸿蒙入门篇相关推荐
- 鸿蒙系统(HarmonyOS)应用开发入门篇
鸿蒙系统(HarmonyOS)是基于微内核的全场景分布式OS,鸿蒙OS实现模块化耦合,对应不同设备可弹性部署,鸿蒙OS有三层架构,第一层是内核,第二层是基础服务,第三层是程序框架,鸿蒙OS底层由鸿蒙微 ...
- 华为鸿蒙系统HarmonyOS学习之八:鸿蒙Harmony从1.0到2.0的提升
华为鸿蒙系统HarmonyOS学习之八:鸿蒙HarmonyOS从1.0到2.0的提升 相较于鸿蒙 OS1.0,鸿蒙 OS2.0 有哪些方面的本质提升?这是自2.0发布以来,大家很关心的问题. 在201 ...
- 华为鸿蒙系统HarmonyOS学习之三:鸿蒙HarmonyOS 系统安全性
华为鸿蒙系统HarmonyOS学习之三:HarmonyOS 系统安全性 HarmonyOS(鸿蒙操作系统)采用全新的微内核设计,具有增强的安全性和低延迟.该微内核旨在简化内核功能,在内核外的用户模式下 ...
- HarmonyOS开发语言,华为鸿蒙操作系统 HarmonyOS
华为鸿蒙OS 下载地址:https://www.chtml.cn/product/show/10945 教程目录:https://www.chtml.cn/topic/show/10945 Harmo ...
- SQL注入漏洞全接触--入门篇
随着B/S模式应用开发的发展,使用这种模式编写应用程序的程序员也越来越多.但是由于这个行业的入门门槛不高,程序员的水平及经验也参差不齐,相当大一部分程序员在编写代码的时候,没有对用户输入数据的合法性进 ...
- Python从入门到精通 - 入门篇 (下)
上一讲回顾:Python从入门到精通 - 入门篇 (上) 接着上篇继续后面两个章节,函数和解析式. 4 函数 Python 里函数太重要了 (说的好像在别的语言中函数不重要似的).函数的通用好处就不用 ...
- Python从入门到精通 - 入门篇 (上)
转载自微信公众号:王的机器 0 引言 微信公众号终于可以插代码了,Python 可以走一波了.首先我承认不是硬核搞 IT 的,太高级的玩法也玩不来,讲讲下面基本的还可以,之后带点机器学习.金融工程和量 ...
- 【C/C++语言入门篇】-- 文件操作
[C/C++语言入门篇]-- 文件操作 收藏 此文于2010-03-09被推荐到CSDN首页 如何被推荐? 最近实在是太忙了,这篇整整就推迟了1个月了,实在是对不起.之前本打算这个模块就结束了,文件操 ...
- kdir测试软件,[OK210开发板体验]入门篇(4)编程入门(NFS登录、驱动入门)
前面分别介绍了 [OK210开发板体验]的第一篇:开箱验板 [OK210开发板验]的第二篇:板载资源 [OK210开发板体验]的第三篇:开发环境(软件安装,开发环境,烧写系统) 今天是[OK210开发 ...
最新文章
- js在post后台接口的时候,一行代码完成删除对象中所有值为null、undefined或为空字符串““的属性
- 因特网的域名服务器系统的好处,dns域名服务器的作用是什么
- 华为FusionSphere概述——计算资源、存储资源、网络资源的虚拟化,同时对这些虚拟资源进行集中调度和管理...
- C语言中文网js,第一个JavaScript程序
- Machine Learning week 7 quiz: Unsupervised Learning
- 【Let‘s Go】Go语言入门篇
- 张一春教授计算机辅助教学,我校特邀评审专家张一春教授来校做专题讲座
- 第四十七期:漫画:什么是公有云、私有云和混合云?
- 去除 AutoCAD 2013 x64 教育版打印戳记
- mysql建表语句转达梦_MySQL建表语句转PostgreSQL建表语句全纪录
- python机器人编程——VREP数字孪生四轴机械臂联合仿真
- 计算机程序设计流程图循环,流程图循环画法_流程图用什么办公软件
- SPSS学习 (一)概述
- 基于MATLAB的极限与求导(附完整代码)
- OpenGL ES 2 0 (iOS)[05 1]:进入 3D 世界,从正方体开始
- 台式win7旗舰版如何调节屏幕亮度
- 4.5 小红书博主如何跟商家合作?【玩赚小红书】
- 编程队伍队名_关于举办十四所第四届“国睿杯”青年软件技能编程大赛的通知...
- Android自动更新时间去除WIFI无法连接互联网提示
- python导入上级目录_Python导入上一级/下一级/任一级目录下的.py文件问题
热门文章
- HTTPConnectionPool(host=‘localhost‘, port=28333): Max retries exceeded with url: /events (Caused by
- 解决开启抓包工具后app无法联网
- 将DataFrameGroupBy转回DataFrame
- Visual Studio Code 运行命令行,无法加载文件 C:\**.ps1,因为在此系统上禁止运行脚本的解决方法
- C# Socket客户端编写
- linux下安装master pdf,Linux.完全安装.pdf
- 五、51单片机 使用Proteus仿真烟雾报警器(仿真及部分代码)
- 四种常见的高温阀门各自介绍与说明
- 4 模态对话框和非模态对话框
- ps play android下载地址,Ps Play apk下载|Ps Play安卓版下载 android1.0 - 跑跑车安卓网