成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

HarmonyOS應用系統(tǒng)開發(fā)(二)——鴻蒙開發(fā)體系詳解及入門實例運行

marek / 3450人閱讀

摘要:本篇文章的計劃,先體系的介紹一下鴻蒙開發(fā)相關的體系內容,希望通過本篇內容構建對鴻蒙開發(fā)體系的了解,最后再來一個最簡單入門例子。剩下根據(jù)引導下一步同意等即可完成安裝。

? ? ? ? 本篇文章的計劃,先體系的介紹一下鴻蒙開發(fā)相關的體系內容,希望通過本篇內容構建對鴻蒙開發(fā)體系的了解,最后再來一個最簡單入門例子。既是自我的學習,也希望對你了解鴻蒙開發(fā)的全貌有幫助。

????????這樣安排而沒有直接寫一個Helloworld例子的原因,很多朋友剛開始學的時候直接上手helloworld例子,雖然感覺動手入門了,但又感覺好像還是不太了解。因此在開始之前先整體的了解一下鴻蒙開發(fā)相關的體系內容,做到能夠“窺全身、知全貌”而后再入門,這種方式我覺得對于構建學習體系和深入學習會有極大的好處。

? ? ? ? 再啰嗦一句,對于很多學習編程的朋友建議一定要注重這種全貌、原理的研究,不然你只會在框架大樓里砌墻,而不會設計大樓的全貌,那這樣你就真的只是一個會碼代碼的農民。

1、HarmonyOS開發(fā)概述

?1.1HarmonyOS開發(fā)概要

? ? ? ? 針對HarmonyOS開發(fā)按不同的角度劃分,可以有不同的分發(fā):

? ? ? ? 1、從宏觀大類上分為三類:1)通用開發(fā)(可安裝應用app,兼容安卓和鴻蒙)、2)原子化服務(鴻蒙自己特有的免安裝應用服務)、3)智能設備開發(fā)(智慧屏、穿戴設備,華為最新的手表已經(jīng)支持安裝應用了,可以說想象無限,未來可以當做微型手機)。

? ? ? ? 2、如果從開發(fā)語言上分:Java、JavaScript(支持傳統(tǒng)js和帶界面的低代碼量開發(fā))、eTS(華為自定義的一種聲明式語言,代碼簡練更符合開發(fā)習慣,華為自己宣傳更貼近自然語義,更高效、簡潔,跨平臺,粗看代碼非常簡練、易懂);

? ? ? ? 3、從開發(fā)內容上分:

????????1)Ablility框架:包含Ability(各種能力)、公共事件與通知(訂閱、發(fā)布、通知等消息)、后臺任務調度和管控(前臺、后臺、掛起等)、線程管理(創(chuàng)建、等待、回收)、線程間通信(比如下載完任務完成,通知其他線程應用)、剪切板。

? ? ? ? 而這其中最核心、最重要的,并會一直伴隨鴻蒙開發(fā)的要屬于:Ability。從字面看鴻蒙把各種設備的任何功能都抽象為一種能力Ability(能力,視頻能力、美顏能力、夜視能力,和上文的FA、PA相對應)。

? ? ? ? Ability本身又分為Page Ability(帶界面的相關能力)、Service Ability(服務能力,比如美顏功能)、Data Ability(數(shù)據(jù)能力,應用間、設備間數(shù)據(jù)共享);最后還包含一個Intent,它是對象之間傳遞信息的載體,當一個Ability導航/切換到另一個(比如外賣餓了嗎里面聯(lián)系商家,餓了嗎的商家展示Ability,跳轉到電話Ability)通過Intent實現(xiàn)——通過Intent可以指定啟動目標(這里就是啟動電話),并攜帶相關數(shù)據(jù)(這里就是商家的電話直接帶過去)。

? ? ? ? Ability可以說只要開發(fā)任何內容就必須用到,不得不關心(像線程、任務調度雖然重要,但不見得必須得用吧)。

? ? ? ? 2)UI(界面開發(fā)):提供JavaUI(粒度更細、更靈活)、ArkUI(方舟開發(fā)框架,支持兩種模式:基于JS擴展的類Web開發(fā)范式,基于TS(華為自己定義的開發(fā)語言模式,華為自己簡稱TS)擴展的聲明式開發(fā)范式;這里先簡單的理解成方舟開發(fā)框架提供兩種類似于Java Web開發(fā),但是采用JS和TS的開發(fā)方式;后續(xù)再詳細解釋)、多模輸入(鼠標、鍵盤、觸摸、語音等)。

