鸿蒙app开发,鸿蒙App开发文档

2021-02-05鸿蒙开发(二.五)

Intent

创新互联公司是一家集网站建设,水城企业网站建设,水城品牌网站建设,网站定制,水城网站建设报价,网络营销,网络优化,水城网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

Intent是对象之间传递信息的载体。当一个Ability需要启动另一个Ability时,或者一个AbilitySlice需要导航到另一个AbilitySlice时,可以通过Intent指定启动的目标同时携带相关数据。Intent的构成元素包括Operation与Parameters。

Intent的构成元素

Operation

Action: 表示动作,通常使用系统预置Action,应用也可以自定义Action。例如IntentConstants.ACTION_HOME表示返回桌面动作。

Entity:表示类别,通常使用系统预置Entity,应用也可以自定义Entity。例如Intent.ENTITY_HOME表示在桌面显示图标。

Uri:表示Uri描述。如果在Intent中指定了Uri,则Intent将匹配指定的Uri信息,包括scheme, schemeSpecificPart, authority和path信息。

Flags:表示处理Intent的方式。例如Intent.FLAG_ABILITY_CONTINUATION标记在本地的一个Ability是否可以迁移到远端设备继续运行。

BundleName:表示包描述。如果在Intent中同时指定了BundleName和AbilityName,则Intent可以直接匹配到指定的Ability。

AbilityName: 表示待启动的Ability名称。如果在Intent中同时指定了BundleName和AbilityName,则Intent可以直接匹配到指定的Ability。

DeviceId: 表示运行指定Ability的设备ID。

当Intent用于发起请求时,根据指定元素的不同,分为两种类型:

如果同时指定了BundleName与AbilityName,则根据Ability的全称(例如,“com.demoapp.FooAbility”)来直接启动应用。

如果未同时指定BundleName和AbilityName,则根据Operation中的其他属性来启动应用。

华为鸿蒙120万开发者做300多个APP 在玩文字游戏还是不怀好意捧杀

最近看到很多自媒体都在说:华为鸿蒙系统虽然号称有120万开发者,但鸿蒙原生APP到现在却只有300多个。所以华为自提供系统,至于软件,能用安卓的就用。

咋一看,这种说法好像也没有问题,因为系统最重要的就是生态,如果周边生态跟不上,哪怕是强如当年微软搞得WP也皎然于民。

所以当鸿蒙一发的时候,我们都期望它能够迅速占领市场,完善自己的生态圈,当我们看看有120万的开发者,只开发出320APP的时候,这个数字的背后确实让人困惑不已,也对鸿蒙的前景表示担忧也很正常。毕竟这个数量太少了,难道鸿蒙以后就靠安卓软件活下去吗。

关于鸿蒙的面世,这里不做更多详细探讨,总结起来就是一句,备胎的产物。如果漂亮国没有封禁华为的话,鸿蒙也许只会出现在物联网上应用,手机系统?也许后期会有,但至少不是现在这种情况面世。

但计划赶不上变化这句话很好描述了华为这几年的情况,鸿蒙的出现也许不是最正确合适的时候,但它也足够优异,因为它的发展确实比预料要快一些。根据华为官方说法,有300多家企业加入鸿蒙生态,已经有65款硬件设备可以升级到鸿蒙2.0版本,同时搭载鸿蒙系统的终端设备已经接近一个亿,对于一个新生的系统来说,这确实是个不小的成就。

但看似美丽数据背后却带着未知的危机,虽然数据来看,鸿蒙系统确实已经很好,看上去也不会担心它以后的发展之路。

但实际上鸿蒙现在面对最大的难题就是生态,这就是前面提到120万开发者只开发出300多个原生鸿蒙APP的说法。

鸿蒙系统现在最大的问题还是在生态不够健全,借鸡生蛋终究还是临时办法,加上谷歌现在把鸡也杀了,那么只会自己养鸡生蛋了。所以鸿蒙想要独立成第三大操作系统,不走微软和三星的老路,那么鸿蒙就是首先学会养鸡。

当华为称鸿蒙的生态的开发者有120万的时候,人们觉得华为的鸡已经养起来,但当宣称只开发了320个APP的时候,人们就怀疑华为养的是公鸡吗。因为按照这个算法,几千人才才开发一个APP 这显然不正常。

百万人开发几百个APP显然是不正常的,但在这百万人当中,首先我们要搞清楚有多少是鸿蒙系统的开发者,因为按照华为官方的说法,这120万的开发者是HMS的开发者,因为华为在被漂亮国禁用GSM以后,华为就自行建立了HMS服务。原则上来说,这些开发者都算是鸿蒙生态的开发者,根据华为官方的appgallery统计,支持HMS服务的软件有上百万个,所以如果按照这个算法,这些开发者开发的APP也不算少了。但如果是按照鸿蒙原生的APP计算,那么情况就是另外一种说法,这是计算和统计不一样引起的结果。

如果非要给出一个定义,那么只能说这120万是华为HMS生态的开发者,它还不完全算是鸿蒙系统的开发者,毕竟HMS发布要比鸿蒙早很多。因为这部分人大多是开发软件服务,而不是原生软件,所以120万对鸿蒙来说多少有点文字 游戏 数字。

