鸿蒙开发入门

HarmonyOS概述

鸿蒙系统是华为自主研发的面向全场景的分布式操作系统。能够将生活场景中各类终端进行整合,可以实现不同终端设备间的快速连接、资源共享、匹配合适设备、提供流畅的全场景体验。

技术架构

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

开发工具

使用HUAWEI DevEco Studio 界面类似Android Studio 下载链接
鸿蒙开发入门_第1张图片

使用方式

1.要进行开发必须要注册华为账号并实名制(身份证认证审核时间较长,最好使用银行卡实名认证)
鸿蒙开发入门_第2张图片
2. 创建应用
鸿蒙开发入门_第3张图片
File->Project Structure->Project->Signing Configs 设置签名,应用才可以安装手机进行调试
鸿蒙开发入门_第4张图片
配置 AppGalleryConnect

我的项目 中添加新的项目会生成对应项目名称 ,添加包名选用代码里config.json->app-> bunldeName

鸿蒙开发入门_第5张图片
鸿蒙开发入门_第6张图片
我的应用 HarmonyOS 新建应用将刚才项目添加进去
鸿蒙开发入门_第7张图片
重新retry,可以看到签名已经成功生成,这时可以安装到设备调试
鸿蒙开发入门_第8张图片
3.启动模拟器

编译器支持真机调试和远程模拟器,Tool->Device Manager可以选择模拟器如下,但使用真机调试速度更快
鸿蒙开发入门_第9张图片
鸿蒙开发入门_第10张图片

代码案例
目录说明

逻辑代码都保存在src目录里,MainAbility为主页面用于生命周期控制,slice为布局文件页面可以进行点击事件等逻辑开发

resources为资源目录,用于保存xml布局,文件,图片,属性配置等
鸿蒙开发入门_第11张图片

功能实现

完成页面跳转展示

MainAbilitySlice

public class MainAbilitySlice extends AbilitySlice {
    @Override
    public void onStart(Intent intent) {
        super.onStart(intent);
        super.setUIContent(ResourceTable.Layout_ability_main);
        //获取按钮事件
        Button btn = (Button) findComponentById(ResourceTable.Id_btn);
        //按钮监听
        btn.setClickedListener(new Component.ClickedListener() {
            @Override
            public void onClick(Component component) {
                //跳转Intent配置
                Intent intent1 = new Intent();
                Operation operation = new Intent.OperationBuilder()
                        .withDeviceId("")
                        .withBundleName("com.example.testdemo2")
                        .withAbilityName("com.example.testdemo2.SecAblility").build();
                intent1.setOperation(operation);
                startAbility(intent1);
            }
        });
    }
}

Layout_ability_main



 
    
 
    
鸿蒙与安卓差异性分析

1.鸿蒙兼容安卓Apk,大部分app可以正常安装使用,但部分有兼容问题

2.鸿蒙打包会生成多个hap文件,生成最终文件后缀为app;安卓打包后缀apk,二者不可相互转换

3.现在鸿蒙和安卓不支持相互调用,如果鸿蒙app想启动安卓apk的页面是不行的

4.鸿蒙无法与安卓共享三方库,必须要三方库对鸿蒙进行适配,例如,支付宝提供了鸿蒙的hap sdk包,但是百度地图没有提供

5.安卓可以将apk发布到应用商店也可以自行安装,但是鸿蒙要把app发布到华为应用商店

你可能感兴趣的:(鸿蒙)