HarmonyOS第一課 :從Hello World開始認(rèn)識 DevEco Studio?。?/h2>

HarmonyOS第一課 :


? ??????????????????????????從Hello World開始認(rèn)識 DevEco Studio!

下載與安裝DevEco Studio

在HarmonyOS應(yīng)用開發(fā)學(xué)習(xí)之前,需要進行一些準(zhǔn)備工作,首先需要完成開發(fā)工具DevEco Studio的下載與安裝以及環(huán)境配置。

進入DevEco Studio下載官網(wǎng),單擊“立即下載”進入下載頁面。

DevEco Studio提供了Windows版本和Mac版本選擇,可以根據(jù)操作系統(tǒng)選擇對應(yīng)的版本進行下載。

這里以Windows為例進行安裝。

下載完成后,雙擊下載的“deveco-studio-xxxx.exe”,進入DevEco Studio安裝向?qū)?,在如下界面選擇安裝路徑,默認(rèn)安裝于“C:\Program Files”下,也可以單擊“Browse...”指定其他安裝路徑,然后單擊“Next”。

如下安裝選項界面勾選DevEco Studio后,單擊“Next”,直至安裝完成。

安裝完成后,單擊“Finish”完成安裝。

配置環(huán)境

雙擊已安裝的DevEco Studio快捷方式進入配置頁面,IDE會進入配置向?qū)Вx擇Agree,同意相應(yīng)的條款,進入配置頁。

進入DevEco Studio配置頁面,首先需要進行基礎(chǔ)配置,包括Node.js與Ohpm的安裝路徑設(shè)置,選擇從華為鏡像下載至合適的路徑。

單擊'Next'進入SDK配置,設(shè)置為合適的路徑,

點擊'Next'后會顯示'SDK License Agreement',閱讀相關(guān)協(xié)議后,勾選'Accept'。

單擊‘Next’進入配置預(yù)覽頁,在這里進行配置項的確認(rèn)。

確認(rèn)完成后,單擊'Next',進入下一步。

等待配置自動下載完成,完成后,單擊'Finish',IDE會進入歡迎頁,我們也就成功配置好了開發(fā)環(huán)境。

準(zhǔn)備工作完成后,接下來將進入DevEco Studio進行工程創(chuàng)建和運行。

創(chuàng)建項目

如果你是首次打開DevEco Studio,那么首先會進入歡迎頁。

在歡迎頁中單擊Create Project,進入項目創(chuàng)建頁面。

選擇‘Application’,然后選擇‘Empty Ability’,單擊‘Next’進入工程配置頁。


配置頁中,詳細(xì)信息如下:

Project name是開發(fā)者可以自行設(shè)置的項目名稱,這里根據(jù)自己選擇修改為自己項目名稱。

Bundle name是包名稱,默認(rèn)情況下應(yīng)用ID也會使用該名稱,應(yīng)用發(fā)布時對應(yīng)的ID需要保持一致。

Save location為工程保存路徑,建議用戶自行設(shè)置相應(yīng)位置。

Compile SDK是編譯的API版本,這里默認(rèn)選擇API9。

Model選擇Stage模型,其他保持默認(rèn)即可。

然后單擊“Finish”完成工程創(chuàng)建,等待工程同步完成。

認(rèn)識DevEco Studio界面

進入IDE后,我們首先了解一下基礎(chǔ)的界面。整個IDE的界面大致上可以分為四個部分,分別是代碼編輯區(qū)、通知欄、工程目錄區(qū)以及預(yù)覽區(qū)。


代碼編輯區(qū)

中間的是代碼編輯區(qū),你可以在這里修改你的代碼,以及切換顯示的文件。通過按住Ctrl加鼠標(biāo)滾輪,可以實現(xiàn)界面的放大與縮小。

通知欄

在編輯器底部有一行工具欄,主要介紹常用信息欄,其中Run是項目運行時的信息欄,Problems是當(dāng)前工程錯誤與提醒信息欄,Terminal是命令行終端,在這里執(zhí)行命令行操作,PreviewerLog是預(yù)覽器日志輸出欄,Log是模擬器和真機運行時的日志輸出欄。在后續(xù)使用中會陸續(xù)接觸。

工程目錄區(qū)


