HarmonyOS介绍

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

HarmonyOS 2.0

HarmonyOS 2.0 开始,向 128KB-128MB 物联网设备(如智能电视、可穿戴设备和汽车)开放,随后在 2021 年 4 将开发128MB 至 4GB 设备,2021 年 10 将开发 4GB 以上的设备。

技术架构

HarmonyOS 整体遵从分层设计,从下向上依次为:内核层、系统服务层、框 架层和应用层。系统功能按照系统 > 子系统 > 功能/模块逐级展开,在多设备部署场景下,支持根据实际需求裁剪某些非必要的子系统或功能/模块。

HarmonyOS 架构

开发工具

目前鸿蒙学堂官网提供了开发工具和开发文档下载,开发工具为DevEco Studio目前正式版本是2.0.8.203,基于 IntelliJ IDEA Community 开源版本打造。我们从官网下载devecostudio-windows-tool-2.0.8.203.zip,然后解压安装。安装步骤很简单,基本一路点击下一步就好了。目前DevEco Studio只支持 Windows 平台,后续应该会支持 Linux 和 Mac 平台。

DevEco Studio Sdk setting

首次启动DevEco Studio需要下载SDK,也可以暂时跳过,稍后在Appearance&> System Settings > HarmonyOS SDK 界面设置存储路径,点击Apply便可以下载SDK。另外使用到 JS 语言开发 HarmonyOS 应用时需要安装NodeJs环境

开发体验

接下来我们用DevEco Studio 开发一个Hello World,首先我们点击Create HarmonyOS Project新建项目,在打开的新建项目界面我们可以看到设备项 支持TV、穿戴设备,暂时还没有手机选项。项目模板可选:Empty Feature Ability(JS)、Empty Feature Ability(Java)、List Feature Ability(JS)

新建HarmonyOS 项目

HarmonyOS 的应用由一个或多个Feature Ability或 Particle Ability组成,其中Feature Ability有 UI 界面,提供与用户交互的能力;而Particle Ability 无 UI 界面,提供后台运行任务的能力以及 统一的数据访问抽象。 项目新建成功后,目录结构如下图:

HarmonyOS app工程结构

libs 目录存放库文件是应用依赖的第三方代码形式.so 后缀文件 resources 目录存放应用的资源文件(字符串、图片、音频等 config.json 应用的 Ability 信息,用于声明应用的 Ability以及应用所需权限等信息

我们可以看到MainAbilitySlice.java应用入口,这里定义了一个白色区域块和一个hello world的文本,当然一般情况下我们不会将布局定义在这里,可以在resources > layout 定义XML布局文件,然后在MainAbilitySlice重写 onStart()方法加载 XML 布局:super.setUIContent(ResourceTable.布局XML文件)

    @Override
    public 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);

        Text text = new Text(this);
        text.setLayoutConfig(config);
        text.setText("Hello World");
        text.setTextColor(new Color(0xFF000000));
        text.setTextSize(50);
        text.setTextAlignment(TextAlignment.CENTER);
        myLayout.addComponent(text);
        super.setUIContent(myLayout);
    }

应用运行

我们将刚才新建的工程在模拟器中运行,Lite Wearable项目暂不支持在模拟器中运行。在 DevEco Studio 菜单栏,点击 Tools > HVD Manager。首次使用模拟器,点击 OK 按钮下载模拟器相关资源,然后将打开一个浏览器页面需要登录自己的华为账号才能继续下载(登录过程稍微有点慢)

华为鸿蒙远程模拟设备

我们选择工程对应的设备类型,点击run按钮启动设备,然后点击DevEco Stud工具栏的Run,在弹出的界面我们可以看到刚才启动的远程设备名称。

远程模拟运行

选择设备点击OK即可看到刚才示例helloworld工程运行效果。

hello world run

测试总结

从开发工具到hello world的顺利运行,感觉还是比较简单的,开发跟android差不多基本是一个模式,另外List Feature Ability(JS) JS开发还没体验过不知道具体咋样。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

热门产品

php编程基础教程.pptx|php编程培训,php,编程,基础,教程,pptx
php编程基础教程.pptx

历史上的今天:04月28日

referrer策略和meta标签的问题

referrer策略和meta标签的问题请求后端接口时,banner图片的请求出现403错误:GEThttp://xxxxxxxxxxxx403(Forbidden)。在网上搜寻一番,解决方法如下:在index.html中的head中添加<meta name="referrer" content="no-referrer" />。在此之前,关于r

热门专题

昆明综合高中|昆明综合高中
昆明综合高中
云南网站建设|云南网站制作,网站建设,云南网站开发,云南网站设计,云南网页设计,云南网站建设公司,云南网站建设
云南网站建设
大理科技管理学校|大理科技管理中等职业技术学校,大理市科技管理中等职业技术学校
大理科技管理学校
云南高职单招|云南单招,云南单招网,云南高职单招网,云南高职单招,云南单招学校,云南单招培训
云南高职单招
易捷尔高职单招|易捷尔高职单招,易捷尔高职单招培训,单招分数线,单招录取分数线,高职单招学校分数线
易捷尔高职单招
国家开放大学|国家开放大学报名,国家开放大学报考,国家开放大学,什么是国家开放大学,国家开放大学学历,国家开放大学学费,国家开放大学报名条件,国家开放大学报名时间,国家开放大学学历,国家开放大学专业
国家开放大学
云南开放大学|云南开放大学报名,云南开放大学报考,云南开放大学,什么是云南开放大学,云南开放大学学历,云南开放大学学费,云南开放大学报名条件,云南开放大学报名时间,云南开放大学学历,云南开放大学专业
云南开放大学
小程序开发|微信小程序,小程序开发,小程序,小程序制作,微信小程序开发,小程序公司,小程序开发公司,分销,三级分销系统,分销系统
小程序开发

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部