? ? ? ? 3)多媒體:視頻、相機、圖像、音頻、媒體會話等 相關數(shù)據(jù)的管理

? ? ? ? 4)安全:權限管理(權限定義、申請、控制)、生物特征識別(人臉、指紋等識別)

? ? ? ? 5)AI:文字、圖片、文檔、語音等識別、轉換,二維碼生成等;

? ? ? ? 6)網(wǎng)絡與連接:NFC(查詢是否支持、狀態(tài)、卡模擬、消息通知)、WLAN、網(wǎng)絡管理、電話服務等

????????7)數(shù)據(jù)管理:關系型數(shù)據(jù)庫、對象映射數(shù)據(jù)庫、分布式數(shù)據(jù)和文件服務(創(chuàng)建、打開、關閉、增刪改、數(shù)據(jù)同步)、數(shù)據(jù)存儲、融合搜索

? ? ? ? 8)設備管理:穿戴設備、智慧屏、傳感器(環(huán)境、運動等)、位置、設備標識等;

? ? ? ? 9)原子化服務:服務特點(免安裝、快捷直達、輕量、夸設備、獨立)、服務發(fā)現(xiàn)、展示、分享、流轉;

? ? ? ? 4、從專題的角度劃分:服務卡片(一種FA頁面,直接展示應用核心內容,并支持快速進入應用)、流轉(夸設備流轉、多端協(xié)同)、華為分享(分享、接收、傳輸)、平行視界(雙視窗支持等)

? ?1.2 HarmonyOS app組織結構??

? ? ? ? HarmonyOS應用分為兩大類:安裝的App和免安裝原子化服務應用。

? ? ? ? 用戶應用程序以App Pack形式發(fā)布,它包含一個或者多個HAP(Harmony Ability Package)以及描述每個HAP屬性的pack.info組成。HAP是上文提到的Ability的部署包,鴻蒙的應用是圍繞一個個Ability(能力/功能)組件展開的。一個HAP由代碼、資源、第三方庫及配置組件組成。

?HAP又分為兩種類型:entry和feature。

? ? ? ? entry:是應用的主模塊,里面可以包含一個或者多個entry(它是一種HAP)類型的HAP,來支持不同規(guī)格的設備(如屏幕規(guī)格、API版本等)。

? ? ? ? feature:應用動態(tài)特性模塊(它也是一種HAP,相比于entry表達的固定的屏幕尺寸,feature代表的是動態(tài)調度特性),一個APP可以包含N(N>=0)個feature的HAP。

? ? ? ? 只有包含Ability的HAP才能獨立運行。

????????此外還有一種HAR(HarmonyOS Ability Resources)可以構建應用所需的所有內容,但是HAR不能獨立安裝,只能作為應用模塊的依賴,而被引用。

? ?1.3其他內容

? ? ? ? 1、開發(fā)工具:華為提供IntelliJ IDEA Community開源版本打造的HUAWEI DevEco Studio,與HarmonyOS的各種開發(fā)、調試做了深度融合,提供很多方便、好用的功能;另外提供DevEco Service提供安全測試、云測試、遠程真機測試;真的試考慮很周全,免去項目開發(fā)完畢再掃描漏洞、再做壓力并發(fā)測試,最良心的還提供遠程真機測試。。。

? ? ? ? 2、測試:DevEco提供性能、安全、兼容、穩(wěn)定性、功耗、流轉等測試,并提供單元測試框架、分布式UI測試框架、綜合評分等。

? ? ? ? 3、穿戴設備:1)智能穿戴設備指搭載HarmonyOS的手表,目前只有HUAWEI Watch 3,可以去手表商城看下,就大概知道支持哪些功能和應用場景(支持多種場景互動、應用安裝);?2)輕量智能穿戴設備,目前支持HUAWEI WATCH GT 2 Pro(消息通知、與手機內容互動,自身非鴻蒙因此應用很弱)。

?????????穿戴設備多帶帶列出來,二者(智能、輕量智能到底有啥區(qū)別區(qū)別困惑了我好久)的核心區(qū)別,一個是HarmonyOS,一個非鴻蒙,在最新的WATCH 3中已經(jīng)支持高德地圖、喜馬拉雅、新浪新聞、騰訊體育、航旅縱橫等;在手表上可以安裝應用真的讓人很心動,未來鴻蒙才是趨勢。下圖是華為Watch 3鴻蒙手表中各種app,看得直流口水,真香...

