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月20日

ThinkPHP5快速入门基础

ThinkPHP5快速入门基础一、基础快速入门 ( 一 ) :基础本章介绍了 ThinkPHP5 .0 的安装及基本使用 ,并给出了一个最简单的示例带你了解如何开始开发 ,主要包 含 :简介官网下载 omposer安装和更新CGit下载和更新目录结构运行环境入口文件调试模式控制器视图读取数据总结在学习 ThinkPHP5.0 之前 ,如果你还不理解面向对象和命名空间的概念 ,建议首先去PHP手册恶

ThinkPHP5快速入门

ThinkPHP5快速入门目 录零、序言一、基础二、URL和路由三、请求和响应四、数据库五、查询语言六、模型和关联 (1)模型定义 (2)基础操作 (3)读取器和修改器 (4)类型转换和自动完成 (5)查询范围 (6)输入和验证 (7)关联 (8)模型输出七、视图和模板八、调试和日志九、API开发十、命令行工具十一、扩展十二、杂项SessionCookie验证

热门专题

小程序开发|微信小程序,小程序开发,小程序,小程序制作,微信小程序开发,小程序公司,小程序开发公司,分销,三级分销系统,分销系统
小程序开发
云南网站建设|云南网站制作,网站建设,云南网站开发,云南网站设计,云南网页设计,云南网站建设公司,云南网站建设
云南网站建设
卓越综合高中|卓越综合高中
卓越综合高中
易捷尔高职单招|易捷尔高职单招,易捷尔高职单招培训,单招分数线,单招录取分数线,高职单招学校分数线
易捷尔高职单招
昆明综合高中|昆明综合高中
昆明综合高中
一年制中专|中专学历,中专是什么学历,中专是什么,中专有什么专业,中专升大专,一年制中专
一年制中专
昆明网站建设|昆明网站建设,昆明网站开发,昆明网站建设公司,昆明网站建设价格,昆明网站设计,昆明网站制作,网页设计,高端网站建设,高端网站设计
昆明网站建设
云南巨榕教育投资集团有限公司|云南巨榕教育投资集团有限公司,巨榕教育集团,巨榕教育
云南巨榕教育投资集团有限公司

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部