harmonyos鸿蒙,HarmonyOS鸿蒙入门篇
這幾天鴻蒙系統(tǒng)起來(lái)了。開源,全場(chǎng)景。
鴻蒙系統(tǒng)又是什么,官網(wǎng)有:
HarmonyOS是一款“面向未來(lái)”、面向全場(chǎng)景(移動(dòng)辦公、運(yùn)動(dòng)健康、社交通信、媒體娛樂等)的分布式操作系統(tǒng)。在傳統(tǒng)的單設(shè)備系統(tǒng)能力的基礎(chǔ)上,HarmonyOS提出了基于同一套系統(tǒng)能力、適配多種終端形態(tài)的分布式理念,能夠支持多種終端設(shè)備。
華為開發(fā)者聯(lián)盟論壇
https://developer.huawei.com/consumer/
鴻蒙官網(wǎng)
https://www.harmonyos.com
鴻蒙os開發(fā)官網(wǎng)
https://developer.harmonyos.com/cn/develop
Gitee
https://openharmony.gitee.com/openharmony
安裝
下載HUAWEI DevEco Studio。現(xiàn)在還沒支持MacOS
Windows已可以下載。Windows安裝條件:
操作系統(tǒng):Windows10 64 位
內(nèi)存:8G 及以上
硬盤:100G 及以上
分辨率:1280*800 及以上
一開始以為一定要Windows 10,還以為涼涼,因?yàn)橹挥蠾indows 8, 8G內(nèi)存的老摳?jìng)黄稹5菦]有想到成功安裝,并運(yùn)行。
根據(jù)官網(wǎng)文檔:
登錄HarmonysOS應(yīng)用開發(fā)門戶,點(diǎn)擊右上角注冊(cè)按鈕,注冊(cè)開發(fā)者帳號(hào),注冊(cè)指導(dǎo)參考注冊(cè)華為帳號(hào)。如果已有華為開發(fā)者帳號(hào),請(qǐng)直接點(diǎn)擊登錄按鈕。
進(jìn)入HUAWEI DevEco Studio產(chǎn)品頁(yè),下載DevEco Studio安裝包。
雙擊下載的“deveco-studio-xxxx.exe”,進(jìn)入DevEco Studio安裝向?qū)?#xff0c;在如下安裝選項(xiàng)界面勾選DevEco Studio launcher后,點(diǎn)擊Next,直至安裝完成。
如何是JS開發(fā)者,則需要多安裝Node.js
鴻蒙os開發(fā)工具
https://developer.harmonyos.com/cn/develop/deveco-studio
創(chuàng)建 Demo
打開DevEco Studio:Create project目前只支持TV,穿戴設(shè)備,輕量級(jí)穿戴設(shè)備。支持JS,Java
創(chuàng)建成功后,作為Android 開發(fā)者,看到這些界面,甚是熟悉:運(yùn)用Gradle 構(gòu)建項(xiàng)目
看到目錄結(jié)構(gòu),甚是熟悉;
鴻蒙 APP?的基礎(chǔ)認(rèn)識(shí)
鴻蒙?APP
HarmonyOS的應(yīng)用軟件包以APP Pack(Application Package)形式發(fā)布,它是由一個(gè)或多個(gè)HAP(HarmonyOS Ability Package)以及描述每個(gè)HAP屬性的pack.info組成。HAP是Ability的部署包,HarmonyOS應(yīng)用代碼圍繞Ability組件展開。
一個(gè)HAP是由代碼、資源、第三方庫(kù)及應(yīng)用配置文件組成的模塊包,可分為Entry和Feature兩種模塊類型,如圖1所示。
Entry:應(yīng)用的主模塊。一個(gè)APP中,對(duì)于同一設(shè)備類型必須有且只有一個(gè)Eentry類型的HAP,可獨(dú)立安裝運(yùn)行。
Feature:應(yīng)用的動(dòng)態(tài)特性模塊。一個(gè)APP可以包含一個(gè)或多個(gè)Feature類型的HAP,也可以不含。只有包含Ability的HAP才能夠獨(dú)立運(yùn)行。
DemoApp
A base class used for user to initialize each hap.
package com.yuncai.demoapp;?import ohos.aafwk.ability.AbilityPackage;?public class DemoApp extends AbilityPackage {@Overridepublic void onInitialize() {super.onInitialize();}}?
MainAbility
Ability....emmmm,我是感覺是Activity....
官網(wǎng)定義:
Ability 是應(yīng)用所具備能力的抽象,也是應(yīng)用程序的重要組成部分。一個(gè)應(yīng)用可以具備多種能力(即可以包含一個(gè)或者多個(gè)Ability),HarmonyOS支持應(yīng)用以Ability為單位進(jìn)行部署。Ability分為兩種類型:FA(Feature Ability)和PA(Particle Ability)。FA/PA是應(yīng)用的基本組成單元,能夠?qū)崿F(xiàn)特定的業(yè)務(wù)功能。FA有UI界面,而PA無(wú)UI界面。每種類型為開發(fā)者提供了不同的模板,以便實(shí)現(xiàn)不同的業(yè)務(wù)功能。
Ability API
https://developer.harmonyos.com/cn/docs/documentation/doc-references/ability-0000001054120007
package com.yuncai.demoapp;import com.yuncai.demoapp.slice.MainAbilitySlice;import ohos.aafwk.ability.Ability;import ohos.aafwk.content.Intent;public class MainAbility extends Ability {@Overridepublic void onStart(Intent intent) {super.onStart(intent);super.setMainRoute(MainAbilitySlice.class.getName());}}
MainAbilitySlice
AbilityPackageAbilitySlice主要用于承載Ability的具體邏輯實(shí)現(xiàn)和界面UI,是應(yīng)用顯示、運(yùn)行和跳轉(zhuǎn)的最小單元。AbilitySlice通過setUIContent()為界面設(shè)置布局
package com.yuncai.demoapp.slice;import ohos.aafwk.ability.AbilitySlice;import ohos.aafwk.content.Intent;import ohos.agp.components.Button;import ohos.agp.components.DirectionalLayout;import ohos.agp.components.DirectionalLayout.LayoutConfig;import ohos.agp.components.Text;import ohos.agp.colors.RgbColor;import ohos.agp.components.element.Element;import ohos.agp.components.element.ShapeElement;import ohos.agp.components.element.StateElement;import ohos.agp.utils.Color;import ohos.agp.utils.TextAlignment;public class MainAbilitySlice extends AbilitySlice {private DirectionalLayout myLayout = new DirectionalLayout(this);@Overridepublic void onStart(Intent intent) {super.onStart(intent);LayoutConfig config = new LayoutConfig(LayoutConfig.MATCH_PARENT, LayoutConfig.MATCH_PARENT);myLayout.setLayoutConfig(config);ShapeElement element = new ShapeElement();element.setRgbColor(new RgbColor(255, 255, 255));myLayout.setBackground(element);LayoutConfig titleConfig = new LayoutConfig(LayoutConfig.MATCH_PARENT, LayoutConfig.MATCH_CONTENT);Text title = new Text(this);title.setLayoutConfig(titleConfig);title.setPadding(0, 50, 0, 10);title.setText("Hello World");title.setTextColor(new Color(0xFF000000));title.setTextSize(50);title.setTextAlignment(TextAlignment.CENTER);myLayout.addComponent(title);Text text = new Text(this);text.setLayoutConfig(titleConfig);text.setText("暈菜一員");text.setTextColor(new Color(0xFF000000));text.setTextSize(50);text.setTextAlignment(TextAlignment.CENTER);myLayout.addComponent(text);super.setUIContent(myLayout);}@Overridepublic void onActive() {super.onActive();}@Overridepublic void onForeground(Intent intent) {super.onForeground(intent);}}
運(yùn)行項(xiàng)目
運(yùn)行項(xiàng)目前,需選擇設(shè)備。
DevEco ->?HVD Manager (模擬器)
當(dāng)打開HVD Manager 會(huì)跳轉(zhuǎn)到華為開發(fā)者聯(lián)盟進(jìn)行登陸授權(quán),,一開始用chrome還不行,切換到了IE才打開了允許授權(quán)彈窗。
點(diǎn)擊允許后,回到DevEco,會(huì)看到出現(xiàn)了兩臺(tái)模擬器:
這時(shí)候運(yùn)行一臺(tái),運(yùn)行demo項(xiàng)目...成功:
總結(jié)
以上是生活随笔為你收集整理的harmonyos鸿蒙,HarmonyOS鸿蒙入门篇的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 学校老师要求微信群里的家长下载钉钉建群,
- 下一篇: 第一部分 Word练习题