每一个系统生态的建立都需要时间的沉淀,作为一个只发了几个月的系统,它原生APP少主要可能是两个方面原因造成一是它兼容谷歌安卓的应用,一般性的企业不会再独立开发鸿蒙APP。所以也许这120万里有鸿蒙系统的开发者,但他们还在观望当中,毕竟再搞一套,技术、时间、成本都是一个不可能不考虑的问题。

二就是鸿蒙系统硬件支持还不够,虽然前面说到有接近一亿用户,但在手机领域有多少我们没有准确数据。加上华为手机前景的未知性,这会让这120万当中的观望着更有耐心。毕竟做出来的软件它不是说说就可以,要人力时间精力还是后期维护等等,在鸿蒙现在的情况下,有着更多的观望者其实并不奇怪,因为不管从那个角度来说了,只要开发出安卓应用,同时兼容鸿蒙它已经足够应对目前的情况。

客观来说,目前鸿蒙距离安卓和IOS还有很大差距,也许它比当年的WP用户数量还要少。但鸿蒙作为一个挑战者,一个从零开始的挑战者,它开局的艰难是有预估的,存在的劣势也是必然的。要知道安卓和苹果有今天相当成熟的生态优势,他们是经过时间的沉淀才有这样的结果。当相对于安卓在中国就有500万开发者,苹果的440万开发者,鸿蒙全球才120万开发者,而且还是带着不少水货的情况,这显然还是不够的,想要做第三的市场份额,鸿蒙还是很长的时间和努力才会有机会实现。

目前我们对鸿蒙前景也不要太悲观,毕竟它才几个月大,它的潜力还在,而且目前看它还有它自身的优势。按照目前势头发展下去,当有足够的硬件支撑它的时候,相信很多的观望着会纷纷入局,到了那个时候,鸿蒙原生的APP自然就会丰富起来。

对此你有什么不同的看法,欢迎评论讨论!

鸿蒙应用开发之真机调试

参考 鸿蒙官方文档(点击传送门) ,做一下流程梳理简化,及踩坑记录

华为将真机调试分成物理真机和远程真机。这里说的都是物理真机(手机、平板)。鸿蒙真机调试巨复杂,不像Android那么容易方便。

贴一下官方的调试流程图:

总结一下:

上面这个流程可以忽略,没讲到重点。真机调试是需要在   AppGallery Connect 中创建应用的,调试应用需要的cer和p7b文件是从这里生成的。

先决条件:

1. 鸿蒙手机通过USB连接电脑,并开启USB调试。

2. 一个华为开发者账号,实名认证

3. APP开发工具DevEco-Studio

关键流程:

1. Studio创建应用

2. 如果未登录过,File Project Structure Project Signing Configs签名配置页,点击“Sign In”

3. AppGallery创建应用(包名和Studio创建的一样)

4. 官方文档到这在签名配置页就点Try Again可以自动签名,我试了不行,以下全是手动

5. Studio中Build Generate key and CSR   生成p12和csr文件

6. 获取手机udid,命令行hdc shell bm get -udid(下一步设备管理要用)

7. AppGallery主页 用户与访问 左侧设备管理添加udid的设备(生成p7b时要用)

8. AppGallery主页 用户与访问 左侧证书管理生成cer文件(生成p7b和签名配置要用)

9. AppGallery主页 我的项目 左侧HarmonyOS应用 HAP provision profile,生成p7b文件

10. 最后在签名配置页配好 p12、p7b、cer等参数,运行鸿蒙应用到真机就行了

「鸿蒙开发 3」华为鸿蒙应用开发的低代码(Super Visual)开发方式

开发前可以了解下鸿蒙: [鸿蒙开发 序]华为鸿蒙操作系统(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按钮后发现我们的页面成功跳转了。

到此,本章的目标就完成了。

华为的鸿蒙系统是是什么语言开发的?

根据华为公布的方舟编译器资料,可以得知鸿蒙系统是用C、C++语言编写。

鸿蒙系统和方舟编译器的思路是一样:直接使用机器语言编写app,取消安卓系统的ART虚拟机,直接编译为二进制机器码;

这样的好处是:不需要中转,执行速度快;劣势是:必须要有大量的静态方案、内存空间要求更高。

扩展资料

系统简介

鸿蒙微内核是基于微内核的全场景分布式OS,可按需扩展,实现更广泛的系统安全,主要用于物联网,特点是低时延,甚至可到毫秒级乃至亚毫秒级。

鸿蒙OS实现模块化耦合,对应不同设备可弹性部署,鸿蒙OS有三层架构,第一层是内核,第二层是基础服务,第三层是程序框架 。

可用于手机、平板、PC、汽车等各种不同的设备上。还可以随时用在手机上,但暂时华为手机端依然优先使用安卓、华为电脑端依然优先使用windows和Linux。

参考资料来源:百度百科-华为鸿蒙系统


本文题目:鸿蒙app开发,鸿蒙App开发文档
文章分享:http://scyanting.com/article/hoddge.html