? ? ? ? 4、OpenHarmony與HarmonyOS的關系

? ? ? ? 在這里講一下二者的區(qū)別。

????????OpenHarmony是鴻蒙操作系統(tǒng)的開源版本,免費開源,而Harmony OS本身是閉源的;二者的關系:OpenHarmony相當于安卓,Harmony OS相當于小米的UI、華為的EMUI之間的關系;如果你對Linux比較了解,OpenHarmony相當于Linux的內核,HarmonyOS相當于紅帽、Ubuntu等發(fā)行版。任何的廠家都可以用OpenHarmony,但是其他手機廠商應該是無法直接使用Harmony OS的;至少因為前者開源誰都可以無條件使用,后者是華為的需要和華為簽訂某些協(xié)議才有可能使用。

? ? ? ? OpenHarmony是基礎,我們前面講到的底層大部分特性是OpenHarmony的特性,Harmony OS在OpenHarmony的基礎上開發(fā)而來;OpenHarmony基本上沒法直接使用(即使提供的界面也是最簡陋、最基礎的東西),只有在其基礎上開發(fā)定制才能得到可以使用的HarmonyOS。OpenHarmony雖然支持萬物互聯(lián)(各種類型的設備,冰箱、熱水器、洗衣機、豆?jié){機等),但是華為沒有那么多的精力(以冰箱為例,華為對使用冰箱場景既不專業(yè),也可避免與冰箱廠商競爭)。華為在OpenHarmony基礎上開發(fā)的HarmonyOS只涵蓋自己的擅長的核心領域:手機、電視、穿戴設備等,而其他領域的萬物協(xié)同、智慧應用就由各自廠家來開發(fā);比如美的基于OpenHarmony打造的美的物聯(lián)網(wǎng)操作系統(tǒng)。這樣就分工明確、彼此互補——共同構建一個真正萬物互聯(lián)的生態(tài)。感興趣的同學可以思考一下美的沒什么要做?可以簡單的說讓美的的設備使用更簡單卻更聰明。

? ? ? ? 因為美的物聯(lián)網(wǎng)操作系統(tǒng)和HarmonyOS同源,所以數(shù)據(jù)協(xié)同、系統(tǒng)同步、互聯(lián)等天生的容易;這才是鴻蒙最厲害,最有未來的地方。

?? ? ? ?以上內容是粗略對HarmonyOS開發(fā)內容比較重要部分的梳理,難免有理解不準和錯誤的地方;接下來就進入helloworld例子。

2、開發(fā)前準備(環(huán)境配置)

2.1例子概述

? ? ? ? 1、HarmonyOS支持多種開發(fā)模式和語言,具體包括eTS、Java、JS(支持傳統(tǒng)JS代碼和低代碼量代碼),官方提供了4個例子,這里就以JS為例,只有能跑起來入了門,看看都大同小異;

? ? ? ? 2、最好有Java、JS、移動端其中之一的開發(fā)基礎,如果沒有建議從JS開始練習吧,應該最容易上手。

? ? ? ? 3、官網(wǎng)的HelloWold例子是A頁面點擊跳轉到B頁面;同時可以參考官網(wǎng)的HelloWorld例子 :???HarmonyOS開發(fā)官方入門HelloWorld例子

2.2環(huán)境準備

2.2.1 注冊成為個人/團隊開發(fā)者

? ? ? 在開發(fā)、創(chuàng)建、發(fā)布應用前,需要去華為開發(fā)者聯(lián)盟官網(wǎng)注冊成為開發(fā)者,可以選擇個人開發(fā)者和企業(yè)開發(fā)者,權益有些差別;注冊以后都必須實名認證,按著要求填即可,具體可以參考官方文檔:??華為開發(fā)者注冊和實名認證

2.2.2 Devco Studio 開發(fā)工具下載及安裝

? ? ? ? 1、去官網(wǎng)下載開發(fā)工具DevEco Studio 3,下載地址:? ? ? ? ? ? ?華為操作系統(tǒng)DevEco Studio和SDK下載與升級

? ? ? ? 2、得到一個exe文件,啟動下一步、下一步自動安裝

