鴻蒙OS開發包括鴻蒙應用開發(手機,PC,平闆等的app開發)和鴻蒙裝置開發(硬體裝置的開發);對于鴻蒙的應用開發入門,我們要學習的基礎知識包括有開發的環境搭建、啟動的流程,頁面的生命周期、跳轉,常見的布局、元件、事件以及進階元件,Ability,AbilitySlice,無界面的Ability,HiLog等等。那麼到了應用開發進階階段,我們需要掌握的基本知識包括有多線程、資料庫、資料安全、伺服器互動、json、http協定、(視訊/聲音)采集和處理、跨裝置的調用等等。
接下來,就讓我們一起開始HarmonyOS 2.0應用開發的學習吧!
一、賬号注冊
首先我們要在官網新增賬號并且實名認證,官網位址:www.harmonyos.com,在官網右上角點選注冊,若已有華為賬号可以直接登入的哦!
注意,在實名認證的時候,建議選擇下圖中的“是”哦!不然,将來若是需要用到下面的功能時,就得重新實名認證,會比較麻煩!
二、開發工具的下載下傳和安裝
我們都知道做開發,程式設計語言是必不可少的,鴻蒙應用開發,我們可以使用的程式設計語言有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檔案展示出要顯示的内容。
🧡💛💚💙💜🤎💗
制作不易,點個贊,鼓勵鼓勵小北吧!
🧡💛💚💙💜🤎💗
一鍵三連走起來!