左側(cè)為工程目錄區(qū),后續(xù)章節(jié)會詳細(xì)介紹。

預(yù)覽區(qū)

單擊右上角Previewer,可以預(yù)覽相應(yīng)的文件UI展示效果。

預(yù)覽器提供了一些基本功能,包括旋轉(zhuǎn)屏幕,切換顯示設(shè)備及多設(shè)備預(yù)覽等。單擊旋轉(zhuǎn)按鈕,可以切換豎屏和橫屏顯示的效果。

也可以單擊如下列表按鈕,切換顯示的設(shè)備類型。彈出框內(nèi)會顯示Available Profiles,即可用的設(shè)備類型。

如單擊Foldable切換設(shè)備,也可以單擊旋轉(zhuǎn)按鈕切換Foldable的橫豎屏顯示模式。

打開Muti-profile preview開關(guān),可以實現(xiàn)多個尺寸設(shè)備的實時預(yù)覽。

單擊預(yù)覽器右上角組件預(yù)覽按鈕,可以進入組件預(yù)覽界面。

組件預(yù)覽模式可以預(yù)覽當(dāng)前組件對應(yīng)的代碼塊。

點擊相應(yīng)組件,代碼文件中會框選對應(yīng)的組件代碼部分,下方則對應(yīng)當(dāng)前組件的基本屬性。

運行Hello World

IDE提供了本地模擬器供開發(fā)者使用,我們首先需要下載安裝本地模擬器,然后進行運行工程。

單擊頂部工具欄Tools>Device Manager。


選擇Local Emulator,設(shè)置合適的Local Emulator Location存儲地址,然后單擊’+New Emulator’。

選擇Huawei_Phone手機模擬器,單擊'Next',進入模擬器系統(tǒng)下載頁。

選擇下載api9的系統(tǒng)鏡像,然后單擊'Next’,等待下載完成。

下載完成后,進行創(chuàng)建相應(yīng)的手機模擬器,單擊Finish完成創(chuàng)建。

下載完成后,在Local Emulator頁面中會出現(xiàn)創(chuàng)建的手機模擬器,點擊Actions按鈕,就能夠啟動模擬器。

模擬器啟動后,點擊上方啟動按鈕,將Hello World工程運行到模擬器上。

IDE構(gòu)建完成后,即可在模擬器上看到運行效果,我們也就完成了Hello World工程在模擬器上的運行。

了解基本工程目錄

工程級目錄


工程的目錄結(jié)構(gòu)如下。

其中詳細(xì)如下:

AppScope中存放應(yīng)用全局所需要的資源文件。

entry是應(yīng)用的主模塊,存放HarmonyOS應(yīng)用的代碼、資源等。

oh_modules是工程的依賴包,存放工程依賴的源文件。

build-profile.json5是工程級配置信息,包括簽名、產(chǎn)品配置等。

hvigorfile.ts是工程級編譯構(gòu)建任務(wù)腳本,hvigor是基于任務(wù)管理機制實現(xiàn)的一款全新的自動化構(gòu)建工具,主要提供任務(wù)注冊編排,工程模型管理、配置管理等核心能力。

oh-package.json5是工程級依賴配置文件,用于記錄引入包的配置信息。

在AppScope,其中有resources文件夾和配置文件app.json5。AppScope>resources>base中包含element和media兩個文件夾,

其中element文件夾主要存放公共的字符串、布局文件等資源。

media存放全局公共的多媒體資源文件。

模塊級目錄

entry>src目錄中主要包含總的main文件夾,單元測試目錄ohosTest,以及模塊級的配置文件。

main文件夾中,ets文件夾用于存放ets代碼,resources文件存放模塊內(nèi)的多媒體及布局文件等,module.json5文件為模塊的配置文件。

ohosTest是單元測試目錄。

build-profile.json5是模塊級配置信息,包括編譯構(gòu)建配置項。

hvigorfile.ts文件是模塊級構(gòu)建腳本。

oh-package.json5是模塊級依賴配置信息文件。

進入src>main>ets目錄中,其分為entryability、pages兩個文件夾。

entryability存放ability文件,用于當(dāng)前ability應(yīng)用邏輯和生命周期管理。

pages存放UI界面相關(guān)代碼文件,初始會生成一個Index頁面。

