“开辟鸿蒙 ” – 鸿蒙系统应用开发尝鲜

开发环境

鸿蒙OS应用开发IDE为DevEco Studio,和Android的Android Studio的一样都是基于Jetbrain IntelliJ IDE社区开源版,界面上几乎长得一样

和Android的不一样的是,提供Java和Javascript两种开发语言,本文将只介绍通过Java方式。由于鸿蒙开发和Android极其相似,所以会将两种移动平台进行比较讲解。

下载地址:https://developer.harmonyos.com/cn/develop/deveco-studio#download

需要指出的是截止到笔者发稿,DevEco Studio只支持Windows版本,使用Mac的话只能使用Windows虚拟机

  • 下载之后,安装SDK
  • 使用脚手架生成的项目代码

应用构建:

  • 工具:gradle, 与Android一样,不过Android在推bazel构建

虚拟机

目前鸿蒙似乎没有提供本地的虚拟机,要想调试运行应用,需要注册华为开发账号,在虚拟机管理设置里面可以添加一台“远程机器”。

目前支持鸿蒙TV和鸿蒙手表的远程虚拟机

文件结构

项目文件结构

  • entry 目录为默认module的目录,类似于Android的 app目录
  • entry/src/main/java 为功能代码,src/test为测试代码,与Android相同
  • entry/src/main/resource 资源目录 与Android的src/main/res类似
  • entry/src/main/config.json 为项目配置代码或入口配置,类似于Android清单文件AndroidManifest.xml, 描述了包名、申请的系统权限、入口页面等等

一些概念

  • Ability: 类似于Android的activity,所以默认的Ability也叫MainAbility; 翻译成中文叫“能力”,笔者表示很confused,百思不得其解
  • AbilitySlice: 有点像Android的Fragment,完成绑定布局
  • AbilityPackage: 类似于Android的Application类
  • HVD: 鸿蒙虚拟机,类似于Android的AVD
  • HAP: 鸿蒙应用安装包扩展名,类似于Android的.apk

代码示例

  • MainAbility (Activity)
package cn.wangbaiyuan.blog;

import cn.wangbaiyuan.blog.slice.MainAbilitySlice;
import ohos.aafwk.ability.Ability;
import ohos.aafwk.content.Intent;

public class MainAbility extends Ability {
    @Override
    public void onStart(Intent intent) {
        super.onStart(intent);
        super.setMainRoute(MainAbilitySlice.class.getName());
    }
}

复制

  • AbilitySlice (Fragment)
package cn.wangbaiyuan.blog.slice;

import cn.wangbaiyuan.blog.data.ListHolder;
import ohos.aafwk.ability.AbilitySlice;
import ohos.aafwk.content.Intent;

public class MainAbilitySlice extends AbilitySlice {
    private ListHolder listHolder;

    @Override
    public void onStart(Intent intent) {
        listHolder = new ListHolder(this);
        setUIContent(listHolder.createComponent());
    }

    @Override
    public void onActive() {
        super.onActive();
    }

    @Override
    public void onForeground(Intent intent) {
        super.onForeground(intent);
    }
}
  • 布局代码,实现一个左右布局:
<?xml version="1.0" encoding="utf-8"?>
<DirectionalLayout
   xmlns:ohos="http://schemas.huawei.com/res/ohos"
   ohos:width="match_parent"
   ohos:height="56vp"
   ohos:orientation="horizontal">
 <Text
    ohos:id="$+id:left_content"
    ohos:width="match_content"
    ohos:height="match_content"
    ohos:weight="1"
    ohos:text_alignment="center"
    ohos:text_size="16fp"
    ohos:text="left"
 />

 <Text
    ohos:id="$+id:right_content"
    ohos:width="match_content"
    ohos:height="match_content"
    ohos:weight="1"
    ohos:text_alignment="center"
    ohos:text_size="16fp"
    ohos:text="right"
 />
</DirectionalLayout>

总结

根据上面的讲解,对于一名Android开发者来说,上手鸿蒙几乎是没有任何学习成本的。鸿蒙推进的节奏比我想象的要快,虽然在开发工具还有继续完善之处;尽管里面有很浓的Android痕迹,但是我们不能以此推测鸿蒙就是Android,我们只能说它在系统API设计上借鉴了Android,以及给移动开发者一种友好的亲近感。

作为中国人,感情上希望中国的软件开发可以持续崛起,在应用创新之后,在底层技术与框架、开源氛围上能与欧美接轨。

文章来源于互联网:“开辟鸿蒙 ” – 鸿蒙系统应用开发尝鲜

阅读全文
下载说明:
1、本站所有资源均从互联网上收集整理而来,仅供学习交流之用,因此不包含技术服务请大家谅解!
2、本站不提供任何实质性的付费和支付资源,所有需要积分下载的资源均为网站运营赞助费用或者线下劳务费用!
3、本站所有资源仅用于学习及研究使用,您必须在下载后的24小时内删除所下载资源,切勿用于商业用途,否则由此引发的法律纠纷及连带责任本站和发布者概不承担!
4、本站站内提供的所有可下载资源,本站保证未做任何负面改动(不包含修复bug和完善功能等正面优化或二次开发),但本站不保证资源的准确性、安全性和完整性,用户下载后自行斟酌,我们以交流学习为目的,并不是所有的源码都100%无错或无bug!如有链接无法下载、失效或广告,请联系客服处理!
5、本站资源除标明原创外均来自网络整理,版权归原作者或本站特约原创作者所有,如侵犯到您的合法权益,请立即告知本站,本站将及时予与删除并致以最深的歉意!
6、如果您也有好的资源或教程,您可以投稿发布,成功分享后有站币奖励和额外收入!
7、如果您喜欢该资源,请支持官方正版资源,以得到更好的正版服务!
8、请您认真阅读上述内容,注册本站用户或下载本站资源即您同意上述内容!
原文链接:https://www.shuli.cc/?p=19335,转载请注明出处。
0

评论0

显示验证码
没有账号?注册  忘记密码?