開(kāi)發(fā)前可以了解下鴻蒙: [鴻蒙開(kāi)發(fā) 序]華為鴻蒙操作系統(tǒng)(HarmonyOS)簡(jiǎn)介及開(kāi)發(fā)環(huán)境搭建

站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到合浦網(wǎng)站設(shè)計(jì)與合浦網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類(lèi)型包括:做網(wǎng)站、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名申請(qǐng)、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋合浦地區(qū)。
開(kāi)發(fā)前的準(zhǔn)備:「鴻蒙開(kāi)發(fā) 1」華為鴻蒙應(yīng)用集成開(kāi)發(fā)環(huán)境DevEco Studio安裝和設(shè)置
了解鴻蒙應(yīng)用開(kāi)發(fā)的基本開(kāi)發(fā)流程:「鴻蒙開(kāi)發(fā) 2」第一個(gè)華為鴻蒙(HarmonyOS)應(yīng)用程序(App)
本章目標(biāo):
1 了解華為鴻蒙應(yīng)用開(kāi)發(fā)的可視化(低代碼)方式
2 通過(guò)構(gòu)建一個(gè)簡(jiǎn)單的具有頁(yè)面跳轉(zhuǎn)功能的應(yīng)用
低代碼開(kāi)發(fā)方式,即通過(guò)可視化界面開(kāi)發(fā)方式快速構(gòu)建布局、編輯UI界面,可有效降低用戶的上手成本并提升用戶構(gòu)建UI界面的效率。
1 打開(kāi)DevEco Studio,創(chuàng)建一個(gè)新工程,選擇支持Phone / Tablet / Wearable(手機(jī) / 平板 / s可穿戴)的模板,我們?cè)诖酥苯舆x擇Empty Ability
Project name工程名稱填SuperVisual
Development mode開(kāi)發(fā)方式選擇Super Visual
其它的可以使用默認(rèn)設(shè)置,點(diǎn)擊完成,進(jìn)入編輯界面
1 在Project(項(xiàng)目)窗口,刪除工程運(yùn)行默認(rèn)的入口文件夾:“entry src main js default pages index”文件夾
2 在Project窗口,選擇工程中的“entry src main js default pages”,單擊鼠標(biāo)右鍵,選擇“New JS Visual”
JS visual name填first,點(diǎn)擊完成,進(jìn)入編輯界面
創(chuàng)建完成后,可以看到“entry src main supervisual default pages page page.visual”的文件目錄結(jié)構(gòu)
3 第一個(gè)頁(yè)面內(nèi)有一個(gè)容器、文本和一個(gè)按鈕,通過(guò)Div、Text和Button組件來(lái)實(shí)現(xiàn)
(1)分別選中first.visual畫(huà)面中的Text、Div組件,單擊鼠標(biāo)右鍵,選擇Delete刪除
(2)選中UI Control中的Div組件,將其拖至畫(huà)布
點(diǎn)擊右側(cè)屬性樣式欄中的通用樣式圖標(biāo)(General),設(shè)置Div組件的高度Height為100%,使其占滿屏幕
點(diǎn)擊右側(cè)屬性樣式欄中的樣式圖標(biāo)(Flex),設(shè)置Div組件的FlexDirection樣式為column,使Div的主軸垂直;設(shè)置Div組件的JustifyContent樣式為center,使得其子組件在主軸上居中顯示;設(shè)置Div組件的AlignItems樣式為center,使得其子組件在交叉軸上居中顯示
(3)選中UI Control中的Text組件,將其拖至Div組件的中央?yún)^(qū)域
點(diǎn)擊右側(cè)屬性樣式欄中的屬性圖標(biāo)(Properties),設(shè)置Text組件的Content屬性為 “ Hello World ”
點(diǎn)擊右側(cè)屬性樣式欄中的通用樣式圖標(biāo)(General),設(shè)置Text組件的寬(width)為100%,高(height)為100px
點(diǎn)擊右側(cè)屬性樣式欄中的樣式圖標(biāo)(Feature),設(shè)置組件的FontSize樣式為60px,使得其文字放大;設(shè)置組件的TextAlign樣式為center,使得組件文字居中顯示
(4)選中UI Control中的Button組件,將其拖至Text組件下面
點(diǎn)擊右側(cè)屬性樣式欄中的屬性圖標(biāo)(Properties),設(shè)置Button組件的Value屬性為 “ Next ”,
點(diǎn)擊右側(cè)屬性樣式欄中的通用樣式圖標(biāo)(General),設(shè)置按的寬(width)為40%,高(height)為60px
點(diǎn)擊右側(cè)屬性樣式欄中的樣式圖標(biāo)(Feature),設(shè)置組件的FontSize樣式為40px
至此,第一個(gè)頁(yè)面創(chuàng)建完成
我們可以在預(yù)覽窗口中看效果,點(diǎn)擊右側(cè)邊欄的Preview打開(kāi)預(yù)覽窗口
1 在Project窗口,選擇工程中的“entry src main js default pages”,單擊鼠標(biāo)右鍵,選擇“New JS Visual”
Visual配置界面,JS visual name填second,回車(chē)(Enter鍵)或者點(diǎn)擊完成,進(jìn)入編輯界面
2 第二個(gè)頁(yè)面中有一個(gè)容器和文本,通過(guò)Div、Text組件實(shí)現(xiàn),現(xiàn)在編輯器已經(jīng)為我們創(chuàng)建好了,我們就來(lái)修改下它們的屬性(你也可以刪除原有的自己創(chuàng)建,具體步驟參考本章第二節(jié)“二 創(chuàng)建第一個(gè)頁(yè)面”)。
選中Text組件,點(diǎn)擊右側(cè)屬性樣式欄中的屬性圖標(biāo)(Properties),設(shè)置Text組件的Content屬性為 “ Hi,I'm always here. ”
點(diǎn)擊右側(cè)屬性樣式欄中的通用圖標(biāo)(General),設(shè)置組件的寬(width)為100%,高為60px
點(diǎn)擊右側(cè)屬性樣式欄中的樣式圖標(biāo)(Feature),設(shè)置組件的FontSize樣式為36px,TextAlign樣式為center
這樣我們的第二個(gè)頁(yè)面創(chuàng)建成功了
1 在Project窗口,打開(kāi)工程中的“entry src main js default pages first first.js”, 導(dǎo)入router模塊,頁(yè)面路由router根據(jù)頁(yè)面的uri來(lái)找到目標(biāo)頁(yè)面,從而實(shí)現(xiàn)跳轉(zhuǎn)。示例代碼如下:
2 打開(kāi)或者切換到first.visual頁(yè)面,選中畫(huà)布上的Button組件,點(diǎn)擊右側(cè)屬性樣式欄中的事件圖標(biāo)(Events),鼠標(biāo)點(diǎn)擊Click事件的輸入框,選擇launch事件
3 在預(yù)覽窗口中查看項(xiàng)目效果,點(diǎn)擊Next按鈕后發(fā)現(xiàn)我們的頁(yè)面成功跳轉(zhuǎn)了。
到此,本章的目標(biāo)就完成了。
Intent
Intent是對(duì)象之間傳遞信息的載體。當(dāng)一個(gè)Ability需要啟動(dòng)另一個(gè)Ability時(shí),或者一個(gè)AbilitySlice需要導(dǎo)航到另一個(gè)AbilitySlice時(shí),可以通過(guò)Intent指定啟動(dòng)的目標(biāo)同時(shí)攜帶相關(guān)數(shù)據(jù)。Intent的構(gòu)成元素包括Operation與Parameters。
Intent的構(gòu)成元素
Operation
Action: 表示動(dòng)作,通常使用系統(tǒng)預(yù)置Action,應(yīng)用也可以自定義Action。例如IntentConstants.ACTION_HOME表示返回桌面動(dòng)作。
Entity:表示類(lèi)別,通常使用系統(tǒng)預(yù)置Entity,應(yīng)用也可以自定義Entity。例如Intent.ENTITY_HOME表示在桌面顯示圖標(biāo)。
Uri:表示Uri描述。如果在Intent中指定了Uri,則Intent將匹配指定的Uri信息,包括scheme, schemeSpecificPart, authority和path信息。
Flags:表示處理Intent的方式。例如Intent.FLAG_ABILITY_CONTINUATION標(biāo)記在本地的一個(gè)Ability是否可以遷移到遠(yuǎn)端設(shè)備繼續(xù)運(yùn)行。
BundleName:表示包描述。如果在Intent中同時(shí)指定了BundleName和AbilityName,則Intent可以直接匹配到指定的Ability。
AbilityName: 表示待啟動(dòng)的Ability名稱。如果在Intent中同時(shí)指定了BundleName和AbilityName,則Intent可以直接匹配到指定的Ability。
DeviceId: 表示運(yùn)行指定Ability的設(shè)備ID。
當(dāng)Intent用于發(fā)起請(qǐng)求時(shí),根據(jù)指定元素的不同,分為兩種類(lèi)型:
如果同時(shí)指定了BundleName與AbilityName,則根據(jù)Ability的全稱(例如,“com.demoapp.FooAbility”)來(lái)直接啟動(dòng)應(yīng)用。
如果未同時(shí)指定BundleName和AbilityName,則根據(jù)Operation中的其他屬性來(lái)啟動(dòng)應(yīng)用。
之前測(cè)試過(guò)使用華為DevEco開(kāi)發(fā)智能電視應(yīng)用。前幾天華為發(fā)布了手機(jī)的測(cè)試版,不能免俗,抓緊嘗試一下。
手頭沒(méi)有華為手機(jī)測(cè)試系統(tǒng),現(xiàn)在試一下開(kāi)發(fā)環(huán)境跑模擬器感受一下。
以前DevEco里是沒(méi)有手機(jī)選項(xiàng)的,現(xiàn)在該選項(xiàng)可以看到了:
這里測(cè)試一下Business Card Ability(Java)開(kāi)發(fā)。
DevEco和Android Studio一樣基于開(kāi)源的Idea版本開(kāi)發(fā)的,其結(jié)構(gòu)與安卓開(kāi)發(fā)環(huán)境非常像,熟悉安卓的小伙伴應(yīng)該能很快上手。
入口程序是一個(gè)MyApplication,從AbilityPackage繼承。
它首先找到了連接的榮耀手機(jī),但這個(gè)手機(jī)不是鴻蒙系統(tǒng)。
編譯是成功了,但提示設(shè)備無(wú)法使用:
點(diǎn)擊Tools - HVD Manager
首先提示登陸華為賬號(hào),登陸后,選擇一個(gè)模擬器運(yùn)行:
啟動(dòng)以后長(zhǎng)這個(gè)樣:
點(diǎn)擊設(shè)置,先看看關(guān)于:
上面顯示大大的HarmonyOS。但感覺(jué)畫(huà)面很模糊,不知道模擬器到底是運(yùn)行在本地的,還是云端的。但DevEco上顯示是Remote Device字樣。
鴻蒙OS版本號(hào) 2.0.0 Developer Beta1。
再點(diǎn)運(yùn)行,在指定的模擬器上運(yùn)行程序。
不過(guò)仍然運(yùn)行失敗:
鴻蒙OS版本與平板是一致的,
程序終于跑起來(lái)了:
看起來(lái)安卓程序好像真能在鴻蒙直接運(yùn)行,安裝一個(gè)快手試試:
還真能看:
我真分不清這是安卓還是鴻蒙了 。
在基于鴻蒙SDK開(kāi)發(fā)完成應(yīng)用后,可以通過(guò) Build - Build Hap(s)/APP(s) 編譯后,在 項(xiàng)目根目錄/build/outputs/app/release/ 目錄下生成兩個(gè)文件: xxx_unsigned.app 和 xxx_signed.app。在某些情況下可能需要使用 xxx_unsigned.app 文件,然后使用同步的簽名文件對(duì)文件進(jìn)行簽名。
那么問(wèn)題來(lái)了,怎么對(duì)未簽名的文件進(jìn)行重新簽名呢?這個(gè)文件就是本文想要解決的問(wèn)題。
在 DevEco Studio 中有一個(gè) hapsigntoolv2.jar 。通過(guò)這個(gè) jar 包可以對(duì)應(yīng)用進(jìn)行重簽名。簽名腳本內(nèi)容如下:
將上面內(nèi)容寫(xiě)到一個(gè) signer.sh 文件中保持。通過(guò)下面指令賦給腳本文件可行的權(quán)限:
至此,一個(gè)簡(jiǎn)單的簽名工具已經(jīng)完成。
上面章節(jié)已經(jīng)完成一個(gè)簡(jiǎn)單的簽名工具 signer.sh。使用方式如下:
如果執(zhí)行成功,則會(huì)生成 xxx_signed.app 文件。
然后嘗試運(yùn)行一下試試吧。
根據(jù)華為公布的方舟編譯器資料,可以得知鴻蒙系統(tǒng)是用C、C++語(yǔ)言編寫(xiě)。
鴻蒙系統(tǒng)和方舟編譯器的思路是一樣:直接使用機(jī)器語(yǔ)言編寫(xiě)app,取消安卓系統(tǒng)的ART虛擬機(jī),直接編譯為二進(jìn)制機(jī)器碼;
這樣的好處是:不需要中轉(zhuǎn),執(zhí)行速度快;劣勢(shì)是:必須要有大量的靜態(tài)方案、內(nèi)存空間要求更高。
擴(kuò)展資料
系統(tǒng)簡(jiǎn)介
鴻蒙微內(nèi)核是基于微內(nèi)核的全場(chǎng)景分布式OS,可按需擴(kuò)展,實(shí)現(xiàn)更廣泛的系統(tǒng)安全,主要用于物聯(lián)網(wǎng),特點(diǎn)是低時(shí)延,甚至可到毫秒級(jí)乃至亞毫秒級(jí)。
鴻蒙OS實(shí)現(xiàn)模塊化耦合,對(duì)應(yīng)不同設(shè)備可彈性部署,鴻蒙OS有三層架構(gòu),第一層是內(nèi)核,第二層是基礎(chǔ)服務(wù),第三層是程序框架 。
可用于手機(jī)、平板、PC、汽車(chē)等各種不同的設(shè)備上。還可以隨時(shí)用在手機(jī)上,但暫時(shí)華為手機(jī)端依然優(yōu)先使用安卓、華為電腦端依然優(yōu)先使用windows和Linux。
參考資料來(lái)源:百度百科-華為鴻蒙系統(tǒng)
鴻蒙開(kāi)發(fā)者模式打開(kāi)的方法如下:
工具/原料:華為mate40、HarmonyOs2.0、本地設(shè)置。
1、進(jìn)去鴻蒙系統(tǒng)版手機(jī)設(shè)置,然后點(diǎn)擊關(guān)于手機(jī)。
2、進(jìn)去之后,連續(xù)點(diǎn)擊鴻蒙系統(tǒng)版本號(hào),開(kāi)啟開(kāi)發(fā)者模式。
3、進(jìn)去開(kāi)發(fā)者模式之后,點(diǎn)擊系統(tǒng)和更新。
4、然后點(diǎn)擊開(kāi)發(fā)者選項(xiàng)。
5、點(diǎn)擊開(kāi)啟開(kāi)發(fā)者選項(xiàng),就成功打開(kāi)鴻蒙系統(tǒng)開(kāi)發(fā)者選項(xiàng)了。
網(wǎng)站名稱:怎樣開(kāi)發(fā)鴻蒙app,鴻蒙系統(tǒng)開(kāi)發(fā)入門(mén)
網(wǎng)站地址:http://chinadenli.net/article6/dsiosig.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、網(wǎng)站收錄、網(wǎng)站設(shè)計(jì)、外貿(mào)網(wǎng)站建設(shè)、App設(shè)計(jì)、網(wǎng)站導(dǎo)航
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)