resources目錄下存放模塊公共的多媒體、字符串及布局文件等資源,分別存放在element、media文件夾中。

app.json5

AppScope>app.json5是應(yīng)用的全局的配置文件,用于存放應(yīng)用公共的配置信息。

其中配置信息如下:


bundleName是包名。

vendor是應(yīng)用程序供應(yīng)商。

versionCode是用于區(qū)分應(yīng)用版本。

versionName是版本號。

icon對應(yīng)于應(yīng)用的顯示圖標(biāo)。

label是應(yīng)用名。

module.json5

entry>src>main>module.json5是模塊的配置文件,包含當(dāng)前模塊的配置信息。


其中module對應(yīng)的是模塊的配置信息,一個模塊對應(yīng)一個打包后的hap包,hap包全稱是HarmonyOS Ability Package,其中包含了ability、第三方庫、資源和配置文件。其具體屬性及其描述可以參照下表1。

表1?module.json5默認(rèn)配置屬性及描述

屬性描述

name該標(biāo)簽標(biāo)識當(dāng)前module的名字,module打包成hap后,表示hap的名稱,標(biāo)簽值采用字符串表示(最大長度31個字節(jié)),該名稱在整個應(yīng)用要唯一。

type表示模塊的類型,類型有三種,分別是entry、feature和har。

srcEntry當(dāng)前模塊的入口文件路徑。

description當(dāng)前模塊的描述信息。

mainElement該標(biāo)簽標(biāo)識hap的入口ability名稱或者extension名稱。只有配置為mainElement的ability或者extension才允許在服務(wù)中心露出。

deviceTypes該標(biāo)簽標(biāo)識hap可以運行在哪類設(shè)備上,標(biāo)簽值采用字符串?dāng)?shù)組的表示。

deliveryWithInstall標(biāo)識當(dāng)前Module是否在用戶主動安裝的時候安裝,表示該Module對應(yīng)的HAP是否跟隨應(yīng)用一起安裝。- true:主動安裝時安裝。- false:主動安裝時不安裝。

installationFree標(biāo)識當(dāng)前Module是否支持免安裝特性。- true:表示支持免安裝特性,且符合免安裝約束。- false:表示不支持免安裝特性。

pages對應(yīng)的是main_pages.json文件,用于配置ability中用到的page信息。

abilities是一個數(shù)組,存放當(dāng)前模塊中所有的ability元能力的配置信息,其中可以有多個ability。

對于abilities中每一個ability的屬性項,其描述信息如下表2。

表2?abilities中對象的默認(rèn)配置屬性及描述

屬性描述

name該標(biāo)簽標(biāo)識當(dāng)前ability的邏輯名,該名稱在整個應(yīng)用要唯一,標(biāo)簽值采用字符串表示(最大長度127個字節(jié))。

srcEntryability的入口代碼路徑。

descriptionability的描述信息。

iconability的圖標(biāo)。該標(biāo)簽標(biāo)識ability圖標(biāo),標(biāo)簽值為資源文件的索引。該標(biāo)簽可缺省,缺省值為空。如果ability被配置為MainElement,該標(biāo)簽必須配置。

labelability的標(biāo)簽名。

startWindowIcon啟動頁面的圖標(biāo)。

startWindowBackground啟動頁面的背景色。

exported? ? ?ability是否可以被其他應(yīng)用程序調(diào)用,true表示可以被其它應(yīng)用調(diào)用, false表示不可以被其它應(yīng)用調(diào)用。

skills標(biāo)識能夠接收的意圖的action值的集合,取值通常為系統(tǒng)預(yù)定義的action值,也允許自定義。

entities標(biāo)識能夠接收的Want的Action值的集合,取值通常為系統(tǒng)預(yù)定義的action值,也允許自定義。

actions標(biāo)識能夠接收Want的Entity值的集合。

main_pages.json


src/main/resources/base/profile/main_pages.json文件保存的是頁面page的路徑配置信息,所有需要進行路由跳轉(zhuǎn)的page頁面都要在這里進行配置。

參考鏈接

DevEco Studio下載與安裝:DevEco Studio下載與安裝

配置開發(fā)環(huán)境:配置開發(fā)環(huán)境

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容