? ? ? ? 3、配置開發(fā)環(huán)境?

? ? ? ? ?1)設置npm registry:第一次啟動進入配置向導頁面,DevEco Studio已經(jīng)內置對應倉地址,這里點擊下一步即可;

? ? ? ? ?2)DevEco Studio向導指引開發(fā)者下載SDK,默認下載OpenHarmony SDK。剩下根據(jù)引導下一步、同意等即可完成安裝。?

????????但是默認的OpenHarmony SDK并不是我們需要的SDK,我們需要的是Harmony SDK。

????????在DevEco Studio的歡迎界面,點擊歡迎頁中的Configure(六邊形的圖標) > Settings?> SDK Manager > HarmonyOS Legacy SDK,然后點擊Edit設置HarmonyOS SDK存儲路徑。

? ? ? ? ?注意:默認路徑應該和上一步的OpenHarmony一樣,必須要更改一下,不然OpenHarmony就會被刪除。另外SDK以及其他的一些內容較大,不建議方C盤。

? ? ? ? ?根據(jù)自己勾選的API版本和語言安裝完成界面

? ? ? ? ?同樣如果需要更新SDK、其他版本等只需要這里勾選,點擊Apply即可實現(xiàn)。

?????????在DevEco Studio打開工程的情況下,點擊Files > Settings > SDK Manager > HarmonyOS Legacy SDK進入當前界面。

? ? ? ? 3)配置HDC工具環(huán)境變量

????????HDC是為開發(fā)者提供HarmonyOS應用的調試工具,為方便使用HDC工具,請為HDC工具的端口號設置環(huán)境變量。

????????Windows環(huán)境變量設置方法:



????????在我的電腦 > 屬性 > 高級系統(tǒng)設置 > 高級 > 環(huán)境變量中,添加HDC端口變量。變量名為:HDC_SERVER_PORT,變量值設置為7035。

? ? ? ? 至此全部準備工作完畢,接下來終于開始新建Helloworld項目啦。

2.3創(chuàng)建并運行一個默認的程序

? ? ? ? 1、創(chuàng)建一個空的工程Create Project,這里選擇JS、Phone,然后Finish。

? ? ? ? 此時得到一個點擊可以直接運行的空工程?,可以打印你好的頁面,接下來先利用模擬器運行一下看下效果再改造例子。

? ? ? ? ?2、添加虛擬模擬器

? ? ? ? 華為的模擬器分本地虛擬模擬器和遠程真機運行(特別良心)。

? ? ? ? 1)、添加本地虛擬機模擬器

? ? ? ? A、在DevEco Studio菜單欄,點擊進入File > Settings?> DevEco Labs > Emulator頁簽,勾選“Enable Local Emulator”,點擊OK。

? ? ? ? ?B、點擊Files > Settings > SDK Manager > HarmonyOS Legacy SDK頁簽,勾選并下載Platforms下的System-image和Tools下的EmulatorX86資源。

? ? ? ? C、創(chuàng)建本地模擬器

????????點擊菜單欄的Tools > Device Manager,在Local Emulator頁簽中,點擊右下角的New Emulator按鈕,創(chuàng)建一個本地模擬器。 還可以在Next中修改、配置創(chuàng)建虛擬機的相關信息如CPU、DPI等。

?D、啟動本地虛擬機,會得到一個模擬的黑框手機(就不截圖了);至此等著運行程序了。

2)、調用遠程真機

? ? ? ? 在虛擬機配置的邊上有個“Remote Emulator”,就是運行真機。需要登錄注冊的華為開發(fā)者賬號就可以使用了;為了節(jié)約資源,每次真機使用時間1小時;超過1小時斷開以后就可以繼續(xù)使用了。

? ?3、運行創(chuàng)建的默認程序

? ? ? ? 啟動本地或者/遠程真機,選擇entry即可運行程序;這里我實例截圖的是本地虛擬機;可以本地、遠程都試試;遠程更方便、更容易。

?2.4通過傳統(tǒng)JS代碼自定義一個HelloWorld程序

? ? ? ? 1、修改index頁面(創(chuàng)建項目時已經(jīng)有了,這樣是首頁)

????????在Project窗口,選擇“entry > src > main?>?js?>?default?>?pages > index”,修改代碼:

Hello World
/* index.css 內容*/.container { flex-direction: column; /* 設置容器內的項目縱向排列 */ justify-content: center; /* 設置項目位于容器主軸的中心 */ align-items: center; /* 項目在交叉軸居中 */ width:100%; height:100%;}/* 對class="text"的組件設置樣式 */.text{ font-size: 42px;}/* 對class="button"的組件設置樣式 */.button { width: 240px; height: 60px; background-color: #007dff; font-size: 30px; text-color: white; margin-top: 20px;}// index.js內容import router from "@system.router";export default { launch() { router.push ({ uri:"pages/details/details", // 指定要跳轉的頁面 }) }}

? ? ?2、創(chuàng)建第二個跳轉頁面

? ?在Project窗口,打開“entry > src > main?>?js?>?default”,右鍵點擊“pages”文件夾,選擇“New?>?JS Page”,命名為“detail”,會創(chuàng)建一個detail文件夾,并且下面有三個文件:detail.html、detail.js、detail.css,具體目錄結構如下:

修改detail中代碼
Hi there
/* detail.css */.container { flex-direction: column; justify-content: center; align-items: center; width:100%; height:100%;}.text { font-size: 42px; text-align: center;}

?3、利用真機或者本地模擬運行程序,示意效果

?????????寫在最后,因為是初次接觸鴻蒙,以上的內容基本上是對HarmonyOS官方開發(fā)文檔的整理,很多內容直接參考甚至照抄了鴻蒙官方的文檔,剛開始不得不如此,但是也加入了一些自己的思路和思考!整篇寫下來,感覺把最最基礎的鴻蒙理順了,因為看即使是照抄,也要思考如何組成一篇比較通順、完整、易懂的文章!思考、動手才是真正的學習過程,供大家參考!

文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://m.hztianpu.com/yun/124453.html

相關文章

  • 鴻蒙學習筆記之創(chuàng)建項目

    摘要:華為鴻蒙智能手機操作系統(tǒng)帶來簡潔,流暢,連續(xù),安全可靠的全場景交互體驗。 1.準備工作 1.注冊華為開發(fā)者賬號 1.進入harmonyOS官網(wǎng) HarmonyOS官網(wǎng) - 華為HarmonyOS應用設備開發(fā)者生態(tài)_智能終端操作系統(tǒng)華為HUAWEI鴻蒙OS是新一代的智能終端操作系統(tǒng);鴻蒙Har...

    tylin 評論0 收藏0
  • 鴻蒙學習筆記之初識鴻蒙

    摘要:鴻蒙系統(tǒng)鴻蒙系統(tǒng)中的方舟編譯解決了這個問題。鴻蒙并不是安卓的套殼。鴻蒙鴻蒙分布式軟總線以為核心的應用開框架連接設備的對比安卓系統(tǒng)發(fā)現(xiàn)配對鏈接組合驗證鴻蒙系統(tǒng)從使用的角度來講,不管多少設備連在一起,鴻蒙都能像使用一臺設備那樣簡單。 1.什么是鴻蒙? 1.移動通訊發(fā)展史 ? 1.1G時代(語音...

    liujs 評論0 收藏0
  • 震驚了!鴻蒙又多了一種開發(fā)方式Ets,讓更多的人趕上紅利!

    摘要:國慶節(jié)前就看到鴻蒙的開發(fā)工具有更新,但是沒有及時的做更新。國慶節(jié)后就趕緊了做了更新更新后發(fā)現(xiàn)多了另一種,,并且還多了一種開發(fā)鴻蒙的方式。了解和蘋果開發(fā)的,估計會很熟悉,這種開發(fā)方式是聲明式開發(fā)。 國慶節(jié)前就看到鴻蒙的開發(fā)工具 deveco有更新,但是沒有及時的做更新。 國慶節(jié)后就趕緊了做了更...

    tangr206 評論0 收藏0
  • HarmonyOS 自定義組件之分頁功能組件封裝實例

    摘要:本次實戰(zhàn)課題是自定義組件之分頁功能實例目錄一分頁組件效果展示二分頁組件設計流程三自定義組件封裝必備知識點,何謂自定義組件組件是對數(shù)據(jù)和方法的簡單封裝。個人對組件的通俗理解是對單獨的某個通用功能點或顯示模塊的封裝。 本次實戰(zhàn)課題是--自定義組件之分頁功能實例@toc一、分頁組件效果展示::: hljs-cente...

    番茄西紅柿 評論0 收藏2637

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<