十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
开发前可以了解下鸿蒙: [鸿蒙开发 序]华为鸿蒙操作系统(HarmonyOS)简介及开发环境搭建
成都创新互联专注于峨山县企业网站建设,响应式网站开发,商城网站制作。峨山县网站建设公司,为峨山县等地区提供建站服务。全流程专业公司,专业设计,全程项目跟踪,成都创新互联专业和态度为您提供的服务
开发前的准备:「鸿蒙开发 1」华为鸿蒙应用集成开发环境DevEco Studio安装和设置
了解鸿蒙应用开发的基本开发流程:「鸿蒙开发 2」第一个华为鸿蒙(HarmonyOS)应用程序(App)
本章目标:
1 了解华为鸿蒙应用开发的可视化(低代码)方式
2 通过构建一个简单的具有页面跳转功能的应用
低代码开发方式,即通过可视化界面开发方式快速构建布局、编辑UI界面,可有效降低用户的上手成本并提升用户构建UI界面的效率。
1 打开DevEco Studio,创建一个新工程,选择支持Phone / Tablet / Wearable(手机 / 平板 / s可穿戴)的模板,我们在此直接选择Empty Ability
Project name工程名称填SuperVisual
Development mode开发方式选择Super Visual
其它的可以使用默认设置,点击完成,进入编辑界面
1 在Project(项目)窗口,删除工程运行默认的入口文件夹:“entry src main js default pages index”文件夹
2 在Project窗口,选择工程中的“entry src main js default pages”,单击鼠标右键,选择“New JS Visual”
JS visual name填first,点击完成,进入编辑界面
创建完成后,可以看到“entry src main supervisual default pages page page.visual”的文件目录结构
3 第一个页面内有一个容器、文本和一个按钮,通过Div、Text和Button组件来实现
(1)分别选中first.visual画面中的Text、Div组件,单击鼠标右键,选择Delete删除
(2)选中UI Control中的Div组件,将其拖至画布
点击右侧属性样式栏中的通用样式图标(General),设置Div组件的高度Height为100%,使其占满屏幕
点击右侧属性样式栏中的样式图标(Flex),设置Div组件的FlexDirection样式为column,使Div的主轴垂直;设置Div组件的JustifyContent样式为center,使得其子组件在主轴上居中显示;设置Div组件的AlignItems样式为center,使得其子组件在交叉轴上居中显示
(3)选中UI Control中的Text组件,将其拖至Div组件的中央区域
点击右侧属性样式栏中的属性图标(Properties),设置Text组件的Content属性为 “ Hello World ”
点击右侧属性样式栏中的通用样式图标(General),设置Text组件的宽(width)为100%,高(height)为100px
点击右侧属性样式栏中的样式图标(Feature),设置组件的FontSize样式为60px,使得其文字放大;设置组件的TextAlign样式为center,使得组件文字居中显示
(4)选中UI Control中的Button组件,将其拖至Text组件下面
点击右侧属性样式栏中的属性图标(Properties),设置Button组件的Value属性为 “ Next ”,
点击右侧属性样式栏中的通用样式图标(General),设置按的宽(width)为40%,高(height)为60px
点击右侧属性样式栏中的样式图标(Feature),设置组件的FontSize样式为40px
至此,第一个页面创建完成
我们可以在预览窗口中看效果,点击右侧边栏的Preview打开预览窗口
1 在Project窗口,选择工程中的“entry src main js default pages”,单击鼠标右键,选择“New JS Visual”
Visual配置界面,JS visual name填second,回车(Enter键)或者点击完成,进入编辑界面
2 第二个页面中有一个容器和文本,通过Div、Text组件实现,现在编辑器已经为我们创建好了,我们就来修改下它们的属性(你也可以删除原有的自己创建,具体步骤参考本章第二节“二 创建第一个页面”)。
选中Text组件,点击右侧属性样式栏中的属性图标(Properties),设置Text组件的Content属性为 “ Hi,I'm always here. ”
点击右侧属性样式栏中的通用图标(General),设置组件的宽(width)为100%,高为60px
点击右侧属性样式栏中的样式图标(Feature),设置组件的FontSize样式为36px,TextAlign样式为center
这样我们的第二个页面创建成功了
1 在Project窗口,打开工程中的“entry src main js default pages first first.js”, 导入router模块,页面路由router根据页面的uri来找到目标页面,从而实现跳转。示例代码如下:
2 打开或者切换到first.visual页面,选中画布上的Button组件,点击右侧属性样式栏中的事件图标(Events),鼠标点击Click事件的输入框,选择launch事件
3 在预览窗口中查看项目效果,点击Next按钮后发现我们的页面成功跳转了。
到此,本章的目标就完成了。
鸿蒙系统作为与安卓系统和IOS系统相区别的全新手机系统,其桌面也是与众不同的,大家在更新鸿蒙系统之后,如果想要进行个性化设置,但不知道该怎么操作的小伙伴们,快来跟随我了解一下吧。
鸿蒙系统桌面怎么设置?
1、添加图片:
在屏幕上,两个手指向里捏,就会在屏幕下方出现“窗口小工具”,向右滑动,找到图片,点击后屏幕即可出现,注意提前留出屏幕空间(闹钟、日历、天气等等操作同理,只要在窗口小工具中出现,都可以添加);
2、更改图片和调整大小:
单击添加好的图片,就可以浏览相册更改,如果长按图片,会出现蓝色边框,拉动可以更该照片大小,还可以拖动换位置;
3、文件夹变大:
长按文件夹,出现“显示为大文件夹”,选中即可;
4、图标和背景壁纸:
直接在主题里花几元钱购买的,在桌面进行布局前,提前先应用一个主题会事半功倍,也可以单独设置。
去年5月,美国正式启动对华为的制裁,谷歌断供华为。华为启动了备胎计划,在系统方面,拿出了自研的鸿蒙系统准备对抗安卓系统。
备胎计划一出,可谓是举国皆惊,没想到华为居然还留有后手。
那么华为的鸿蒙系统到底是什么?又真的有华为和网友们说的那么厉害吗?
我们先来说说华为的鸿蒙系统到底是什么。
鸿蒙系统是一款基于微内核的面向全场景的分布式操作系统,可能听起来非常高级的样子,但我们用白话说,就是鸿蒙系统把操作系统分成了两个部分,一个是系统控制的核心控制单元,另一个是面向不同场景的功能模块。
那么这样做有什么好处呢?
这样做的好处就是它可以解决安卓系统目前的所有硬伤。
现在的安卓系统可谓是千疮百孔,因为它存在的时间太久了,内部系统过于庞大、繁杂,所以基本没有办法对安卓系统做一个彻底的优化。
如果你的职业是程序员或是系统架构师这样的职业的话,你肯定明白我的意思。优化别人的程序,一般比自己做一个程序还要难。甚至你少写一个逗号都会让这整个功能模块出问题。所以最好的办法就是在不动原程序的基础上,加新的东西进去,但这样时间久了以后就会发现这套程序越来越大,最后彻底崩溃。
除了程序混乱以外,安卓系统的工作流程也特别麻烦,基本上核心的控制单元贯穿了整套代码,当你想给安卓系统更新大版本的时候,就会变得非常复杂。重点是国产手机厂商还不支持谷歌的全家桶,这样的话就必须自己去定制一些功能,还要有自己的特色。这样一来,你比谷歌官方更新晚个一年半载是很正常的。不过这个基本都是属于套马甲的行为,没有多少深层次的改动。
华为的鸿蒙系统属于下一代操作系统,这一代操作系统,讲究的是分布式管理,为的就是解决前面提到的那些安卓的硬伤。
而且谷歌本来也在研究自己的下一代操作系统,淘汰安卓只是时间问题。
前面我们说过,华为鸿蒙系统的主要任务之一就是解决安卓系统的硬伤,而另一方面,它也是为了自己的生态考虑。
华为的生态相对于小米要慢一点,以目前情况来看,小米的智能生态链在国内还是风生水起,几乎没有对手。但我想说,虽然华为的生态布局要慢一点,但是华为一直在默默地布局自己智能生态所需要的基础保障。
这些保障都有什么呢?比如华为的路由器,很多华为路由器都是采用了华为自己的凌霄WiFi芯片,不要小看这种芯片,无线网络是智能家居的核心,也是最基础的保障,甚至你大部分的互动操作都是通过它来完成的。就比如这个路由器可以和华为mate30系列、p40系列等华为手机在连接2.4G网络的同时连接5G网络。其次它还有 游戏 的专用通道、智能家居的专用通道,在间接提升稳定性的同时还提高了网速,这就是一个基础保障的环节。
如果华为的整个生态都在用自家WiFi芯片,那么它就可以通过芯片识别来自动识别设备,自动优化网络,给你提供一个很好的网络基础。
另一方面,华为已经开始大规模扩展生态企业和生态产品,重点是它还和格力那些大企业有一些深入合作,鸿蒙系统就是实现生态闭环的最后一个环节。它可以让不同设备之间有更深度的合作,所谓的微内核就是把所有的系统核心控制单元放在同一个地方,并且这个内核是通用的,不论是手机还是电脑都可以使用。这样的话即使你有了安全补丁或者是大版本更新的时候,所有的设备都可以同时更新,不需要单独适配更新。这个东西是现有安卓用户这辈子都很难体验到的。
除了核心控制单元以外,还有很多并行的功能模块,而这些模块就代表了不同的设备,像什么手机、电视、电脑,华为只需要针对不同功能推出不同的补丁包就行,不用深度定制系统。这样就极大的减少了维护时间,重点是系统模块非常统一,稳定性和安全性都有了很大的保障。
通过这种分布式的模块化设计我们可以让更多的设备达到一个更深度的连接。就比如说我们可以把无人机的摄像头和自己的手机相连,这样你自己就可以实时看到无人机拍到的画面。你们有没有看过《速度与激情》这部电影,那里面的天眼系统就是在调用我们生活中的所有摄像头来捕捉目标。
虽然说华为的鸿蒙系统还没这么高级,但逻辑是相同的。
那我们什么时候可以用上鸿蒙系统呢?
对这个问题,其实我并没有你们想的那么乐观。
现在的鸿蒙系统我个人认为还只是一个半成品,虽然说它已经在电视上使用了,但电视的系统毕竟相对于手机电脑来说非常简单,也没有那么多复杂的操作。
如果我猜的没错的话,现在的系统就是鸿蒙系统中只适合电视使用的那个模块,距离完整的鸿蒙系统还差的非常远。
华为手机开启鸿蒙系统需要安装更新,操作方法如下:
设备:华为荣耀10
系统:EMUI10.0.0.175
软件:我的华为10.0.10
1、在手机中打开我的华为。
2、点击进入鸿蒙系统公测。
3、查看升级机型,点击参加公测。
4、点击参加公测。
5、点击下载描述文件。
6、进入软件更新,点击新版本进行更新即可(更新之后即可成为鸿蒙系统)。
Ability
Ability是应用所具备能力的抽象
2.onActive()
Page会在进入INACTIVE状态后来到前台,然后系统调用此回调。Page在此之后进入ACTIVE状态,该状态是应用与用户交互的状态。Page将保持在此状态,除非某类事件发生导致Page失去焦点,比如用户点击返回键或导航到其他Page。当此类事件发生时,会触发Page回到INACTIVE状态,系统将调用onInactive()回调。此后,Page可能重新回到ACTIVE状态,系统将再次调用onActive()回调。因此,开发者通常需要成对实现onActive()和onInactive(),并在onActive()中获取在onInactive()中被释放的资源。
3.onInactive()
当Page失去焦点时,系统将调用此回调,此后Page进入INACTIVE状态。开发者可以在此回调中实现Page失去焦点时应表现的恰当行为。
4.onBackground()
如果Page不再对用户可见,系统将调用此回调通知开发者用户进行相应的资源释放,此后Page进入BACKGROUND状态。开发者应该在此回调中释放Page不可见时无用的资源,或在此回调中执行较为耗时的状态保存操作。
5.onForeground()
处于BACKGROUND状态的Page仍然驻留在内存中,当重新回到前台时(比如用户重新导航到此Page),系统将先调用onForeground()回调通知开发者,而后Page的生命周期状态回到INACTIVE状态。开发者应当在此回调中重新申请在onBackground()中释放的资源,最后Page的生命周期状态进一步回到ACTIVE状态,系统将通过onActive()回调通知开发者用户。
6.onStop()
系统将要销毁Page时,将会触发此回调函数,通知用户进行系统资源的释放。销毁Page的可能原因包括以下几个方面:
用户通过系统管理能力关闭指定Page,例如使用任务管理器关闭Page。
用户行为触发Page的terminateAbility()方法调用,例如使用应用的退出功能。
配置变更导致系统暂时销毁Page并重建。
系统出于资源管理目的,自动触发对处于BACKGROUND状态Page的销毁。
AbilitySlice生命周期
AbilitySlice生命周期回调与Page的相应回调类似,因此不再赘述。由于AbilitySlice承载具体的页面,开发者必须重写AbilitySlice的onStart()回调,并在此方法中通过setUIContent()方法设置页面。
Page与AbilitySlice生命周期关联
当AbilitySlice处于前台且具有焦点时,其生命周期状态随着所属Page的生命周期状态的变化而变化。当一个Page拥有多个AbilitySlice时,例如:MyAbility下有FooAbilitySlice和BarAbilitySlice,当前FooAbilitySlice处于前台并获得焦点,并即将导航到BarAbilitySlice,在此期间的生命周期状态变化顺序为:
对应两个slice的生命周期方法回调顺序为:
FooAbilitySlice.onInactive() -- BarAbilitySlice.onStart() -- BarAbilitySlice.onActive() -- FooAbilitySlice.onBackground()
在整个流程中,MyAbility始终处于ACTIVE状态。但是,当Page被系统销毁时,其所有已实例化的AbilitySlice将联动销毁,而不仅是处于前台的AbilitySlice。
开发者模式可以让我们更改某些功能的默认显示,比如屏幕显示宽度、5G网络模式等等。那鸿蒙系统怎么进入开发者模式?
鸿蒙系统怎么进入开发者模式?
1、在手机设置菜单中点击【关于手机】选项。
2、连续点击7次【版本号】即可进入开发者模式。
本文以华为mate40 pro为例适用于Harmony OS 2.0系统