鸿蒙OS开发包括鸿蒙应用开发(手机,PC,平板等的app开发)和鸿蒙设备开发(硬件设备的开发);对于鸿蒙的应用开发入门,我们要学习的基础知识包括有开发的环境搭建、启动的流程,页面的生命周期、跳转,常见的布局、组件、事件以及高级组件,Ability,AbilitySlice,无界面的Ability,HiLog等等。那么到了应用开发进阶阶段,我们需要掌握的基本知识包括有多线程、数据库、数据安全、服务器交互、json、http协议、(视频/声音)采集和处理、跨设备的调用等等。
接下来,就让我们一起开始HarmonyOS 2.0应用开发的学习吧!
一、账号注册
首先我们要在官网注册账号并且实名认证,官网地址:www.harmonyos,在官网右上角点击注册,若已有华为账号可以直接登录的哦!
注意,在实名认证的时候,建议选择下图中的“是”哦!不然,将来若是需要用到下面的功能时,就得重新实名认证,会比较麻烦!
二、开发工具的下载和安装
我们都知道做开发,编程语言是必不可少的,鸿蒙应用开发,我们可以使用的编程语言有Java、JavaScript、C/C++、还有华为自主研发的目前暂时还不可用的编程语言“仓颉”;而鸿蒙硬件开发最适合的语言还是C/C++。
那么我们还是要在官网的“开发”栏中下载开发工具IDE
小北选择的是下图的版本
下面就开始安装了,注意路径不能有中文字符哦!一直Next即可,安装很简单。
安装好之后,我们需要同意协议
之后,我们还要下载开发所用的SDK,路径可以自己设置
三、个性化IDE,并创建项目
安装完成之后,我们可以对IDE进行一些个性化的设置,例如修改自己喜欢的主题,自动导包,设置字体大小,注释的样式等等。
创建项目
这样一个项目就已经创建好了,相信大家看见这个UI会有IDEA非常熟悉的感觉,你的感觉没有错,IDE就是模仿IDEA来设计的,接下来我们可以对开发工具的个性化设置了,点击File->settings…
1.设置主题
2.设置字体大小
3.设置注释样式
4.设置自动导包
四、项目的结构分析
五、Run第一个项目,Hello World
(1)登陆Huawei账号:
会跳转到浏览器中登录:
(2)配置模拟器
注意; 模拟器并不需要我们去下载的哦,它是在华为的服务器中的,这样我们就可以节省了很多资源,并且可以直接使用,还有一点就是模拟器的每次使用是有时间限制的哦(1个小时),当时间到了,我们还需要使用,则可以再次打开使用即可。
(3)运行项目
(4)页面结构
每一个Ability都会被单独打包成.hap
的文件,也就是一个Hap包,而将所有的Hap包,打包整理到一起就成为了一个应用App
(5)config.json配置文件
在这个配置文件中存放的是跟应用App相关的所有信息,包括项目的配置信息(app,例如项目的版本号,开发商的信息等等);应用在手机等各种设备上的配置信息(deviceConfig,例如应用使用时的进程名称、是否联网使用流量,是否支持后台静默运行等等);代码中的配置信息(module,例如Ability的配置)
下面我们来详细分析下config.json配置文件的部分代码块
//整个项目的配置信息
"app": {
"bundleName": "com.example.myapplication",
"vendor": "example",
"version": {
"code": 1000000,
"name": "1.0.0"
}
}
//解释代码块:
bundleName :包名
vendor :应用的开发厂商的信息
version :版本号,code只能公司内部开发人员可见,name使用者可见
//应用在手机等各种设备上的配置信息,也就是应用权限
"deviceConfig": {}
//花括号为空就是什么权限都没给,
//代码中的配置信息
"module": {
"package": "com.example.myapplication",
"name": ".MyApplication",
"mainAbility": "com.example.myapplication.MainAbility",
"deviceType": [
"phone"
],
"distro": {
"deliveryWithInstall": true,
"moduleName": "entry",
"moduleType": "entry",
"installationFree": false
},
"abilities": [
{
"skills": [
{
"entities": [
"entity.system.home"
],
"actions": [
"action.system.home"
]
}
],
"orientation": "unspecified",
"name": "com.example.myapplication.MainAbility",
"icon": "$media:icon",
"description": "$string:mainability_description",
"label": "$string:entry_MainAbility",
"type": "page",
"launchType": "standard"
}
]
}
//解释代码块:
package:包名
name:当前hap包的名字
mainAbility ;为hap包的入口ability的名称
deviceType :表示项目可以运行在哪些设备上
distro :为hap包的一些描述信息
deliveryWithInstall:表示当前的hap包是否支持随应用安装
moduleName :当前hap包的名称
moduleType :当前hap包的类型,entry表示当前hap包是一个主要的模块,可以独立的安装
installationFree : 是否支持无障碍安装
abilities :为ability的配置信息
(6)程序的运行过程分析
当我们运行程序时,首先会解析config.json文件,并初始化,随后会再获取入口Ability的完全类名,然后会根据这个全类名来找到Ability并且运行它,然后还会接着继续运行Ability的子页面,最终会加载xml文件展示出要显示的内容。
🧡💛💚💙💜🤎💗
制作不易,点个赞,鼓励鼓励小北吧!
🧡💛💚💙💜🤎💗
一键三连走起来!
更多推荐
HarmonyOS实战 — HUAWEI DevEco Studio 鸿蒙应用开发自学第一课!冲,冲,冲
发布评论